make all same-module imports relative, the rest absolute
This makes sorting more consitent.
This commit is contained in:
@@ -5,9 +5,9 @@ from pathlib import Path
|
|||||||
from types import ModuleType
|
from types import ModuleType
|
||||||
|
|
||||||
# These imports are unused, but necessary for @API.register to run once.
|
# These imports are unused, but necessary for @API.register to run once.
|
||||||
from clan_cli.api import admin, directory, disk, mdns_discovery, modules
|
from .api import admin, directory, disk, mdns_discovery, modules
|
||||||
from clan_cli.arg_actions import AppendOptionAction
|
from .arg_actions import AppendOptionAction
|
||||||
from clan_cli.clan import show, update
|
from .clan import show, update
|
||||||
|
|
||||||
# API endpoints that are not used in the cli.
|
# API endpoints that are not used in the cli.
|
||||||
__all__ = ["directory", "mdns_discovery", "modules", "update", "disk", "admin"]
|
__all__ = ["directory", "mdns_discovery", "modules", "update", "disk", "admin"]
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ API.register(open_file)
|
|||||||
def to_json_schema(self) -> dict[str, Any]:
|
def to_json_schema(self) -> dict[str, Any]:
|
||||||
from typing import get_type_hints
|
from typing import get_type_hints
|
||||||
|
|
||||||
from clan_cli.api.util import type_to_dict
|
from .util import type_to_dict
|
||||||
|
|
||||||
api_schema: dict[str, Any] = {
|
api_schema: dict[str, Any] = {
|
||||||
"$comment": "An object containing API methods. ",
|
"$comment": "An object containing API methods. ",
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
from clan_cli.api import API
|
|
||||||
from clan_cli.inventory import (
|
from clan_cli.inventory import (
|
||||||
AdminConfig,
|
AdminConfig,
|
||||||
ServiceAdmin,
|
ServiceAdmin,
|
||||||
@@ -9,6 +8,8 @@ from clan_cli.inventory import (
|
|||||||
save_inventory,
|
save_inventory,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from . import API
|
||||||
|
|
||||||
|
|
||||||
@API.register
|
@API.register
|
||||||
def get_admin_service(base_url: str) -> ServiceAdmin | None:
|
def get_admin_service(base_url: str) -> ServiceAdmin | None:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from clan_cli.api import API
|
from . import API
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser(description="Debug the API.")
|
parser = argparse.ArgumentParser(description="Debug the API.")
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
from clan_cli.api import API
|
|
||||||
from clan_cli.inventory import (
|
from clan_cli.inventory import (
|
||||||
ServiceMeta,
|
ServiceMeta,
|
||||||
ServiceSingleDisk,
|
ServiceSingleDisk,
|
||||||
@@ -10,6 +9,8 @@ from clan_cli.inventory import (
|
|||||||
save_inventory,
|
save_inventory,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from . import API
|
||||||
|
|
||||||
|
|
||||||
def get_instance_name(machine_name: str) -> str:
|
def get_instance_name(machine_name: str) -> str:
|
||||||
return f"{machine_name}-single-disk"
|
return f"{machine_name}-single-disk"
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ import argparse
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from ..completions import (
|
from clan_cli.completions import (
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_backup_providers_for_machine,
|
complete_backup_providers_for_machine,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ import json
|
|||||||
import subprocess
|
import subprocess
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
|
||||||
from ..completions import (
|
from clan_cli.completions import (
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_backup_providers_for_machine,
|
complete_backup_providers_for_machine,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ import argparse
|
|||||||
import json
|
import json
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from ..completions import (
|
from clan_cli.completions import (
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_backup_providers_for_machine,
|
complete_backup_providers_for_machine,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
|
|
||||||
def restore_service(machine: Machine, name: str, provider: str, service: str) -> None:
|
def restore_service(machine: Machine, name: str, provider: str, service: str) -> None:
|
||||||
|
|||||||
@@ -5,12 +5,11 @@ from dataclasses import dataclass
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from clan_cli.api import API
|
from clan_cli.api import API
|
||||||
|
from clan_cli.cmd import CmdOut, run
|
||||||
|
from clan_cli.dirs import clan_templates
|
||||||
|
from clan_cli.errors import ClanError
|
||||||
from clan_cli.inventory import Inventory, init_inventory
|
from clan_cli.inventory import Inventory, init_inventory
|
||||||
|
from clan_cli.nix import nix_command, nix_shell
|
||||||
from ..cmd import CmdOut, run
|
|
||||||
from ..dirs import clan_templates
|
|
||||||
from ..errors import ClanError
|
|
||||||
from ..nix import nix_command, nix_shell
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -2,14 +2,20 @@ import argparse
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
from ..cmd import run
|
from clan_cli.cmd import run
|
||||||
from ..dirs import machine_gcroot
|
from clan_cli.dirs import machine_gcroot
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..machines.list import list_nixos_machines
|
from clan_cli.machines.list import list_nixos_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
from ..nix import nix_add_to_gcroots, nix_build, nix_config, nix_eval, nix_metadata
|
from clan_cli.nix import (
|
||||||
from ..vms.inspect import VmConfig, inspect_vm
|
nix_add_to_gcroots,
|
||||||
|
nix_build,
|
||||||
|
nix_config,
|
||||||
|
nix_eval,
|
||||||
|
nix_metadata,
|
||||||
|
)
|
||||||
|
from clan_cli.vms.inspect import VmConfig, inspect_vm
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -5,11 +5,10 @@ from pathlib import Path
|
|||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
from clan_cli.api import API
|
from clan_cli.api import API
|
||||||
|
from clan_cli.cmd import run_no_stdout
|
||||||
from clan_cli.errors import ClanCmdError, ClanError
|
from clan_cli.errors import ClanCmdError, ClanError
|
||||||
from clan_cli.inventory import Meta
|
from clan_cli.inventory import Meta
|
||||||
|
from clan_cli.nix import nix_eval
|
||||||
from ..cmd import run_no_stdout
|
|
||||||
from ..nix import nix_eval
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import json
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from ..cmd import run
|
from clan_cli.cmd import run
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..nix import nix_eval
|
from clan_cli.nix import nix_eval
|
||||||
|
|
||||||
script_dir = Path(__file__).parent
|
script_dir = Path(__file__).parent
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
# !/usr/bin/env python3
|
# !/usr/bin/env python3
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from ..hyperlink import help_hyperlink
|
from clan_cli.hyperlink import help_hyperlink
|
||||||
|
|
||||||
from .check import register_check_parser
|
from .check import register_check_parser
|
||||||
from .generate import register_generate_parser
|
from .generate import register_generate_parser
|
||||||
from .list import register_list_parser
|
from .list import register_list_parser
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import argparse
|
|||||||
import importlib
|
import importlib
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -9,17 +9,17 @@ from pathlib import Path
|
|||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
from clan_cli.cmd import run
|
from clan_cli.cmd import run
|
||||||
|
from clan_cli.completions import (
|
||||||
from ..completions import (
|
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
complete_services_for_machine,
|
complete_services_for_machine,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..git import commit_files
|
from clan_cli.git import commit_files
|
||||||
from ..machines.inventory import get_all_machines, get_selected_machines
|
from clan_cli.machines.inventory import get_all_machines, get_selected_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
from .check import check_secrets
|
from .check import check_secrets
|
||||||
from .public_modules import FactStoreBase
|
from .public_modules import FactStoreBase
|
||||||
from .secret_modules import SecretStoreBase
|
from .secret_modules import SecretStoreBase
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import importlib
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ import logging
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
from ..cmd import Log, run
|
from clan_cli.cmd import Log, run
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ from pathlib import Path
|
|||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from clan_cli.api import API
|
from .api import API
|
||||||
|
|
||||||
from .clan_uri import FlakeId
|
from .clan_uri import FlakeId
|
||||||
from .cmd import Log, run
|
from .cmd import Log, run
|
||||||
from .completions import add_dynamic_completer, complete_machines
|
from .completions import add_dynamic_completer, complete_machines
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# from clan_cli.dirs import find_git_repo_root
|
|
||||||
from clan_cli.errors import ClanError
|
|
||||||
from clan_cli.nix import run_cmd
|
|
||||||
|
|
||||||
from .cmd import Log, run
|
from .cmd import Log, run
|
||||||
|
from .errors import ClanError
|
||||||
from .locked_open import locked_open
|
from .locked_open import locked_open
|
||||||
|
from .nix import run_cmd
|
||||||
|
|
||||||
|
|
||||||
def commit_file(
|
def commit_file(
|
||||||
|
|||||||
@@ -7,13 +7,12 @@ import logging
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from clan_cli.clan.inspect import FlakeConfig, inspect_flake
|
from clan_cli.clan.inspect import FlakeConfig, inspect_flake
|
||||||
|
from clan_cli.clan_uri import ClanURI
|
||||||
|
from clan_cli.dirs import user_history_file
|
||||||
|
from clan_cli.errors import ClanError
|
||||||
|
from clan_cli.locked_open import read_history_file, write_history_file
|
||||||
from clan_cli.machines.list import list_nixos_machines
|
from clan_cli.machines.list import list_nixos_machines
|
||||||
|
|
||||||
from ..clan_uri import ClanURI
|
|
||||||
from ..dirs import user_history_file
|
|
||||||
from ..errors import ClanError
|
|
||||||
from ..locked_open import read_history_file, write_history_file
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import argparse
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from clan_cli.clan.inspect import inspect_flake
|
from clan_cli.clan.inspect import inspect_flake
|
||||||
|
from clan_cli.clan_uri import ClanURI
|
||||||
|
from clan_cli.errors import ClanCmdError
|
||||||
|
from clan_cli.locked_open import write_history_file
|
||||||
|
from clan_cli.nix import nix_metadata
|
||||||
|
|
||||||
from ..clan_uri import ClanURI
|
|
||||||
from ..errors import ClanCmdError
|
|
||||||
from ..locked_open import write_history_file
|
|
||||||
from ..nix import nix_metadata
|
|
||||||
from .add import HistoryEntry, list_history
|
from .add import HistoryEntry, list_history
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,11 +16,11 @@ import json
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from clan_cli.api import API, dataclass_to_dict, from_dict
|
from clan_cli.api import API, dataclass_to_dict, from_dict
|
||||||
|
from clan_cli.cmd import run_no_stdout
|
||||||
from clan_cli.errors import ClanCmdError, ClanError
|
from clan_cli.errors import ClanCmdError, ClanError
|
||||||
from clan_cli.git import commit_file
|
from clan_cli.git import commit_file
|
||||||
|
from clan_cli.nix import nix_eval
|
||||||
|
|
||||||
from ..cmd import run_no_stdout
|
|
||||||
from ..nix import nix_eval
|
|
||||||
from .classes import (
|
from .classes import (
|
||||||
AdminConfig,
|
AdminConfig,
|
||||||
Inventory,
|
Inventory,
|
||||||
|
|||||||
@@ -5,9 +5,8 @@ from contextlib import contextmanager
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from clan_cli.jsonrpc import ClanJSONEncoder
|
|
||||||
|
|
||||||
from .dirs import user_history_file
|
from .dirs import user_history_file
|
||||||
|
from .jsonrpc import ClanJSONEncoder
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ import argparse
|
|||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from ..api import API
|
from clan_cli.api import API
|
||||||
from ..clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..inventory import (
|
from clan_cli.inventory import (
|
||||||
Machine,
|
Machine,
|
||||||
MachineDeploy,
|
MachineDeploy,
|
||||||
load_inventory_eval,
|
load_inventory_eval,
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
from ..api import API
|
from clan_cli.api import API
|
||||||
from ..clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..dirs import specific_machine_dir
|
from clan_cli.dirs import specific_machine_dir
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..inventory import load_inventory_json, save_inventory
|
from clan_cli.inventory import load_inventory_json, save_inventory
|
||||||
|
|
||||||
|
|
||||||
@API.register
|
@API.register
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..dirs import specific_machine_dir
|
from clan_cli.dirs import specific_machine_dir
|
||||||
|
|
||||||
|
|
||||||
def machine_has_fact(flake_dir: Path, machine: str, fact: str) -> bool:
|
def machine_has_fact(flake_dir: Path, machine: str, fact: str) -> bool:
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ from typing import Literal
|
|||||||
|
|
||||||
from clan_cli.api import API
|
from clan_cli.api import API
|
||||||
from clan_cli.clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
|
from clan_cli.cmd import run, run_no_stdout
|
||||||
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from clan_cli.errors import ClanCmdError, ClanError
|
from clan_cli.errors import ClanCmdError, ClanError
|
||||||
from clan_cli.git import commit_file
|
from clan_cli.git import commit_file
|
||||||
|
from clan_cli.machines.machines import Machine
|
||||||
|
from clan_cli.nix import nix_config, nix_eval, nix_shell
|
||||||
|
|
||||||
from ..cmd import run, run_no_stdout
|
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
|
||||||
from ..machines.machines import Machine
|
|
||||||
from ..nix import nix_config, nix_eval, nix_shell
|
|
||||||
from .types import machine_name_type
|
from .types import machine_name_type
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -8,14 +8,13 @@ from pathlib import Path
|
|||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
from clan_cli.api import API
|
from clan_cli.api import API
|
||||||
|
from clan_cli.clan_uri import FlakeId
|
||||||
from ..clan_uri import FlakeId
|
from clan_cli.cmd import Log, run
|
||||||
from ..cmd import Log, run
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.facts.generate import generate_facts
|
||||||
from ..facts.generate import generate_facts
|
from clan_cli.machines.machines import Machine
|
||||||
from ..machines.machines import Machine
|
from clan_cli.nix import nix_shell
|
||||||
from ..nix import nix_shell
|
from clan_cli.ssh.cli import is_ipv6, is_reachable, qrcode_scan
|
||||||
from ..ssh.cli import is_ipv6, is_reachable, qrcode_scan
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import json
|
import json
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
from ..cmd import run
|
from clan_cli.cmd import run
|
||||||
from ..nix import nix_build, nix_config
|
from clan_cli.nix import nix_build, nix_config
|
||||||
|
|
||||||
from .machines import Machine
|
from .machines import Machine
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from typing import TypeVar
|
from typing import TypeVar
|
||||||
|
|
||||||
from ..ssh import Host, HostGroup, HostResult
|
from clan_cli.ssh import Host, HostGroup, HostResult
|
||||||
|
|
||||||
from .machines import Machine
|
from .machines import Machine
|
||||||
|
|
||||||
T = TypeVar("T")
|
T = TypeVar("T")
|
||||||
|
|||||||
@@ -6,11 +6,10 @@ from tempfile import NamedTemporaryFile
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from clan_cli.clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
|
from clan_cli.cmd import run_no_stdout
|
||||||
from ..cmd import run_no_stdout
|
from clan_cli.errors import ClanError
|
||||||
from ..errors import ClanError
|
from clan_cli.nix import nix_build, nix_config, nix_eval, nix_metadata
|
||||||
from ..nix import nix_build, nix_config, nix_eval, nix_metadata
|
from clan_cli.ssh import Host, parse_deployment_address
|
||||||
from ..ssh import Host, parse_deployment_address
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -7,17 +7,17 @@ import sys
|
|||||||
|
|
||||||
from clan_cli.api import API
|
from clan_cli.api import API
|
||||||
from clan_cli.clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
|
from clan_cli.cmd import run
|
||||||
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
|
from clan_cli.errors import ClanError
|
||||||
|
from clan_cli.facts.generate import generate_facts
|
||||||
|
from clan_cli.facts.upload import upload_secrets
|
||||||
|
from clan_cli.inventory import Machine as InventoryMachine
|
||||||
|
from clan_cli.machines.machines import Machine
|
||||||
|
from clan_cli.nix import nix_command, nix_metadata
|
||||||
|
from clan_cli.ssh import HostKeyCheck
|
||||||
|
from clan_cli.vars.generate import generate_vars
|
||||||
|
|
||||||
from ..cmd import run
|
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
|
||||||
from ..errors import ClanError
|
|
||||||
from ..facts.generate import generate_facts
|
|
||||||
from ..facts.upload import upload_secrets
|
|
||||||
from ..inventory import Machine as InventoryMachine
|
|
||||||
from ..machines.machines import Machine
|
|
||||||
from ..nix import nix_command, nix_metadata
|
|
||||||
from ..ssh import HostKeyCheck
|
|
||||||
from ..vars.generate import generate_vars
|
|
||||||
from .inventory import get_all_machines, get_selected_machines
|
from .inventory import get_all_machines, get_selected_machines
|
||||||
from .machine_group import MachineGroup
|
from .machine_group import MachineGroup
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import tempfile
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from ..cmd import run, run_no_stdout
|
from clan_cli.cmd import run, run_no_stdout
|
||||||
from ..dirs import nixpkgs_flake, nixpkgs_source
|
from clan_cli.dirs import nixpkgs_flake, nixpkgs_source
|
||||||
|
|
||||||
|
|
||||||
def nix_command(flags: list[str]) -> list[str]:
|
def nix_command(flags: list[str]) -> list[str]:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import shutil
|
|||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
|
|
||||||
|
|
||||||
def get_sops_folder(flake_dir: Path) -> Path:
|
def get_sops_folder(flake_dir: Path) -> Path:
|
||||||
|
|||||||
@@ -2,17 +2,17 @@ import argparse
|
|||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from clan_cli.git import commit_files
|
from clan_cli.completions import (
|
||||||
|
|
||||||
from ..completions import (
|
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_groups,
|
complete_groups,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
complete_secrets,
|
complete_secrets,
|
||||||
complete_users,
|
complete_users,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..machines.types import machine_name_type, validate_hostname
|
from clan_cli.git import commit_files
|
||||||
|
from clan_cli.machines.types import machine_name_type, validate_hostname
|
||||||
|
|
||||||
from . import secrets
|
from . import secrets
|
||||||
from .folders import (
|
from .folders import (
|
||||||
sops_groups_folder,
|
sops_groups_folder,
|
||||||
|
|||||||
@@ -3,15 +3,16 @@ import json
|
|||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..cmd import run
|
from clan_cli.cmd import run
|
||||||
from ..completions import (
|
from clan_cli.completions import (
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_groups,
|
complete_groups,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
complete_users,
|
complete_users,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
from .secrets import encrypt_secret, sops_secrets_folder
|
from .secrets import encrypt_secret, sops_secrets_folder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import argparse
|
|||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from clan_cli.errors import ClanError
|
||||||
from clan_cli.git import commit_files
|
from clan_cli.git import commit_files
|
||||||
|
|
||||||
from ..errors import ClanError
|
|
||||||
from .secrets import update_secrets
|
from .secrets import update_secrets
|
||||||
from .sops import default_sops_key_path, generate_private_key, get_public_key
|
from .sops import default_sops_key_path, generate_private_key, get_public_key
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
import argparse
|
import argparse
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..completions import add_dynamic_completer, complete_machines, complete_secrets
|
from clan_cli.completions import (
|
||||||
from ..errors import ClanError
|
add_dynamic_completer,
|
||||||
from ..git import commit_files
|
complete_machines,
|
||||||
from ..machines.types import machine_name_type, validate_hostname
|
complete_secrets,
|
||||||
|
)
|
||||||
|
from clan_cli.errors import ClanError
|
||||||
|
from clan_cli.git import commit_files
|
||||||
|
from clan_cli.machines.types import machine_name_type, validate_hostname
|
||||||
|
|
||||||
from . import secrets
|
from . import secrets
|
||||||
from .folders import (
|
from .folders import (
|
||||||
list_objects,
|
list_objects,
|
||||||
|
|||||||
@@ -8,17 +8,18 @@ from dataclasses import dataclass
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import IO
|
from typing import IO
|
||||||
|
|
||||||
from .. import tty
|
from clan_cli import tty
|
||||||
from ..clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
from ..completions import (
|
from clan_cli.completions import (
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_groups,
|
complete_groups,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
complete_secrets,
|
complete_secrets,
|
||||||
complete_users,
|
complete_users,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..git import commit_files
|
from clan_cli.git import commit_files
|
||||||
|
|
||||||
from .folders import (
|
from .folders import (
|
||||||
list_objects,
|
list_objects,
|
||||||
sops_groups_folder,
|
sops_groups_folder,
|
||||||
|
|||||||
@@ -9,10 +9,11 @@ from pathlib import Path
|
|||||||
from tempfile import NamedTemporaryFile
|
from tempfile import NamedTemporaryFile
|
||||||
from typing import IO
|
from typing import IO
|
||||||
|
|
||||||
from ..cmd import Log, run
|
from clan_cli.cmd import Log, run
|
||||||
from ..dirs import user_config_dir
|
from clan_cli.dirs import user_config_dir
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
from .folders import sops_machines_folder, sops_users_folder
|
from .folders import sops_machines_folder, sops_users_folder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ import re
|
|||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
|
|
||||||
from .sops import get_public_key
|
from .sops import get_public_key
|
||||||
|
|
||||||
VALID_SECRET_NAME = re.compile(r"^[a-zA-Z0-9._-]+$")
|
VALID_SECRET_NAME = re.compile(r"^[a-zA-Z0-9._-]+$")
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
import argparse
|
import argparse
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..completions import (
|
from clan_cli.completions import add_dynamic_completer, complete_secrets, complete_users
|
||||||
add_dynamic_completer,
|
from clan_cli.errors import ClanError
|
||||||
complete_secrets,
|
from clan_cli.git import commit_files
|
||||||
complete_users,
|
|
||||||
)
|
|
||||||
from ..errors import ClanError
|
|
||||||
from ..git import commit_files
|
|
||||||
from . import secrets
|
from . import secrets
|
||||||
from .folders import list_objects, remove_object, sops_secrets_folder, sops_users_folder
|
from .folders import list_objects, remove_object, sops_secrets_folder, sops_users_folder
|
||||||
from .secrets import update_secrets
|
from .secrets import update_secrets
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from shlex import quote
|
|||||||
from threading import Thread
|
from threading import Thread
|
||||||
from typing import IO, Any, Generic, TypeVar
|
from typing import IO, Any, Generic, TypeVar
|
||||||
|
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
|
|
||||||
# https://no-color.org
|
# https://no-color.org
|
||||||
DISABLE_COLOR = not sys.stderr.isatty() or os.environ.get("NO_COLOR", "") != ""
|
DISABLE_COLOR = not sys.stderr.isatty() or os.environ.get("NO_COLOR", "") != ""
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import socket
|
|||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..cmd import run_no_stdout
|
from clan_cli.cmd import run_no_stdout
|
||||||
from ..completions import (
|
from clan_cli.completions import (
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
complete_state_services_for_machine,
|
complete_state_services_for_machine,
|
||||||
)
|
)
|
||||||
from ..dirs import get_clan_flake_toplevel_or_env
|
from clan_cli.dirs import get_clan_flake_toplevel_or_env
|
||||||
from ..errors import ClanCmdError, ClanError
|
from clan_cli.errors import ClanCmdError, ClanError
|
||||||
from ..nix import nix_eval
|
from clan_cli.nix import nix_eval
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
# !/usr/bin/env python3
|
# !/usr/bin/env python3
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from ..hyperlink import help_hyperlink
|
from clan_cli.hyperlink import help_hyperlink
|
||||||
|
|
||||||
from .check import register_check_parser
|
from .check import register_check_parser
|
||||||
from .generate import register_generate_parser
|
from .generate import register_generate_parser
|
||||||
from .list import register_list_parser
|
from .list import register_list_parser
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import argparse
|
|||||||
import importlib
|
import importlib
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -10,17 +10,17 @@ from tempfile import TemporaryDirectory
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from clan_cli.cmd import run
|
from clan_cli.cmd import run
|
||||||
|
from clan_cli.completions import (
|
||||||
from ..completions import (
|
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
complete_machines,
|
complete_machines,
|
||||||
complete_services_for_machine,
|
complete_services_for_machine,
|
||||||
)
|
)
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..git import commit_files
|
from clan_cli.git import commit_files
|
||||||
from ..machines.inventory import get_all_machines, get_selected_machines
|
from clan_cli.machines.inventory import get_all_machines, get_selected_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
from .check import check_vars
|
from .check import check_vars
|
||||||
from .public_modules import FactStoreBase
|
from .public_modules import FactStoreBase
|
||||||
from .secret_modules import SecretStoreBase
|
from .secret_modules import SecretStoreBase
|
||||||
|
|||||||
@@ -2,8 +2,9 @@ import argparse
|
|||||||
import importlib
|
import importlib
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
from ._types import Var
|
from ._types import Var
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ import logging
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
from ..cmd import Log, run
|
from clan_cli.cmd import Log, run
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ import json
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..clan_uri import FlakeId
|
from clan_cli.clan_uri import FlakeId
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ from contextlib import contextmanager
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from clan_cli.errors import ClanError
|
||||||
from clan_cli.qemu.qmp import QEMUMonitorProtocol
|
from clan_cli.qemu.qmp import QEMUMonitorProtocol
|
||||||
|
|
||||||
from ..errors import ClanError
|
|
||||||
from .inspect import VmConfig
|
from .inspect import VmConfig
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,14 @@ from contextlib import ExitStack
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
from ..cmd import Log, run
|
from clan_cli.cmd import Log, run
|
||||||
from ..completions import add_dynamic_completer, complete_machines
|
from clan_cli.completions import add_dynamic_completer, complete_machines
|
||||||
from ..dirs import module_root, user_cache_dir, vm_state_dir
|
from clan_cli.dirs import module_root, user_cache_dir, vm_state_dir
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..facts.generate import generate_facts
|
from clan_cli.facts.generate import generate_facts
|
||||||
from ..machines.machines import Machine
|
from clan_cli.machines.machines import Machine
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
from .inspect import VmConfig, inspect_vm
|
from .inspect import VmConfig, inspect_vm
|
||||||
from .qemu import qemu_command
|
from .qemu import qemu_command
|
||||||
from .virtiofsd import start_virtiofsd
|
from .virtiofsd import start_virtiofsd
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import time
|
|||||||
from collections.abc import Iterator
|
from collections.abc import Iterator
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
|
|
||||||
@contextlib.contextmanager
|
@contextlib.contextmanager
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import subprocess
|
|||||||
import time
|
import time
|
||||||
from collections.abc import Iterator
|
from collections.abc import Iterator
|
||||||
|
|
||||||
from ..errors import ClanError
|
from clan_cli.errors import ClanError
|
||||||
from ..nix import nix_shell
|
from clan_cli.nix import nix_shell
|
||||||
|
|
||||||
VMADDR_CID_HYPERVISOR = 2
|
VMADDR_CID_HYPERVISOR = 2
|
||||||
|
|
||||||
|
|||||||
@@ -67,5 +67,5 @@ ignore_missing_imports = true
|
|||||||
[tool.ruff]
|
[tool.ruff]
|
||||||
target-version = "py311"
|
target-version = "py311"
|
||||||
line-length = 88
|
line-length = 88
|
||||||
lint.select = [ "E", "F", "I", "U", "N", "RUF", "ANN", "A" ]
|
lint.select = [ "E", "F", "I", "U", "N", "RUF", "ANN", "A", "TID" ]
|
||||||
lint.ignore = ["E501", "E402", "E731", "ANN101", "ANN401", "A003"]
|
lint.ignore = ["E501", "E402", "E731", "ANN101", "ANN401", "A003"]
|
||||||
|
|||||||
Reference in New Issue
Block a user