lager-cli 0.28.0__tar.gz → 0.28.1__tar.gz
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.
- {lager_cli-0.28.0/lager_cli.egg-info → lager_cli-0.28.1}/PKG-INFO +1 -1
- {lager_cli-0.28.0 → lager_cli-0.28.1}/__init__.py +1 -1
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/ssh.py +14 -1
- {lager_cli-0.28.0 → lager_cli-0.28.1/lager_cli.egg-info}/PKG-INFO +1 -1
- {lager_cli-0.28.0 → lager_cli-0.28.1}/LICENSE +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/MANIFEST.in +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/README.md +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/__main__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/address_utils.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/battery/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/battery/battery_tui.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/battery/websocket_client.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/box_storage.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/_host_ops.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/_mount_prep.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/_pip_validation.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/_shim_verbs.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/_ssh.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/authorize.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/box_group.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/boxes.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/config.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/diagnose.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/dut.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/hello.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/instruments.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/labjack_pins.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/lock.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/net_tui.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/box/nets.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/ble.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/blufi.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/i2c.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/router.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/spi.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/uart.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/usb.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/websocket_client.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/communication/wifi.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/arm.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/debug/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/debug/commands.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/debug/gdb.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/debug/net_cache.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/debug/service_client.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/debug/service_helper.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/debug/tunnel.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/devenv.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/development/python.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/adc.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/dac.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/energy.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/gpi.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/gpo.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/logic.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/scope.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/thermocouple.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/measurement/watt.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/power/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/power/battery.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/power/eload.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/power/solar.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/power/supply.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/binaries.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/defaults.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/exec_.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/install.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/install_wheel.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/logs.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/uninstall.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/update.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/commands/utility/webcam.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/config.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/context/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/context/ci_detection.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/context/constants.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/context/core.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/context/error_handlers.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/context/session.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/group_usage.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/matchers.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/net_group.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/net_helpers.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/net_storage.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/param_types.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/ssh_utils.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/utils.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/version_skew.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/core/ws_diagnose.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/deployment/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/deployment/scripts/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/deployment/scripts/convert_to_sparse_checkout.sh +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/deployment/scripts/setup_and_deploy_box.sh +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/deployment/scripts/setup_ssh_key.sh +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/deployment/security/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/deployment/security/secure_box_firewall.sh +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/common/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/common/construct_utils.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/common/exceptions.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/common/py3compat.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/common/utils.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/construct/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/construct/adapters.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/construct/core.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/construct/debug.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/construct/macros.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/abbrevtable.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/aranges.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/callframe.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/compileunit.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/constants.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/descriptions.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/die.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/dwarf_expr.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/dwarfinfo.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/enums.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/lineprogram.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/locationlists.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/namelut.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/ranges.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/dwarf/structs.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/ehabi/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/ehabi/constants.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/ehabi/decoder.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/ehabi/ehabiinfo.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/ehabi/structs.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/constants.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/descriptions.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/dynamic.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/elffile.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/enums.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/gnuversions.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/hash.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/notes.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/relocation.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/sections.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/segments.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/elftools/elf/structs.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/errors.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/exceptions.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/box_config.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/ble.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/blufi.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/i2c.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/router.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/spi.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/uart.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/communication/wifi.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/custom_devices.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/device/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/device/arm.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/device/hello.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/device/usb.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/device/webcam.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/adc.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/dac.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/energy.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/gpio.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/scope.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/scope_stream.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/thermocouple.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/measurement/watt.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/net.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/power/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/power/battery.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/power/eload.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/power/enable_disable.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/power/solar.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/power/supply.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/impl/query_instruments.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/lager_cli.egg-info/SOURCES.txt +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/lager_cli.egg-info/dependency_links.txt +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/lager_cli.egg-info/entry_points.txt +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/lager_cli.egg-info/requires.txt +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/lager_cli.egg-info/top_level.txt +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/main.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/pyproject.toml +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/safe_unpickle.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/setup.cfg +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/setup.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/simple_hdlc.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/sort_utils.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/status.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/supply/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/supply/supply_tui.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/supply/websocket_client.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/core/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/core/executor.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/main.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/ui/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/ui/completer.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/ui/display.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/ui/logo.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/ui/repl.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/terminal/ui/themes.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/tests/test_box_lager_imports.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/tests/test_box_storage.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/tests/test_io_imports.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/update_check.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/PyCRC/CRC16.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/PyCRC/CRC16DNP.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/PyCRC/CRC16Kermit.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/PyCRC/CRC16SICK.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/PyCRC/CRC32.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/PyCRC/CRCCCITT.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/PyCRC/__init__.py +0 -0
- {lager_cli-0.28.0 → lager_cli-0.28.1}/vendor/__init__.py +0 -0
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
"""
|
|
9
9
|
import click
|
|
10
10
|
from click.exceptions import Exit
|
|
11
|
+
import os
|
|
11
12
|
import subprocess
|
|
12
13
|
import platform
|
|
13
14
|
from ...box_storage import resolve_and_validate_box
|
|
14
15
|
from ...context import get_default_box
|
|
16
|
+
from ._ssh import _LAGER_BOX_KEY
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
def _get_ssh_install_hint() -> str:
|
|
@@ -62,10 +64,21 @@ def ssh(ctx, box):
|
|
|
62
64
|
# Build SSH command
|
|
63
65
|
ssh_host = f'{username}@{resolved_box}'
|
|
64
66
|
|
|
67
|
+
# Offer the dedicated lager_box key (installed by `lager authorize`) when
|
|
68
|
+
# present. It isn't one of ssh's default identity filenames, so without
|
|
69
|
+
# -i it's never tried and an authorized box still drops to a password
|
|
70
|
+
# prompt. -i appends to the identity list rather than replacing it (no
|
|
71
|
+
# IdentitiesOnly), so default keys and the password fallback still work
|
|
72
|
+
# for boxes that haven't been authorized.
|
|
73
|
+
ssh_cmd = ['ssh']
|
|
74
|
+
if os.path.exists(_LAGER_BOX_KEY):
|
|
75
|
+
ssh_cmd.extend(['-i', _LAGER_BOX_KEY])
|
|
76
|
+
ssh_cmd.append(ssh_host)
|
|
77
|
+
|
|
65
78
|
try:
|
|
66
79
|
# Run SSH as a child process (not exec) so Click ctx.call_on_close hooks run.
|
|
67
80
|
try:
|
|
68
|
-
ret = subprocess.call(
|
|
81
|
+
ret = subprocess.call(ssh_cmd)
|
|
69
82
|
except KeyboardInterrupt:
|
|
70
83
|
ret = 130
|
|
71
84
|
ctx.exit(ret if ret is not None else 0)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|