update(app): refactor commands

This commit is contained in:
Aleksandr Tcitlionok
2024-12-11 12:56:18 +00:00
parent 24e09330ea
commit b031148f61
7 changed files with 212 additions and 111 deletions

View File

@@ -1,33 +1,31 @@
import click
import requests
BASE_URL = "http://localhost:8000/k8s" # Backend URL for Kubernetes API
@click.group()
def kubernetes_nodes():
@click.pass_context
def kubernetes_nodes(ctx):
"""Commands for managing Kubernetes Nodes."""
pass
@kubernetes_nodes.command("list")
def list_command():
handle_command("list")
@kubernetes_nodes.command("think")
def think_command():
handle_command("think")
def handle_command(action):
"""Handle commands related to Kubernetes nodes."""
if action == "list":
list_kubernetes_nodes()
elif action == "analyze":
analyze_kubernetes_cluster()
def list_kubernetes_nodes():
@click.pass_context
def list_command(ctx):
"""List all Kubernetes nodes."""
base_url = ctx.obj["BASE_URL"]
list_kubernetes_nodes(base_url)
@kubernetes_nodes.command("analyze")
@click.pass_context
def analyze_command(ctx):
"""Request an AI analysis of the Kubernetes cluster."""
base_url = ctx.obj["BASE_URL"]
analyze_kubernetes_cluster(base_url)
def list_kubernetes_nodes(base_url):
"""List all Kubernetes nodes."""
k8s_url = f"{base_url}/k8s/data"
try:
response = requests.get(f"{BASE_URL}/data")
response = requests.get(k8s_url)
if response.status_code == 200:
nodes = response.json().get("nodes", [])
click.echo("\n📦 Kubernetes Nodes:")
@@ -43,10 +41,11 @@ def list_kubernetes_nodes():
except requests.RequestException as e:
click.echo(f"Error: {e}")
def analyze_kubernetes_cluster():
def analyze_kubernetes_cluster(base_url):
"""Request an AI analysis of the Kubernetes cluster."""
analyze_url = f"{base_url}/think/k8s"
try:
response = requests.get(f"{BASE_URL}/think/k8s")
response = requests.get(analyze_url)
if response.status_code == 200:
summary = response.json().get("summary", "No analysis provided.")
click.echo("\n🤖 AI Analysis of Kubernetes Cluster:")