mirror of
https://gitlab.com/kupfer/kupferbootstrap.git
synced 2025-02-23 05:35:44 -05:00
Don't wrap in docker for little wrappers like ssh and telnet if the tool is available on the host
This commit is contained in:
parent
1d172ad635
commit
f424e9ce8f
5 changed files with 15 additions and 6 deletions
|
@ -2,12 +2,13 @@ import click
|
||||||
import subprocess
|
import subprocess
|
||||||
from logger import logging
|
from logger import logging
|
||||||
from ssh import cmd_ssh
|
from ssh import cmd_ssh
|
||||||
from wrapper import enforce_wrap
|
from wrapper import check_programs_wrap
|
||||||
|
|
||||||
|
|
||||||
@click.command(name='forwarding')
|
@click.command(name='forwarding')
|
||||||
def cmd_forwarding():
|
def cmd_forwarding():
|
||||||
enforce_wrap()
|
check_programs_wrap(['syctl', 'iptables'])
|
||||||
|
|
||||||
result = subprocess.run([
|
result = subprocess.run([
|
||||||
'sysctl',
|
'sysctl',
|
||||||
'net.ipv4.ip_forward=1',
|
'net.ipv4.ip_forward=1',
|
||||||
|
|
|
@ -10,7 +10,7 @@ from config import config
|
||||||
from chroot import create_chroot
|
from chroot import create_chroot
|
||||||
from joblib import Parallel, delayed
|
from joblib import Parallel, delayed
|
||||||
from distro import get_kupfer_local
|
from distro import get_kupfer_local
|
||||||
from wrapper import enforce_wrap
|
from wrapper import enforce_wrap, check_programs_wrap
|
||||||
|
|
||||||
makepkg_env = os.environ.copy() | {
|
makepkg_env = os.environ.copy() | {
|
||||||
'LANG': 'C',
|
'LANG': 'C',
|
||||||
|
@ -539,7 +539,7 @@ def cmd_build(paths: list[str], force=False, arch='aarch64'):
|
||||||
|
|
||||||
@cmd_packages.command(name='clean')
|
@cmd_packages.command(name='clean')
|
||||||
def cmd_clean():
|
def cmd_clean():
|
||||||
enforce_wrap()
|
check_programs_wrap('git')
|
||||||
result = subprocess.run([
|
result = subprocess.run([
|
||||||
'git',
|
'git',
|
||||||
'clean',
|
'clean',
|
||||||
|
|
2
ssh.py
2
ssh.py
|
@ -1,9 +1,11 @@
|
||||||
import subprocess
|
import subprocess
|
||||||
import click
|
import click
|
||||||
|
from wrapper import check_programs_wrap
|
||||||
|
|
||||||
|
|
||||||
@click.command(name='ssh')
|
@click.command(name='ssh')
|
||||||
def cmd_ssh(cmd: list[str] = [], host: str = '172.16.42.1', user: str = 'kupfer', port: int = 22):
|
def cmd_ssh(cmd: list[str] = [], host: str = '172.16.42.1', user: str = 'kupfer', port: int = 22):
|
||||||
|
check_programs_wrap('ssh')
|
||||||
return subprocess.run([
|
return subprocess.run([
|
||||||
'ssh',
|
'ssh',
|
||||||
'-o',
|
'-o',
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import subprocess
|
import subprocess
|
||||||
import click
|
import click
|
||||||
from wrapper import enforce_wrap
|
from wrapper import check_programs_wrap
|
||||||
|
|
||||||
|
|
||||||
@click.command(name='telnet')
|
@click.command(name='telnet')
|
||||||
def cmd_telnet(hostname: str = '172.16.42.1'):
|
def cmd_telnet(hostname: str = '172.16.42.1'):
|
||||||
enforce_wrap()
|
check_programs_wrap('telnet')
|
||||||
subprocess.run([
|
subprocess.run([
|
||||||
'telnet',
|
'telnet',
|
||||||
hostname,
|
hostname,
|
||||||
|
|
|
@ -6,6 +6,7 @@ import uuid
|
||||||
import click
|
import click
|
||||||
import logging
|
import logging
|
||||||
from config import config, dump_file as dump_config_file
|
from config import config, dump_file as dump_config_file
|
||||||
|
from utils import programs_available
|
||||||
|
|
||||||
DOCKER_PATHS = {
|
DOCKER_PATHS = {
|
||||||
'chroots': '/chroot',
|
'chroots': '/chroot',
|
||||||
|
@ -107,6 +108,11 @@ def enforce_wrap(no_wrapper=False):
|
||||||
wrap_docker()
|
wrap_docker()
|
||||||
|
|
||||||
|
|
||||||
|
def check_programs_wrap(programs):
|
||||||
|
if not programs_available(programs):
|
||||||
|
enforce_wrap()
|
||||||
|
|
||||||
|
|
||||||
nowrapper_option = click.option(
|
nowrapper_option = click.option(
|
||||||
'--no-wrapper',
|
'--no-wrapper',
|
||||||
'no_wrapper',
|
'no_wrapper',
|
||||||
|
|
Loading…
Add table
Reference in a new issue