machineconfig 6.84__py3-none-any.whl → 6.85__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/cluster/sessions_managers/wt_local.py +16 -221
- machineconfig/cluster/sessions_managers/wt_local_manager.py +33 -174
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +39 -197
- machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
- machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
- machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
- machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
- machineconfig/scripts/python/ai/vscode_tasks.py +7 -2
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +30 -65
- machineconfig/scripts/python/helpers_devops/cli_config.py +1 -1
- machineconfig/scripts/python/helpers_devops/cli_nw.py +50 -0
- machineconfig/scripts/python/helpers_devops/cli_self.py +3 -3
- machineconfig/scripts/python/helpers_devops/cli_utils.py +1 -1
- machineconfig/scripts/python/helpers_fire/helpers4.py +15 -0
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +1 -1
- machineconfig/scripts/python/nw/mount_nfs +1 -1
- machineconfig/scripts/python/nw/wifi_conn.py +1 -53
- machineconfig/scripts/python/terminal.py +46 -17
- machineconfig/scripts/python/utils.py +2 -0
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/scripts/windows/term.ps1 +48 -0
- machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +1 -1
- machineconfig/utils/code.py +18 -13
- machineconfig/utils/installer.py +0 -1
- machineconfig/utils/path_helper.py +1 -1
- machineconfig/utils/scheduling.py +0 -2
- machineconfig/utils/ssh.py +2 -2
- {machineconfig-6.84.dist-info → machineconfig-6.85.dist-info}/METADATA +1 -1
- {machineconfig-6.84.dist-info → machineconfig-6.85.dist-info}/RECORD +34 -31
- machineconfig/scripts/linux/warp-cli.sh +0 -122
- {machineconfig-6.84.dist-info → machineconfig-6.85.dist-info}/WHEEL +0 -0
- {machineconfig-6.84.dist-info → machineconfig-6.85.dist-info}/entry_points.txt +0 -0
- {machineconfig-6.84.dist-info → machineconfig-6.85.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import subprocess
|
|
2
|
+
# from machineconfig.utils.schemas.layouts.layout_types import LayoutConfig
|
|
2
3
|
import typer
|
|
3
4
|
from typing import Annotated
|
|
4
5
|
|
|
@@ -9,7 +10,21 @@ def strip_ansi_codes(text: str) -> str:
|
|
|
9
10
|
return re.sub(r'\x1b\[[0-9;]*[a-zA-Z]', '', text)
|
|
10
11
|
|
|
11
12
|
|
|
12
|
-
def choose_zellij_session(
|
|
13
|
+
def choose_zellij_session(
|
|
14
|
+
new_session: Annotated[bool, typer.Option("--new-session", "-n", help="Create a new Zellij session instead of attaching to an existing one.", show_default=True)] = False,
|
|
15
|
+
kill_all: Annotated[bool, typer.Option("--kill-all", "-k", help="Kill all existing Zellij sessions before creating a new one.", show_default=True)] = False):
|
|
16
|
+
|
|
17
|
+
if new_session:
|
|
18
|
+
cmd = """
|
|
19
|
+
zellij --layout st2
|
|
20
|
+
"""
|
|
21
|
+
if kill_all:
|
|
22
|
+
cmd = f"""zellij kill-sessions
|
|
23
|
+
{cmd}"""
|
|
24
|
+
from machineconfig.utils.code import exit_then_run_shell_script
|
|
25
|
+
exit_then_run_shell_script(cmd, strict=True)
|
|
26
|
+
typer.Exit()
|
|
27
|
+
return
|
|
13
28
|
cmd = "zellij list-sessions"
|
|
14
29
|
sessions: list[str] = subprocess.check_output(cmd, shell=True).decode().strip().split("\n")
|
|
15
30
|
sessions.sort(key=lambda s: "EXITED" in s)
|
|
@@ -32,16 +47,6 @@ def choose_zellij_session():
|
|
|
32
47
|
exit_then_run_shell_script(result, strict=True)
|
|
33
48
|
|
|
34
49
|
|
|
35
|
-
def new_zellij_session(kill_all: Annotated[bool, typer.Option("--kill-all", "-k", help="Kill all existing Zellij sessions before creating a new one.", show_default=True)] = False):
|
|
36
|
-
cmd = """
|
|
37
|
-
zellij --layout st2
|
|
38
|
-
"""
|
|
39
|
-
if kill_all:
|
|
40
|
-
cmd = f"""zellij kill-sessions
|
|
41
|
-
{cmd}"""
|
|
42
|
-
from machineconfig.utils.code import exit_then_run_shell_script
|
|
43
|
-
exit_then_run_shell_script(cmd, strict=True)
|
|
44
|
-
|
|
45
50
|
|
|
46
51
|
def get_session_tabs() -> list[tuple[str, str]]:
|
|
47
52
|
cmd = "zellij list-sessions"
|
|
@@ -64,16 +69,40 @@ def get_session_tabs() -> list[tuple[str, str]]:
|
|
|
64
69
|
print(result)
|
|
65
70
|
return result
|
|
66
71
|
|
|
72
|
+
def start_wt(layout_name: Annotated[str, typer.Argument(help="Layout name to start.")]):
|
|
73
|
+
from pathlib import Path
|
|
74
|
+
layouts_file = Path.home().joinpath("dotfiles/machineconfig/layouts.json")
|
|
75
|
+
if not layouts_file.exists():
|
|
76
|
+
typer.echo(f"❌ Layouts file not found: {layouts_file}")
|
|
77
|
+
# available
|
|
78
|
+
raise typer.Exit(code=1)
|
|
79
|
+
import json
|
|
80
|
+
from machineconfig.utils.schemas.layouts.layout_types import LayoutsFile
|
|
81
|
+
layouts_data: LayoutsFile = json.loads(layouts_file.read_text(encoding="utf-8"))
|
|
82
|
+
chosen_layout = next((a_layout for a_layout in layouts_data["layouts"] if a_layout["layoutName"] == layout_name), None)
|
|
83
|
+
if not chosen_layout:
|
|
84
|
+
typer.echo(f"❌ Layout '{layout_name}' not found in layouts file.")
|
|
85
|
+
available_layouts = [a_layout["layoutName"] for a_layout in layouts_data["layouts"]]
|
|
86
|
+
typer.echo(f"Available layouts: {', '.join(available_layouts)}")
|
|
87
|
+
raise typer.Exit(code=1)
|
|
88
|
+
from machineconfig.cluster.sessions_managers.wt_local import run_wt_layout
|
|
89
|
+
run_wt_layout(layout_config=chosen_layout)
|
|
90
|
+
|
|
91
|
+
# cmd = f'powershell -ExecutionPolicy Bypass -File "./{layout_name}_layout.ps1"'
|
|
92
|
+
# from machineconfig.utils.code import exit_then_run_shell_script
|
|
93
|
+
# exit_then_run_shell_script(cmd, strict=True)
|
|
94
|
+
|
|
67
95
|
|
|
68
96
|
def main():
|
|
69
97
|
app = typer.Typer(help="🖥️ Terminal utilities", no_args_is_help=True, add_help_option=False)
|
|
70
|
-
app.command(name="
|
|
71
|
-
app.command(name="
|
|
72
|
-
|
|
73
|
-
app.command(name="
|
|
98
|
+
app.command(name="attach-to-zellij", no_args_is_help=False, help="[z] Choose a Zellij session to attach to")(choose_zellij_session)
|
|
99
|
+
app.command(name="z", hidden=True, no_args_is_help=False, help="[z] Choose a Zellij session to attach to")(choose_zellij_session)
|
|
100
|
+
|
|
101
|
+
app.command(name="start-wt", no_args_is_help=True, help="[w] Start a Windows Terminal layout by name.")(start_wt)
|
|
102
|
+
app.command(name="w", hidden=True, no_args_is_help=True, help="[w] Start a Windows Terminal layout by name.")(start_wt)
|
|
74
103
|
|
|
75
|
-
app.command(name="get-session-tabs", no_args_is_help=False, help="Get all Zellij session tabs.")(get_session_tabs)
|
|
76
|
-
app.command(name="
|
|
104
|
+
app.command(name="get-session-tabs", no_args_is_help=False, help="[zt] Get all Zellij session tabs.")(get_session_tabs)
|
|
105
|
+
app.command(name="zt", hidden=True, no_args_is_help=False, help="[zt] Get all Zellij session tabs.")(get_session_tabs)
|
|
77
106
|
app()
|
|
78
107
|
|
|
79
108
|
|
|
@@ -41,6 +41,7 @@ uv add nbformat ipdb ipykernel ipython pylint pyright mypy pyrefly ty pytest
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
|
|
44
45
|
def get_app() -> typer.Typer:
|
|
45
46
|
app = typer.Typer(help="🛠️ utilities operations", no_args_is_help=True, add_help_option=False, add_completion=False)
|
|
46
47
|
app.command(name="kill-process", no_args_is_help=False, help="[k] Choose a process to kill")(kill_process)
|
|
@@ -56,6 +57,7 @@ def get_app() -> typer.Typer:
|
|
|
56
57
|
app.command(name="pm", no_args_is_help=True, hidden=True)(merge_pdfs)
|
|
57
58
|
app.command(name="pdf-compress", no_args_is_help=True, help="[pc] Compress a PDF file.")(compress_pdf)
|
|
58
59
|
app.command(name="pc", no_args_is_help=True, hidden=True)(compress_pdf)
|
|
60
|
+
|
|
59
61
|
return app
|
|
60
62
|
|
|
61
63
|
# def func():
|
|
@@ -7,7 +7,7 @@ $user = ''
|
|
|
7
7
|
$sharePath = ''
|
|
8
8
|
$driveLetter = ''
|
|
9
9
|
|
|
10
|
-
uv run --python 3.14 --with "machineconfig>=6.
|
|
10
|
+
uv run --python 3.14 --with "machineconfig>=6.85" python -m machineconfig.scripts.python.mount_ssh
|
|
11
11
|
|
|
12
12
|
net use T: \\sshfs.kr\$user@$host.local
|
|
13
13
|
# this worked: net use T: \\sshfs\alex@alex-p51s-5.local
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Equivalent PowerShell script for term.ps1
|
|
2
|
+
|
|
3
|
+
Set-StrictMode -Version Latest
|
|
4
|
+
$ErrorActionPreference = 'Stop'
|
|
5
|
+
|
|
6
|
+
# Generate random name using timestamp and SHA256 hash
|
|
7
|
+
$timestampNs = [DateTimeOffset]::Now.ToUnixTimeMilliseconds() * 1000000
|
|
8
|
+
$hashInput = [System.Text.Encoding]::UTF8.GetBytes($timestampNs.ToString())
|
|
9
|
+
$sha256 = [System.Security.Cryptography.SHA256]::Create()
|
|
10
|
+
$hashBytes = $sha256.ComputeHash($hashInput)
|
|
11
|
+
$hashString = -join ($hashBytes | ForEach-Object { $_.ToString('x2') })
|
|
12
|
+
$randomName = $hashString.Substring(0, 16)
|
|
13
|
+
|
|
14
|
+
$opDir = "$env:USERPROFILE\tmp_results\tmp_scripts\machineconfig"
|
|
15
|
+
$opProgramPath = "$opDir\$randomName.ps1"
|
|
16
|
+
$global:OP_PROGRAM_PATH = $opProgramPath
|
|
17
|
+
|
|
18
|
+
# ANSI color/style codes (using Write-Host colors)
|
|
19
|
+
$bold = [char]27 + '[1m'
|
|
20
|
+
$reset = [char]27 + '[0m'
|
|
21
|
+
$green = [char]27 + '[32m'
|
|
22
|
+
$yellow = [char]27 + '[33m'
|
|
23
|
+
$blue = [char]27 + '[34m'
|
|
24
|
+
$red = [char]27 + '[31m'
|
|
25
|
+
|
|
26
|
+
$timestamp = Get-Date -Format 'u'
|
|
27
|
+
|
|
28
|
+
Write-Host "${bold}${blue}🛠️ terminal — running term${reset}"
|
|
29
|
+
Write-Host "${blue}Timestamp:${reset} ${timestamp}"
|
|
30
|
+
Write-Host "${blue}Op program path:${reset} ${opProgramPath}"
|
|
31
|
+
|
|
32
|
+
terminal $args
|
|
33
|
+
|
|
34
|
+
if (Test-Path $opProgramPath) {
|
|
35
|
+
Write-Host "${green}✅ Found op program:${reset} ${opProgramPath}"
|
|
36
|
+
# Assuming bat is available; otherwise, use Get-Content
|
|
37
|
+
& bat --style=plain --paging=never $opProgramPath
|
|
38
|
+
Write-Host "${green}▶ Running...${reset}"
|
|
39
|
+
. $opProgramPath
|
|
40
|
+
$status = $LASTEXITCODE
|
|
41
|
+
if ($status -eq 0) {
|
|
42
|
+
Write-Host "${green}✅ Completed successfully (exit ${status})${reset}"
|
|
43
|
+
} else {
|
|
44
|
+
Write-Host "${yellow}⚠️ Program exited with status ${status}${reset}"
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
Write-Host "${yellow}⚠️ No op program found at: ${opProgramPath}${reset}"
|
|
48
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
. <( curl -sSL "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/uv.sh")
|
|
3
3
|
mcfg() {
|
|
4
|
-
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.
|
|
4
|
+
"$HOME/.local/bin/uv" run --python 3.14 --with "machineconfig>=6.85" mcfg "$@"
|
|
5
5
|
}
|
|
6
6
|
alias d="mcfg devops"
|
|
7
7
|
alias c="mcfg cloud"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
iex (iwr "https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/uv.ps1").Content
|
|
4
4
|
function mcfg {
|
|
5
|
-
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.
|
|
5
|
+
& "$HOME\.local\bin\uv.exe" run --python 3.14 --with "machineconfig>=6.85" mcfg $args
|
|
6
6
|
}
|
|
7
7
|
function d { mcfg devops @args }
|
|
8
8
|
function c { mcfg cloud @args }
|
machineconfig/utils/code.py
CHANGED
|
@@ -7,18 +7,23 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
def print_code(code: str, lexer: str, desc: str, subtitle: str = ""):
|
|
9
9
|
import platform
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
try:
|
|
11
|
+
from rich.console import Console
|
|
12
|
+
from rich.panel import Panel
|
|
13
|
+
from rich.syntax import Syntax
|
|
14
|
+
if lexer == "shell":
|
|
15
|
+
if platform.system() == "Windows":
|
|
16
|
+
lexer = "powershell"
|
|
17
|
+
elif platform.system() in ["Linux", "Darwin"]:
|
|
18
|
+
lexer = "sh"
|
|
19
|
+
else:
|
|
20
|
+
raise NotImplementedError(f"Platform {platform.system()} not supported for lexer {lexer}")
|
|
21
|
+
console = Console()
|
|
22
|
+
console.print(Panel(Syntax(code=code, lexer=lexer), title=f"📄 {desc}", subtitle=subtitle), style="bold red")
|
|
23
|
+
except ImportError:
|
|
24
|
+
print(f"--- {desc} ---")
|
|
25
|
+
print(code)
|
|
26
|
+
print(f"--- End of {desc} ---")
|
|
22
27
|
|
|
23
28
|
|
|
24
29
|
def get_uv_command_executing_python_script(python_script: str, uv_with: Optional[list[str]], uv_project_dir: Optional[str]) -> tuple[str, Path]:
|
|
@@ -51,7 +56,7 @@ def run_python_script_in_marimo(py_script: str, uv_project_with: Optional[str]):
|
|
|
51
56
|
if uv_project_with is not None:
|
|
52
57
|
requirements = f"""--with "marimo" --project {uv_project_with} """
|
|
53
58
|
else:
|
|
54
|
-
requirements =
|
|
59
|
+
requirements = """--with "marimo" """
|
|
55
60
|
fire_line = f"""
|
|
56
61
|
cd {tmp_dir}
|
|
57
62
|
uv run {requirements} marimo convert {pyfile.name} -o marimo_nb.py
|
machineconfig/utils/installer.py
CHANGED
|
@@ -77,7 +77,7 @@ def match_file_name(sub_string: str, search_root: PathExtended, suffixes: set[st
|
|
|
77
77
|
if len(filename_matches) < 20:
|
|
78
78
|
print("\n".join([a_potential_match.as_posix() for a_potential_match in filename_matches]))
|
|
79
79
|
if len(filename_matches) > 1:
|
|
80
|
-
print("Try to narrow down filename_matches search by case-sensitivity.")
|
|
80
|
+
print(f"Try to narrow down filename_matches search by case-sensitivity, found {len(filename_matches)} results. First @ {filename_matches[0].as_posix()}")
|
|
81
81
|
# let's see if avoiding .lower() helps narrowing down to one result
|
|
82
82
|
reduced_scripts = [a_potential_match for a_potential_match in filename_matches if sub_string in a_potential_match.name]
|
|
83
83
|
if len(reduced_scripts) == 1:
|
machineconfig/utils/ssh.py
CHANGED
|
@@ -8,7 +8,7 @@ from machineconfig.utils.terminal import Response
|
|
|
8
8
|
from machineconfig.utils.accessories import pprint, randstr
|
|
9
9
|
from machineconfig.utils.meta import lambda_to_python_script
|
|
10
10
|
UV_RUN_CMD = "$HOME/.local/bin/uv run" if platform.system() != "Windows" else """& "$env:USERPROFILE/.local/bin/uv" run"""
|
|
11
|
-
MACHINECONFIG_VERSION = "machineconfig>=6.
|
|
11
|
+
MACHINECONFIG_VERSION = "machineconfig>=6.85"
|
|
12
12
|
DEFAULT_PICKLE_SUBDIR = "tmp_results/tmp_scripts/ssh"
|
|
13
13
|
|
|
14
14
|
class SSH:
|
|
@@ -115,7 +115,7 @@ class SSH:
|
|
|
115
115
|
self.tqdm_wrap = RichProgressWrapper
|
|
116
116
|
from machineconfig.scripts.python.helpers_devops.cli_utils import get_machine_specs
|
|
117
117
|
self.local_specs: MachineSpecs = get_machine_specs()
|
|
118
|
-
resp = self.run_shell(command=
|
|
118
|
+
resp = self.run_shell(command="""~/.local/bin/utils get-machine-specs """, verbose_output=False, description="Getting remote machine specs", strict_stderr=False, strict_return_code=False)
|
|
119
119
|
json_str = resp.op
|
|
120
120
|
import ast
|
|
121
121
|
self.remote_specs: MachineSpecs = cast(MachineSpecs, ast.literal_eval(json_str))
|
|
@@ -14,10 +14,10 @@ machineconfig/cluster/remote/run_remote.py,sha256=vCc56t8BUAUJp7tyb0PFfwy5hlmIdR
|
|
|
14
14
|
machineconfig/cluster/remote/script_execution.py,sha256=d1NZdIHlB0H69cyLgOv81vS9ui81d9ClM4WA4ICHKLY,9857
|
|
15
15
|
machineconfig/cluster/remote/script_notify_upon_completion.py,sha256=GRxnnbnOl1-hTovTN-zI_M9wdV7x293yA77_mou9I1o,2032
|
|
16
16
|
machineconfig/cluster/sessions_managers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
machineconfig/cluster/sessions_managers/wt_local.py,sha256=
|
|
18
|
-
machineconfig/cluster/sessions_managers/wt_local_manager.py,sha256=
|
|
17
|
+
machineconfig/cluster/sessions_managers/wt_local.py,sha256=AwiSXXOX4XLfrAkgZoy1sSYkNo-7Nq_n4hxPYFAoYqo,9781
|
|
18
|
+
machineconfig/cluster/sessions_managers/wt_local_manager.py,sha256=Y4NT-ukc7z8BVO2tqRZU0tzbLro3uWwU9UUI5MVLut4,19841
|
|
19
19
|
machineconfig/cluster/sessions_managers/wt_remote.py,sha256=yofv3Zlj2aClDUKYhUJVyvO-Wh76Wka71n-DY1ODj0Q,9072
|
|
20
|
-
machineconfig/cluster/sessions_managers/wt_remote_manager.py,sha256=
|
|
20
|
+
machineconfig/cluster/sessions_managers/wt_remote_manager.py,sha256=XC6JUlUsPAuKkw42T0s8wrJNOaXttley2BcfMicH6X0,14490
|
|
21
21
|
machineconfig/cluster/sessions_managers/zellij_local.py,sha256=eI3nLzlg1lrKDBu-RscTUEAvsJVRd06TrcdVABNgVu4,10076
|
|
22
22
|
machineconfig/cluster/sessions_managers/zellij_local_manager.py,sha256=YJVhBTWh4FVduvnysMeka_uQ7cckRTLpMrBx5O386zs,17701
|
|
23
23
|
machineconfig/cluster/sessions_managers/zellij_remote.py,sha256=TFx-Xjmoue8KjbzBFtvFSOSx3zgoTdS_N1WWPPdMBm8,8513
|
|
@@ -27,10 +27,14 @@ machineconfig/cluster/sessions_managers/helpers/load_balancer_helper.py,sha256=i
|
|
|
27
27
|
machineconfig/cluster/sessions_managers/utils/load_balancer.py,sha256=Y4RQmhROY6o7JXSJXRrBTkoAuEmu1gvmvN_7JKPw5sc,3178
|
|
28
28
|
machineconfig/cluster/sessions_managers/utils/maker.py,sha256=V8_ywAEaD9VZQ5GIAm0S0XO_5pf7nAcnVBEyD_R8TSY,2643
|
|
29
29
|
machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py,sha256=OA50j16uUS9ZTjL38TLuR3jufIOln_EszMZpbWyejTo,6972
|
|
30
|
+
machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py,sha256=LWgK-886QMERLRJwQ4rH2Nr2RGlyKu6P7JYoBMVWMGc,1604
|
|
31
|
+
machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py,sha256=e75rdp0G8cDfF9SfkJ7LX3TAJ8R3JWR5v-C_SDkDa14,1627
|
|
30
32
|
machineconfig/cluster/sessions_managers/wt_utils/process_monitor.py,sha256=Mitm7mKiKl5lT0OiEUHAqVg2Q21RjsKO1-hpJTHJ5lM,15196
|
|
31
33
|
machineconfig/cluster/sessions_managers/wt_utils/remote_executor.py,sha256=lApUy67_WhfaBXqt0meZSx_QvwiXjN0YLdyE3c7kP_s,6744
|
|
32
34
|
machineconfig/cluster/sessions_managers/wt_utils/session_manager.py,sha256=-PNcYwPqwdNRnLU9QGKxRR9i6ewY02Id-tgnODB_OzQ,12552
|
|
33
35
|
machineconfig/cluster/sessions_managers/wt_utils/status_reporter.py,sha256=t5EWNOVS-PTc2fWE8aWNBrDyqR8akLtwtRinztxOdpY,9590
|
|
36
|
+
machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py,sha256=OE24ggT2IWwR22rLHPc6fKxnafjPqIqoPa5VqeMDV90,3961
|
|
37
|
+
machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py,sha256=T6u7Ae2F84VEoQykAZotJdkm8KtwLSyAW-LLC9PQKZE,7824
|
|
34
38
|
machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py,sha256=FyYsqowiFAvqv4M0eXRnw2U38r7u8EI1I3p580kV5Y0,2976
|
|
35
39
|
machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py,sha256=FMpwaSeDCc71pEiVk99s8f5NkZEQ8zKQNUuaSXojgq4,4615
|
|
36
40
|
machineconfig/cluster/sessions_managers/zellij_utils/monitoring_types.py,sha256=8l8OAfWYy5xv-EaVqtXLqvPo9YaR9i8kFqGMhPzk0nw,2616
|
|
@@ -109,7 +113,6 @@ machineconfig/scripts/linux/fzfrga,sha256=xSdws6ae28ZXkkqz_uupZ0MYw_vxE2qpLT2DLS
|
|
|
109
113
|
machineconfig/scripts/linux/mcfgs,sha256=tjlIG2qEpmx1EuMBYflYcp6GfgiFgSj4OMOD-d94xio,1179
|
|
110
114
|
machineconfig/scripts/linux/skrg,sha256=JgQJGwxaChr148bDnpTB0rrqZMe2o2zGSDA9x_oUhWM,133
|
|
111
115
|
machineconfig/scripts/linux/term,sha256=CNPY8p6SitOmtOPKXPervPPabjJNYBerA12SHN_v7w4,1139
|
|
112
|
-
machineconfig/scripts/linux/warp-cli.sh,sha256=shFFZ9viet_DSEEHT8kxlGRHoJpO6o85pKYnc3rIkaA,3868
|
|
113
116
|
machineconfig/scripts/linux/other/share_cloud.sh,sha256=lIZrXiaOT11kzu4NFNTXvANhc2bMdSPDYD1-7XUO_C0,2027
|
|
114
117
|
machineconfig/scripts/linux/other/share_nfs,sha256=LDQZQ9TV7z2y7RtNHiO4Wb513MztyGjaAV-GzTGwUdc,1374
|
|
115
118
|
machineconfig/scripts/linux/other/start_docker,sha256=_yDN_PPqgzSUnPT7dmniMTpL4IfeeaGy1a2OL3IJlDU,525
|
|
@@ -120,17 +123,17 @@ machineconfig/scripts/python/cloud.py,sha256=yAD6ciKiEtv2CH3g2NScDK5cpCZQi7Vu8yy
|
|
|
120
123
|
machineconfig/scripts/python/croshell.py,sha256=QyQbVboNqDQHJkUeSsJvdT212t4TW46yat3GBzneqsQ,8649
|
|
121
124
|
machineconfig/scripts/python/devops.py,sha256=Lv4d-UlyOREj4VTcu_pxswYo54Mawe3XGeKjreGQDYg,2222
|
|
122
125
|
machineconfig/scripts/python/devops_navigator.py,sha256=5Cm384D4S8_GsvMzTwr0C16D0ktf8_5Mk5bEJncwDO8,237
|
|
123
|
-
machineconfig/scripts/python/fire_jobs.py,sha256=
|
|
126
|
+
machineconfig/scripts/python/fire_jobs.py,sha256=bW2RHIP1qD54d_WZHflNwTej7lrdE8OOuJ7ZKQpiB8I,13897
|
|
124
127
|
machineconfig/scripts/python/ftpx.py,sha256=A13hL_tDYfcsaK9PkshK-0lrUS6KPhPCtwqWtLSo6IM,9764
|
|
125
128
|
machineconfig/scripts/python/interactive.py,sha256=zt3g6nGKR_Y5A57UnR4Y5-JpLzrpnCOSaqU1bnaikK0,11666
|
|
126
129
|
machineconfig/scripts/python/mcfg.py,sha256=TB5lZDZDImGqX4_mMSEv4ZoFigIPA0RXn-9H2cmPS6g,2457
|
|
127
130
|
machineconfig/scripts/python/sessions.py,sha256=JfN8M7r7f8DkfiGJ4jz2NfXvABm90nOZJmLGxPgw_2M,9518
|
|
128
|
-
machineconfig/scripts/python/terminal.py,sha256=
|
|
129
|
-
machineconfig/scripts/python/utils.py,sha256=
|
|
131
|
+
machineconfig/scripts/python/terminal.py,sha256=5D0RlZkx9ut5WlwjDI8j-t_z6u-H_jJD1eKBnWy_TGU,5191
|
|
132
|
+
machineconfig/scripts/python/utils.py,sha256=1960YceYJyjo0UFAiVaxIMIXm031wdYRA8l1U6k6h9s,3282
|
|
130
133
|
machineconfig/scripts/python/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
131
134
|
machineconfig/scripts/python/ai/generate_files.py,sha256=VfjKdwgF8O6E4oiRtfWNliibLmmwGe7f9ld6wpOsXTw,14498
|
|
132
135
|
machineconfig/scripts/python/ai/initai.py,sha256=P4-NCLJPWeNef_k-l4TQ92AB1Xm1k3xzdqSBIjmevnQ,1573
|
|
133
|
-
machineconfig/scripts/python/ai/vscode_tasks.py,sha256=
|
|
136
|
+
machineconfig/scripts/python/ai/vscode_tasks.py,sha256=OF8q4oKu53lJy8u36h3alHx3XmMhqHaaXZ-T5nr7b18,1481
|
|
134
137
|
machineconfig/scripts/python/ai/command_runner/command_runner.sh,sha256=PRaQyeI3lDi3s8pm_0xZc71gRvUFO0bEt8o1g1rwwD4,761
|
|
135
138
|
machineconfig/scripts/python/ai/command_runner/prompt.txt,sha256=-2NFBMf-8yk5pOe-3LBX3RTIhqIZHJS_m-v4k-j9sWI,779
|
|
136
139
|
machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1,sha256=m_z4vzLrvi6bgTZumN8twcbIWb9i8ZHfVJPE8jPdxyc,5074
|
|
@@ -159,7 +162,7 @@ machineconfig/scripts/python/ai/solutions/opencode/opencode.json,sha256=nahHKRw1
|
|
|
159
162
|
machineconfig/scripts/python/ai/solutions/opencode/opencode.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
160
163
|
machineconfig/scripts/python/env_manager/__init__.py,sha256=E4LAHbU1wo2dLjE36ntv8U7QNTe8TasujUAYK9SLvWk,6
|
|
161
164
|
machineconfig/scripts/python/env_manager/path_manager_backend.py,sha256=ZVGlGJALhg7zNABDdwXxL7MFbL2BXPebObipXSLGbic,1552
|
|
162
|
-
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=
|
|
165
|
+
machineconfig/scripts/python/env_manager/path_manager_tui.py,sha256=fu03lfRAzf7NSyMdbKFfA-eqNWtUeyZAF02QAiOxEY8,6932
|
|
163
166
|
machineconfig/scripts/python/helpers_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
167
|
machineconfig/scripts/python/helpers_cloud/cloud_copy.py,sha256=OV1w3ajFVFs6FJytjIPOntYB_aW2ywGohKi73V4Dm2Y,8691
|
|
165
168
|
machineconfig/scripts/python/helpers_cloud/cloud_helpers.py,sha256=GA-bxXouUmknk9fyQAsPT-Xl3RG9-yBed71a2tu9Pig,4914
|
|
@@ -175,15 +178,15 @@ machineconfig/scripts/python/helpers_croshell/start_slidev.py,sha256=HfJReOusTPh
|
|
|
175
178
|
machineconfig/scripts/python/helpers_croshell/viewer.py,sha256=heQNjB9fwn3xxbPgMofhv1Lp6Vtkl76YjjexWWBM0pM,2041
|
|
176
179
|
machineconfig/scripts/python/helpers_croshell/viewer_template.py,sha256=ve3Q1-iKhCLc0VJijKvAeOYp2xaFOeIOC_XW956GWCc,3944
|
|
177
180
|
machineconfig/scripts/python/helpers_devops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
|
-
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=
|
|
181
|
+
machineconfig/scripts/python/helpers_devops/cli_config.py,sha256=Dt1ePdB8oIz2cBZNKdzhWqEa8Fe9C5gLrh55qoYZmMY,7218
|
|
179
182
|
machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py,sha256=fluxRtD6hlbh131_RmeKr2Dy8tZpeC4H9-wp2sYt0dM,2486
|
|
180
183
|
machineconfig/scripts/python/helpers_devops/cli_data.py,sha256=79Xvx7YnbueruEnl69hrDg2AhVxf_zCUdlVcKfeMGyQ,1774
|
|
181
|
-
machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=
|
|
184
|
+
machineconfig/scripts/python/helpers_devops/cli_nw.py,sha256=edeZPhQrm-hvOx80TPt9GNZXlXq9kkTaRSZSpNdku8w,6441
|
|
182
185
|
machineconfig/scripts/python/helpers_devops/cli_repos.py,sha256=Xwkv1adqHZvTfRSPWiqSK3PZ1XADyx3llw_YkbxaKyE,12505
|
|
183
|
-
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256
|
|
186
|
+
machineconfig/scripts/python/helpers_devops/cli_self.py,sha256=-XLkpJHc9s-Hi9ZiLPzCIV1gdeQwsbOIlpchxJNV4Gs,6225
|
|
184
187
|
machineconfig/scripts/python/helpers_devops/cli_share_server.py,sha256=q9pFJ6AxPuygMr3onMNOKEuuQHbVE_6Qoyo7xRT5FX0,4196
|
|
185
188
|
machineconfig/scripts/python/helpers_devops/cli_terminal.py,sha256=k_PzXaiGyE0vXr0Ii1XcJz2A7UvyPJrR31TRWt4RKRI,6019
|
|
186
|
-
machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=
|
|
189
|
+
machineconfig/scripts/python/helpers_devops/cli_utils.py,sha256=P_PoJnY8ltCmhCarh74dxF2cm5cRBeyU95xPrRzJANU,10182
|
|
187
190
|
machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py,sha256=Dn8luB6QJzxKiiFSC-NMqiYddWZoca3A8eOjMYZDzTc,5598
|
|
188
191
|
machineconfig/scripts/python/helpers_devops/devops_status.py,sha256=PJVPhfhXq8der6Xd-_fjZfnizfM-RGfJApkRGhGBmNo,20525
|
|
189
192
|
machineconfig/scripts/python/helpers_devops/devops_update_repos.py,sha256=kSln8_-Wn7Qu0NaKdt-QTN_bBVyTIAWHH8xVYKK-vCM,10133
|
|
@@ -197,7 +200,7 @@ machineconfig/scripts/python/helpers_fire/fire_agents_help_launch.py,sha256=GBhi
|
|
|
197
200
|
machineconfig/scripts/python/helpers_fire/fire_agents_help_search.py,sha256=qIfSS_su2YJ1Gb0_lu4cbjlJlYMBw0v52NTGiSrGjk8,2991
|
|
198
201
|
machineconfig/scripts/python/helpers_fire/fire_agents_helper_types.py,sha256=umX-Na6W_8kGZX7ccElnvGP8yxJ8prGBiG3-dO9vXJ0,1304
|
|
199
202
|
machineconfig/scripts/python/helpers_fire/fire_agents_load_balancer.py,sha256=mpqx3uaQdBXYieuvhdK-qsvLepf9oIMo3pwPj9mSEDI,1079
|
|
200
|
-
machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=
|
|
203
|
+
machineconfig/scripts/python/helpers_fire/helpers4.py,sha256=VCrnv5n42SbDXKDJ8VNu_bA0UruTLWXQBK9SxhflzTY,5477
|
|
201
204
|
machineconfig/scripts/python/helpers_fire/prompt.txt,sha256=Ni6r-Dh0Ez2XwfOZl3MOMDhfn6BJ2z4IdK3wFvA3c_o,116
|
|
202
205
|
machineconfig/scripts/python/helpers_fire/template.ps1,sha256=9F7h9NMIJisunMIii2wETpgonQmiGLHLHfWg9k_QWKo,859
|
|
203
206
|
machineconfig/scripts/python/helpers_fire/template.sh,sha256=rOND8s0-MuymFMn6lUspa0SkDikQkKlnJRl2Kyo57Ho,837
|
|
@@ -222,7 +225,7 @@ machineconfig/scripts/python/helpers_navigator/search_bar.py,sha256=kDi8Jhxap8wd
|
|
|
222
225
|
machineconfig/scripts/python/helpers_repos/action.py,sha256=8je051kpGZ7A_GRsQyWKhPZ8xVW7tSm4bnPu6VjxaXk,9755
|
|
223
226
|
machineconfig/scripts/python/helpers_repos/action_helper.py,sha256=XRCtkGkNrxauqUd9qkxtfJt02Mx2gejSYDLL0jyWn24,6176
|
|
224
227
|
machineconfig/scripts/python/helpers_repos/clone.py,sha256=UULEG5xJuXlPGU0nqXH6U45jA9DOFqLw8B4iPytCwOQ,5471
|
|
225
|
-
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=
|
|
228
|
+
machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py,sha256=ZiQgOHuc0GYGSmIOB833W-5C4Plt75FpgeYcRipraak,10450
|
|
226
229
|
machineconfig/scripts/python/helpers_repos/count_lines.py,sha256=Q5c7b-DxvTlQmljoic7niTuiAVyFlwYvkVQ7uRJHiTo,16009
|
|
227
230
|
machineconfig/scripts/python/helpers_repos/count_lines_frontend.py,sha256=vSDtrF4829jziwp6WZmGt9G8MJ9jY4hfXqtf0vhkYSE,607
|
|
228
231
|
machineconfig/scripts/python/helpers_repos/entrypoint.py,sha256=WYEFGUJp9HWImlFjbs_hiFZrUqM_KEYm5VvSUjWd04I,2810
|
|
@@ -238,7 +241,7 @@ machineconfig/scripts/python/nw/add_ssh_key.py,sha256=9JLmWu8pE7PAL5VuCFd19iVEdC
|
|
|
238
241
|
machineconfig/scripts/python/nw/devops_add_identity.py,sha256=aPjcHbTLhxYwWYcandyAHdwuO15ZBu3fB82u6bI0tMQ,3773
|
|
239
242
|
machineconfig/scripts/python/nw/devops_add_ssh_key.py,sha256=CkIl85hZLtG9k7yXLSzqi88YrilHV4hIUWHAPBwxWjw,8922
|
|
240
243
|
machineconfig/scripts/python/nw/mount_drive,sha256=zemKofv7hOmRN_V3qK0q580GkfWw3VdikyVVQyiu8j8,3514
|
|
241
|
-
machineconfig/scripts/python/nw/mount_nfs,sha256=
|
|
244
|
+
machineconfig/scripts/python/nw/mount_nfs,sha256=YcDHqe9fEnOk01qEd4ItnlHZr2GQce-e-o7V3HHK-pI,1855
|
|
242
245
|
machineconfig/scripts/python/nw/mount_nfs.py,sha256=lOMDY4RS7tx8gsCazVR5tNNwFbaRyO2PJlnwBCDQgCM,3573
|
|
243
246
|
machineconfig/scripts/python/nw/mount_nw_drive,sha256=BqjGBCbwe5ZAsZDO3L0zHhh_gJfZy1CYOcqXA4Y-WkQ,2262
|
|
244
247
|
machineconfig/scripts/python/nw/mount_nw_drive.py,sha256=iru6AtnTyvyuk6WxlK5R4lDkuliVpPV5_uBTVVhXtjQ,1550
|
|
@@ -247,17 +250,17 @@ machineconfig/scripts/python/nw/mount_ssh.py,sha256=qt0P4T4pheszexBxaDeLVrGdLIVR
|
|
|
247
250
|
machineconfig/scripts/python/nw/onetimeshare.py,sha256=xRd8by6qUm-od2Umty2MYsXyJwzXw-CBTd7VellNaKY,2498
|
|
248
251
|
machineconfig/scripts/python/nw/ssh_debug_linux.py,sha256=VSFhyzYQeLIoSwsUFJFW1Wc89DinrpZ_YxyYB2Ndy-4,30966
|
|
249
252
|
machineconfig/scripts/python/nw/ssh_debug_windows.py,sha256=2prJs3PMsoAUu5LlZhHIKGVgqj7h6OviGEjAMJLJ7LI,29986
|
|
250
|
-
machineconfig/scripts/python/nw/wifi_conn.py,sha256=
|
|
253
|
+
machineconfig/scripts/python/nw/wifi_conn.py,sha256=wnSs16kHwhELS7wX3UtRVXgR_5En-x4nD27_JpJIflw,13590
|
|
251
254
|
machineconfig/scripts/python/nw/wsl_windows_transfer.py,sha256=jHJyFTuks_Kw4cgE8xuGDVjO_71JgICrsV9ZQt53meY,3524
|
|
252
255
|
machineconfig/scripts/windows/fzfb.ps1,sha256=Bmngm2aY8hnPa3iKAOK6EPDYdKzGLUc81wYOnJhNoqg,149
|
|
253
256
|
machineconfig/scripts/windows/fzfg.ps1,sha256=CHJbMrMuZePd4dxwIwz3g4XWAEmWmckuX-Nrx2xgRkg,27
|
|
254
257
|
machineconfig/scripts/windows/fzfrga.bat,sha256=rU_KBMO6ii2EZ0akMnmDk9vpuhKSUZqkV0o8a8ywXcM,488
|
|
255
258
|
machineconfig/scripts/windows/mcfgs.ps1,sha256=uuK5pEz38D3_SOjfhbvkDT8Kt4I62YhNzkExlW8VSps,577
|
|
256
|
-
machineconfig/scripts/windows/term.ps1,sha256=
|
|
259
|
+
machineconfig/scripts/windows/term.ps1,sha256=nme_OWis84qN-zI2c0rdysNcDIdoaEKajXZhP2QioQs,1742
|
|
257
260
|
machineconfig/scripts/windows/mounts/mount_nfs.ps1,sha256=XrAdzpxE6a4OccSmWJ7YWHJTnsZK8uXnFE5j9GOPA20,2026
|
|
258
261
|
machineconfig/scripts/windows/mounts/mount_nw.ps1,sha256=puxcfZc3ZCJerm8pj8OZGVoTYkhzp-h7oV-MrksSqIE,454
|
|
259
262
|
machineconfig/scripts/windows/mounts/mount_smb.ps1,sha256=PzYWpIO9BpwXjdWlUQL9pnMRnOGNSkxfh4bHukJFme8,69
|
|
260
|
-
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=
|
|
263
|
+
machineconfig/scripts/windows/mounts/mount_ssh.ps1,sha256=fK9_qWP_-xCfvM1eexaOgWp32HYZGq257_s448V5I44,322
|
|
261
264
|
machineconfig/scripts/windows/mounts/share_cloud.cmd,sha256=exD7JCdxw2LqVjw2MKCYHbVZlEqmelXtwnATng-dhJ4,1028
|
|
262
265
|
machineconfig/scripts/windows/mounts/share_smb.ps1,sha256=U7x8ULYSjbgzTtiHNSKQuTaZ_apilDvkGV5Xm5hXk5M,384
|
|
263
266
|
machineconfig/scripts/windows/mounts/unlock_bitlocker.ps1,sha256=Wv-SLscdckV-1mG3p82VXKPY9zW3hgkRmcLUXIZ1daE,253
|
|
@@ -374,7 +377,7 @@ machineconfig/setup_linux/others/cli_installation.sh,sha256=gVvszYZJgKPRJx2SEaE3
|
|
|
374
377
|
machineconfig/setup_linux/others/mint_keyboard_shortcuts.sh,sha256=F5dbg0n9RHsKGPn8fIdZMn3p0RrHEkb8rWBGsdVGbus,1207
|
|
375
378
|
machineconfig/setup_linux/ssh/openssh_all.sh,sha256=3dg6HEUFbHQOzLfSAtzK_D_GB8rGCCp_aBnxNdnidVc,824
|
|
376
379
|
machineconfig/setup_linux/ssh/openssh_wsl.sh,sha256=1eeRGrloVB34K5z8yWVUMG5b9pV-WBfHgV9jqXiYgCQ,1398
|
|
377
|
-
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=
|
|
380
|
+
machineconfig/setup_linux/web_shortcuts/interactive.sh,sha256=s1HGck3ZSTz2OhybyA42K-s2mEOjrJouElzmwOwuS9Y,488
|
|
378
381
|
machineconfig/setup_mac/__init__.py,sha256=Q1waupi5vCBroLqc8Rtnw69_7jLnm2Cs7_zH_GSZgMs,616
|
|
379
382
|
machineconfig/setup_mac/apps.sh,sha256=R0N6fBwLCzwy4qAormyMerXXXrHazibSkY6NrNOpTQU,2772
|
|
380
383
|
machineconfig/setup_mac/uv.sh,sha256=CSN8oCBKS-LK1vJJqYOhAMcrouTf4Q_F3cpplc_ddMA,1157
|
|
@@ -388,25 +391,25 @@ machineconfig/setup_windows/others/power_options.ps1,sha256=c7Hn94jBD5GWF29CxMhm
|
|
|
388
391
|
machineconfig/setup_windows/ssh/add-sshkey.ps1,sha256=qfPdqCpd9KP3VhH4ifsUm1Xvec7c0QVl4Wt8JIAm9HQ,1653
|
|
389
392
|
machineconfig/setup_windows/ssh/add_identity.ps1,sha256=b8ZXpmNUSw3IMYvqSY7ClpdWPG39FS7MefoWnRhWN2U,506
|
|
390
393
|
machineconfig/setup_windows/ssh/openssh-server.ps1,sha256=OMlYQdvuJQNxF5EILLPizB6BZAT3jAmDsv1WcVVxpFQ,2529
|
|
391
|
-
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=
|
|
394
|
+
machineconfig/setup_windows/web_shortcuts/interactive.ps1,sha256=Jq0jg6azu1wPPybq2gsxpQoOKlcMdSxXmELKgGCyBsU,616
|
|
392
395
|
machineconfig/setup_windows/wt_and_pwsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
393
396
|
machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py,sha256=ogxJnwpdcpH7N6dFJu95UCNoGYirZKQho_3X0F_hmXs,6791
|
|
394
397
|
machineconfig/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
395
398
|
machineconfig/utils/accessories.py,sha256=Rs8R0GUb2Ub6YimkgXHnI02CShS5BKlrZdCigVxfPlk,4339
|
|
396
|
-
machineconfig/utils/code.py,sha256=
|
|
397
|
-
machineconfig/utils/installer.py,sha256=
|
|
399
|
+
machineconfig/utils/code.py,sha256=yEsBswdx94hZedsb_Gy0-H6_CeivHzOiv8-aK9tGIgg,5823
|
|
400
|
+
machineconfig/utils/installer.py,sha256=m92KwGeep0FrT8V42xJDQdcT74HK9RB-xza0Ii50nHA,10376
|
|
398
401
|
machineconfig/utils/io.py,sha256=4dSieoqZO8Vvi4vW8lLoITDHBvmFp4dtl3kyeZHQ6Co,2528
|
|
399
402
|
machineconfig/utils/links.py,sha256=KM6vIn3hag9FYEzLSHP5MAM9tU_RStw2mCq2_OvmmZA,23672
|
|
400
403
|
machineconfig/utils/meta.py,sha256=RXbq3_DSFAFNAEt9GjWqP2TjCWUs0v7gAkKCgRpdwO8,9853
|
|
401
404
|
machineconfig/utils/notifications.py,sha256=tuXIudcip0tEioG-bm8BbLr3FMDve4f6BktlznBhKxM,9013
|
|
402
405
|
machineconfig/utils/options.py,sha256=VWYx3EKJxIp-CJ8gDGYdjclKSc1tMUhyrC8v3seeneo,7447
|
|
403
406
|
machineconfig/utils/path_extended.py,sha256=WyJwoHnXdvSQQJ-yrxTX78FpqYmgVeKDYpNEB9UsRck,53223
|
|
404
|
-
machineconfig/utils/path_helper.py,sha256=
|
|
407
|
+
machineconfig/utils/path_helper.py,sha256=Yxj8qlf-g_254-dfvRx5rlisM2WA0P-BhZBEbmReeys,8095
|
|
405
408
|
machineconfig/utils/procs.py,sha256=YPA_vEYQGwPd_o_Lc6nOTBo5BrB1tSs8PJ42XiGpenM,10957
|
|
406
409
|
machineconfig/utils/scheduler.py,sha256=fguwvINyaupOxdU5Uadyxalh_jXTXDzt0ioEgjEOKcM,14705
|
|
407
|
-
machineconfig/utils/scheduling.py,sha256=
|
|
410
|
+
machineconfig/utils/scheduling.py,sha256=vcJgajeJPSWkJNlarYJSmLvasdOuCtBM4druOAB1Nwc,11089
|
|
408
411
|
machineconfig/utils/source_of_truth.py,sha256=ZAnCRltiM07ig--P6g9_6nEAvNFC4X4ERFTVcvpIYsE,764
|
|
409
|
-
machineconfig/utils/ssh.py,sha256
|
|
412
|
+
machineconfig/utils/ssh.py,sha256=QeS0SHvtJzGtXTbC_7Qns--QjQlfk0uIDT--vOKA9OA,39008
|
|
410
413
|
machineconfig/utils/terminal.py,sha256=VDgsjTjBmMGgZN0YIc0pJ8YksLDrBtiXON1EThy7_is,4264
|
|
411
414
|
machineconfig/utils/tst.py,sha256=6u1GI49NdcpxH2BYGAusNfY5q9G_ytCGVzFM5b6HYpM,674
|
|
412
415
|
machineconfig/utils/upgrade_packages.py,sha256=TCohwiwc0btSsInOloxDVuk5i88yc1vBK8RZcoMWoUw,3425
|
|
@@ -435,8 +438,8 @@ machineconfig/utils/schemas/installer/installer_types.py,sha256=QClRY61QaduBPJoS
|
|
|
435
438
|
machineconfig/utils/schemas/layouts/layout_types.py,sha256=TcqlZdGVoH8htG5fHn1KWXhRdPueAcoyApppZsPAPto,2020
|
|
436
439
|
machineconfig/utils/schemas/repos/repos_types.py,sha256=ECVr-3IVIo8yjmYmVXX2mnDDN1SLSwvQIhx4KDDQHBQ,405
|
|
437
440
|
machineconfig/utils/ssh_utils/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
438
|
-
machineconfig-6.
|
|
439
|
-
machineconfig-6.
|
|
440
|
-
machineconfig-6.
|
|
441
|
-
machineconfig-6.
|
|
442
|
-
machineconfig-6.
|
|
441
|
+
machineconfig-6.85.dist-info/METADATA,sha256=1GTj08560el2P_sSeVjfViYjV0ZJoVX5E--oKQiFWRQ,2928
|
|
442
|
+
machineconfig-6.85.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
443
|
+
machineconfig-6.85.dist-info/entry_points.txt,sha256=uf_ZPJa02_y3Fw5Z7m22cq7PwxhYd1QV2FfPNZTl_dQ,519
|
|
444
|
+
machineconfig-6.85.dist-info/top_level.txt,sha256=porRtB8qms8fOIUJgK-tO83_FeH6Bpe12oUVC670teA,14
|
|
445
|
+
machineconfig-6.85.dist-info/RECORD,,
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Installs Cloudflare WARP (warp-cli) on supported Ubuntu / Debian systems.
|
|
3
|
-
# Usage: sudo ./warp-cli.sh [--allow-unsupported] [--force-reinstall]
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
ALLOW_UNSUPPORTED=0
|
|
8
|
-
FORCE_REINSTALL=0
|
|
9
|
-
|
|
10
|
-
for arg in "$@"; do
|
|
11
|
-
case "$arg" in
|
|
12
|
-
--allow-unsupported) ALLOW_UNSUPPORTED=1 ;;
|
|
13
|
-
--force-reinstall) FORCE_REINSTALL=1 ;;
|
|
14
|
-
-h|--help)
|
|
15
|
-
printf "Usage: %s [--allow-unsupported] [--force-reinstall]\n" "$0"
|
|
16
|
-
exit 0
|
|
17
|
-
;;
|
|
18
|
-
*)
|
|
19
|
-
printf "Unknown argument: %s\n" "$arg" >&2
|
|
20
|
-
exit 2
|
|
21
|
-
;;
|
|
22
|
-
esac
|
|
23
|
-
done
|
|
24
|
-
|
|
25
|
-
require_root() {
|
|
26
|
-
if [ "${EUID}" -ne 0 ]; then
|
|
27
|
-
printf "Please run as root (use sudo).\n" >&2
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
have_cmd() { command -v "$1" >/dev/null 2>&1; }
|
|
33
|
-
|
|
34
|
-
detect_os() {
|
|
35
|
-
if have_cmd lsb_release; then
|
|
36
|
-
DIST_ID=$(lsb_release -si 2>/dev/null | tr '[:upper:]' '[:lower:]')
|
|
37
|
-
CODENAME=$(lsb_release -sc 2>/dev/null | tr '[:upper:]' '[:lower:]')
|
|
38
|
-
elif [ -f /etc/os-release ]; then
|
|
39
|
-
# shellcheck disable=SC1091
|
|
40
|
-
. /etc/os-release
|
|
41
|
-
DIST_ID=$(printf "%s" "${ID:-}" | tr '[:upper:]' '[:lower:]')
|
|
42
|
-
CODENAME=$(printf "%s" "${VERSION_CODENAME:-}" | tr '[:upper:]' '[:lower:]')
|
|
43
|
-
else
|
|
44
|
-
printf "Cannot detect distribution. Install lsb_release or provide /etc/os-release.\n" >&2
|
|
45
|
-
exit 1
|
|
46
|
-
fi
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
is_supported() {
|
|
50
|
-
case "$DIST_ID" in
|
|
51
|
-
ubuntu)
|
|
52
|
-
# Supported: noble jammy focal (older: bionic xenial)
|
|
53
|
-
case "$CODENAME" in
|
|
54
|
-
noble|jammy|focal|bionic|xenial) return 0 ;; esac ;;
|
|
55
|
-
debian)
|
|
56
|
-
# Supported: bookworm bullseye buster (older: stretch)
|
|
57
|
-
case "$CODENAME" in
|
|
58
|
-
bookworm|bullseye|buster|stretch) return 0 ;; esac ;;
|
|
59
|
-
esac
|
|
60
|
-
return 1
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
add_key() {
|
|
64
|
-
local key_path="/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg"
|
|
65
|
-
if [ -s "$key_path" ]; then
|
|
66
|
-
return 0
|
|
67
|
-
fi
|
|
68
|
-
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output "$key_path"
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
add_repo() {
|
|
72
|
-
local list_file="/etc/apt/sources.list.d/cloudflare-client.list"
|
|
73
|
-
if grep -q "pkg.cloudflareclient.com" "$list_file" 2>/dev/null; then
|
|
74
|
-
return 0
|
|
75
|
-
fi
|
|
76
|
-
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ ${CODENAME} main" > "$list_file"
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
need_update=0
|
|
80
|
-
install_package() {
|
|
81
|
-
if dpkg -s cloudflare-warp >/dev/null 2>&1; then
|
|
82
|
-
if [ "$FORCE_REINSTALL" -eq 1 ]; then
|
|
83
|
-
apt-get install --reinstall -y cloudflare-warp
|
|
84
|
-
else
|
|
85
|
-
printf "cloudflare-warp already installed. Use --force-reinstall to reinstall.\n"
|
|
86
|
-
fi
|
|
87
|
-
else
|
|
88
|
-
apt-get install -y cloudflare-warp
|
|
89
|
-
fi
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
main() {
|
|
93
|
-
require_root
|
|
94
|
-
if ! have_cmd apt-get; then
|
|
95
|
-
printf "apt-get not found. This script supports only Debian/Ubuntu.\n" >&2
|
|
96
|
-
exit 1
|
|
97
|
-
fi
|
|
98
|
-
detect_os
|
|
99
|
-
if ! is_supported; then
|
|
100
|
-
if [ "$ALLOW_UNSUPPORTED" -ne 1 ]; then
|
|
101
|
-
printf "Distribution %s (%s) not in supported list. Use --allow-unsupported to proceed.\n" "$DIST_ID" "$CODENAME" >&2
|
|
102
|
-
exit 3
|
|
103
|
-
else
|
|
104
|
-
printf "Proceeding on unsupported distribution %s (%s).\n" "$DIST_ID" "$CODENAME"
|
|
105
|
-
fi
|
|
106
|
-
fi
|
|
107
|
-
pre_key_checksum=$( [ -f /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg ] && sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1 || true )
|
|
108
|
-
add_key
|
|
109
|
-
post_key_checksum=$(sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1)
|
|
110
|
-
if [ "$pre_key_checksum" != "$post_key_checksum" ]; then need_update=1; fi
|
|
111
|
-
repo_before=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
|
|
112
|
-
add_repo
|
|
113
|
-
repo_after=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
|
|
114
|
-
if [ "$repo_before" != "$repo_after" ]; then need_update=1; fi
|
|
115
|
-
if [ "$need_update" -eq 1 ]; then
|
|
116
|
-
apt-get update
|
|
117
|
-
fi
|
|
118
|
-
install_package
|
|
119
|
-
printf "Done. Basic usage: 'warp-cli register' then 'warp-cli connect'. For account: 'warp-cli set-mode warp'.\n"
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
main "$@"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|