update(app): refactor commands
This commit is contained in:
22
cli/main.py
22
cli/main.py
@@ -1,3 +1,5 @@
|
||||
import os
|
||||
import configparser
|
||||
import click
|
||||
from .commands.metal import metal_nodes
|
||||
from .commands.vm import virtual_machines
|
||||
@@ -5,13 +7,29 @@ from .commands.k8s import kubernetes_nodes
|
||||
from .commands.export import export_data
|
||||
from .visual import visual_dashboard
|
||||
|
||||
# Default configuration file path
|
||||
CONFIG_FILE_PATH = os.path.expanduser("~/.config/metalcheck.conf")
|
||||
|
||||
# Load configuration
|
||||
def load_config():
|
||||
config = configparser.ConfigParser()
|
||||
if os.path.exists(CONFIG_FILE_PATH):
|
||||
config.read(CONFIG_FILE_PATH)
|
||||
return config
|
||||
|
||||
@click.group()
|
||||
def cli():
|
||||
@click.option("--base-url", help="Set the backend base URL.")
|
||||
@click.pass_context
|
||||
def cli(ctx, base_url):
|
||||
"""
|
||||
Metal Check CLI: A command-line interface for managing and monitoring Metal Check resources.
|
||||
"""
|
||||
pass
|
||||
config = load_config()
|
||||
|
||||
# Default backend URL
|
||||
default_base_url = config.get("DEFAULT", "base_url", fallback="http://localhost:8000")
|
||||
ctx.ensure_object(dict)
|
||||
ctx.obj["BASE_URL"] = base_url or default_base_url
|
||||
|
||||
# Register commands
|
||||
cli.add_command(metal_nodes, name="metal")
|
||||
|
||||
Reference in New Issue
Block a user