Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
fc4f0cc
Add new cmds for mirage. Restructure CliMeta
badrogger Jun 10, 2025
66e829a
Fix tests. Add addtional ones
badrogger Jun 10, 2025
4759cc5
Fix tests
badrogger Jun 11, 2025
3bc8f73
Fix boot update
badrogger Jun 11, 2025
5737449
Fix mirage boot
badrogger Jun 11, 2025
43c7ae4
Introduce Env class
badrogger Jun 13, 2025
ed389fe
Rename EnvType to UserConfig
badrogger Jun 13, 2025
bd5cd21
Add UserConfig
badrogger Jun 16, 2025
40fc1c4
Fix tests
badrogger Jun 16, 2025
bc8313d
Fix linter
badrogger Jun 16, 2025
7299104
Rename ENDPOINT to BOOT_ENDPOINT for mirage
badrogger Jun 17, 2025
53c6017
Fix tests
badrogger Jun 17, 2025
58d6bdb
Fix validation
badrogger Jun 17, 2025
a405ab6
Use proper CliMetaManager for mirage operations
badrogger Jun 17, 2025
9d533bd
Fix import
badrogger Jun 17, 2025
f7856b0
Fix imports
badrogger Jun 17, 2025
91bdb51
Remove unused code
badrogger Jun 17, 2025
7271ace
Fix tests
badrogger Jun 17, 2025
1a95aff
Remove unnecessary code
badrogger Jun 17, 2025
364d48c
Add firewall migration from boot
badrogger Jun 18, 2025
a1c51b6
Fix firewall migrate
badrogger Jun 20, 2025
e7e0ba0
Merge branch 'mirage' into mirage-new-cmds
badrogger Jun 23, 2025
0eae036
Fix tests
badrogger Jun 23, 2025
8847193
Fix tests
badrogger Jun 23, 2025
036d884
Add migrate for mirage chain record
dmytrotkk Jun 23, 2025
27e5e48
Add redis service startup during mirage node update
dmytrotkk Jun 23, 2025
48ddb43
Fix repair test
dmytrotkk Jun 23, 2025
7734277
Add mirage cleanup command
badrogger Jun 23, 2025
1caff0d
Fix conflicts artefacts
badrogger Jun 23, 2025
48c7ee2
Merge branch 'mirage-new-cmds' into add-mirage-cleanup
badrogger Jun 23, 2025
7aa9182
Fix mirage boot
badrogger Jun 23, 2025
01c2ccd
Add tests for mirage cleanup
badrogger Jun 24, 2025
f8a8bc6
Remove unused schain_name
badrogger Jun 27, 2025
68ed84e
Fix typo
badrogger Jul 2, 2025
436f2b1
Fix tests
badrogger Jul 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 4 additions & 18 deletions node_cli/cli/mirage_boot.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@

import click

from node_cli.core.node import get_node_signature, register_node as register, get_node_info
from node_cli.mirage.mirage_boot import init, migrate, update
from node_cli.configs import DEFAULT_NODE_BASE_PORT
from node_cli.utils.helper import streamed_cmd, IP_TYPE, error_exit, abort_if_false
from node_cli.core.node import get_node_info, get_node_signature
from node_cli.core.node import register_node as register
from node_cli.mirage.mirage_boot import init, update
from node_cli.utils.helper import IP_TYPE, abort_if_false, error_exit, streamed_cmd


@click.group()
Expand Down Expand Up @@ -76,21 +77,6 @@ def signature_boot(validator_id):
print(f'Signature: {res}')


@boot.command('migrate', help='Migrate mirage node from Mirage Boot Phase to Mirage Main Phase.')
@click.option(
'--yes',
is_flag=True,
callback=abort_if_false,
expose_value=False,
prompt='Are you sure you want to mirage node from Mirage Boot Phase to Mirage Main Phase?',
)
@click.option('--pull-config', 'pull_config_for_schain', hidden=True, type=str)
@click.argument('env_file')
@streamed_cmd
def migrate_boot(env_file, pull_config_for_schain):
migrate(env_file, pull_config_for_schain)


@boot.command('update', help='Update Mirage node from .env file')
@click.option(
'--yes',
Expand Down
38 changes: 33 additions & 5 deletions node_cli/cli/mirage_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@

import click

from node_cli.core.node import get_node_signature, backup, get_node_info
from node_cli.mirage.mirage_node import restore_mirage, request_repair
from node_cli.utils.helper import error_exit, streamed_cmd, abort_if_false, URL_TYPE
from node_cli.core.node import backup, get_node_info, get_node_signature
from node_cli.mirage.mirage_node import cleanup as mirage_cleanup
from node_cli.mirage.mirage_node import migrate_from_boot, request_repair, restore_mirage
from node_cli.utils.helper import URL_TYPE, abort_if_false, error_exit, streamed_cmd
from node_cli.utils.texts import safe_load_texts

TEXTS = safe_load_texts()
Expand Down Expand Up @@ -99,20 +100,47 @@ def restore_node(backup_path, env_file, config_only):
restore_mirage(backup_path, env_file, config_only)


@node.command('repair', help='Toggle mirage chain repair mode')
@node.command('migrate', help='Switch from boot to regular Mirage node.')
@click.argument('env_filepath')
@click.option(
'--yes',
is_flag=True,
callback=abort_if_false,
expose_value=False,
prompt=TEXTS['mirage']['node']['repair']['warning'],
prompt='Are you sure you want to migrate to regular Mirage node? The action cannot be undone',
)
@streamed_cmd
def migrate_node(env_filepath: str) -> None:
migrate_from_boot(env_filepath=env_filepath)


@node.command('repair', help='Toggle mirage chain repair mode')
@click.option(
'--snapshot-from',
type=URL_TYPE,
default='',
hidden=True,
help=TEXTS['mirage']['node']['repair']['snapshot_from'],
)
@click.option(
'--yes',
is_flag=True,
callback=abort_if_false,
expose_value=False,
prompt=TEXTS['mirage']['node']['repair']['warning'],
)
def repair(snapshot_from: str = '') -> None:
request_repair(snapshot_from=snapshot_from)


@node.command('cleanup', help='Cleanup Mirage node.')
@click.option(
'--yes',
is_flag=True,
callback=abort_if_false,
expose_value=False,
prompt='Are you sure you want to cleanup Mirage node?',
)
@streamed_cmd
def cleanup_node():
mirage_cleanup()
6 changes: 3 additions & 3 deletions node_cli/cli/node.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@
run_checks,
)
from node_cli.configs import DEFAULT_NODE_BASE_PORT
from node_cli.configs.env import ALLOWED_ENV_TYPES
from node_cli.configs.user import ALLOWED_ENV_TYPES
from node_cli.utils.decorators import check_inited
from node_cli.utils.helper import abort_if_false, streamed_cmd, IP_TYPE
from node_cli.utils.texts import safe_load_texts
from node_cli.utils.meta import get_meta_info
from node_cli.utils.meta import CliMetaManager
from node_cli.utils.print_formatters import print_meta_info


Expand Down Expand Up @@ -248,7 +248,7 @@ def configure_firewall(monitoring):
@check_inited
@click.option('--json', 'raw', is_flag=True, help=TEXTS['common']['json'])
def version(raw: bool) -> None:
meta_info = get_meta_info(raw=raw)
meta_info = CliMetaManager().get_meta_info(raw=raw)
if raw:
print(meta_info)
else:
Expand Down
4 changes: 2 additions & 2 deletions node_cli/configs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@

import os
import sys
from node_cli.utils.global_config import read_g_config

from node_cli.utils.global_config import read_g_config

GLOBAL_SKALE_DIR = os.getenv('GLOBAL_SKALE_DIR') or '/etc/skale'
GLOBAL_SKALE_CONF_FILENAME = 'conf.json'
Expand Down Expand Up @@ -146,7 +146,7 @@ def _get_env():
SKALE_NODE_REPO_URL = 'https://github.com/skalenetwork/skale-node.git'
DOCKER_LVMPY_REPO_URL = 'https://github.com/skalenetwork/docker-lvmpy.git'

DOCKER_DEAMON_CONFIG_PATH = '/etc/docker/daemon.json'
DOCKER_DAEMON_CONFIG_PATH = '/etc/docker/daemon.json'
DOCKER_DAEMON_HOSTS = ('fd://', 'unix:///var/run/skale/docker.sock')
DOCKER_SERVICE_CONFIG_DIR = '/etc/systemd/system/docker.service.d'
DOCKER_SERVICE_CONFIG_PATH = '/etc/systemd/system/docker.service.d/no-host.conf'
Expand Down
2 changes: 1 addition & 1 deletion node_cli/configs/alias_address_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class ContractType(Enum):
MANAGER = 'skale-manager'


def validate_env_alias_or_address(
def validate_alias_or_address(
alias_or_address: str, contract_type: ContractType, endpoint: str
) -> None:
if is_contract_address(alias_or_address):
Expand Down
146 changes: 0 additions & 146 deletions node_cli/configs/env.py

This file was deleted.

Loading
Loading