devs-common 5.0.2__tar.gz → 5.0.3__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.
- {devs_common-5.0.2 → devs_common-5.0.3}/PKG-INFO +1 -1
- devs_common-5.0.3/devs_common/templates/extensions/devs-bridge-drop.vsix +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/post-create-wrapper.sh +1 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/post-start.sh +0 -7
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/devcontainer.py +24 -2
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common.egg-info/PKG-INFO +1 -1
- {devs_common-5.0.2 → devs_common-5.0.3}/pyproject.toml +1 -1
- devs_common-5.0.2/devs_common/templates/extensions/devs-bridge-drop.vsix +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/LICENSE +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/README.md +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/__init__.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/config.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/core/__init__.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/core/container.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/core/project.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/core/workspace.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/devs_config.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/exceptions.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/Dockerfile +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/README-vscode-settings.md +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/devcontainer.json +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/extensions/README.md +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/extensions/install.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/machine-settings.json +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/machine-settings.tmux.json +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/register-vscode-extensions.js +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/copy-ssh.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/install-bridge-drop.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/python-venv-integration.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/run-autoexec.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/screenshot-webapp.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/setup-vscode-settings.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/setup-workspace.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/start-tailscale.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/start-tunnel.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/ts.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/tunnel-status.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/webapp-screenshot.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/init-firewall.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/setup-devs-env.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/setup-magicdns.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/setup-vscode-cache.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/start-services.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/start-tailscaled.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/ts-cli.sh +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/vscode-settings-reference.md +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/__init__.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/config_hash.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/console.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/devcontainer_template.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/docker_client.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/file_utils.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/git_utils.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common/utils/repo_cache.py +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common.egg-info/SOURCES.txt +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common.egg-info/dependency_links.txt +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common.egg-info/requires.txt +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/devs_common.egg-info/top_level.txt +0 -0
- {devs_common-5.0.2 → devs_common-5.0.3}/setup.cfg +0 -0
|
Binary file
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/post-create-wrapper.sh
RENAMED
|
@@ -34,6 +34,7 @@ run_step() {
|
|
|
34
34
|
# Run each step with error handling
|
|
35
35
|
run_step "setup-vscode-cache" "sudo /usr/local/bin/setup-vscode-cache.sh"
|
|
36
36
|
run_step "setup-devs-env.sh" "/usr/local/bin/setup-devs-env.sh"
|
|
37
|
+
run_step "run-autoexec.sh" "/usr/local/bin/run-autoexec.sh"
|
|
37
38
|
#run_step "init-firewall.sh" "sudo /usr/local/bin/init-firewall.sh"
|
|
38
39
|
run_step "setup-workspace.sh" "/usr/local/bin/setup-workspace.sh"
|
|
39
40
|
run_step "start-services.sh" "sudo /usr/local/bin/start-services.sh"
|
|
@@ -21,13 +21,6 @@ fi
|
|
|
21
21
|
# before the TS_ENABLE gate below, which exits when Tailscale is off.
|
|
22
22
|
/usr/local/bin/setup-vscode-settings.sh || true
|
|
23
23
|
|
|
24
|
-
# Optional per-user/per-project startup hooks. The mounted env directory is
|
|
25
|
-
# project-specific when ~/.devs/envs/<project>/ exists, otherwise it is the
|
|
26
|
-
# shared ~/.devs/envs/default profile. Hooks are executable files in autoexec/
|
|
27
|
-
# and run in lexical order. Keep failures non-fatal so a broken convenience
|
|
28
|
-
# hook cannot make the devcontainer unusable.
|
|
29
|
-
/usr/local/bin/run-autoexec.sh || true
|
|
30
|
-
|
|
31
24
|
# Gate on the same master switch as the rest of the Tailscale wiring.
|
|
32
25
|
case "${TS_ENABLE:-}" in
|
|
33
26
|
1|true|yes) ;;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"""DevContainer CLI wrapper utilities."""
|
|
2
2
|
|
|
3
|
+
import json
|
|
3
4
|
import os
|
|
4
5
|
import re
|
|
6
|
+
import socket
|
|
5
7
|
import sys
|
|
6
8
|
import subprocess
|
|
7
9
|
from pathlib import Path
|
|
@@ -44,8 +46,8 @@ def prepare_devcontainer_environment(
|
|
|
44
46
|
env = os.environ.copy()
|
|
45
47
|
|
|
46
48
|
# Core devcontainer environment variables
|
|
47
|
-
# IMPORTANT: In live mode, we must use the actual host folder name (e.g. "
|
|
48
|
-
# instead of our constructed name (e.g. "
|
|
49
|
+
# IMPORTANT: In live mode, we must use the actual host folder name (e.g. "devs")
|
|
50
|
+
# instead of our constructed name (e.g. "ideonate-devs-sally") because
|
|
49
51
|
# the devcontainer CLI directly mounts the host folder and preserves its name.
|
|
50
52
|
# The container will have /workspaces/<host-folder-name>, not /workspaces/<constructed-name>
|
|
51
53
|
workspace_folder_name = workspace_folder.name if live else container_workspace_name
|
|
@@ -80,6 +82,7 @@ def prepare_devcontainer_environment(
|
|
|
80
82
|
bridge_mount_path = Path.home() / '.devs' / 'bridge' / f"{project_name}-{dev_name}"
|
|
81
83
|
bridge_mount_path.mkdir(parents=True, exist_ok=True)
|
|
82
84
|
env['DEVS_BRIDGE_MOUNT_PATH'] = str(bridge_mount_path)
|
|
85
|
+
write_bridge_info(bridge_mount_path)
|
|
83
86
|
|
|
84
87
|
# Pass debug mode to container scripts
|
|
85
88
|
if debug:
|
|
@@ -104,6 +107,25 @@ def prepare_devcontainer_environment(
|
|
|
104
107
|
return env
|
|
105
108
|
|
|
106
109
|
|
|
110
|
+
BRIDGE_INFO_FILENAME = '.devs-bridge.json'
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def write_bridge_info(bridge_mount_path: Path) -> None:
|
|
114
|
+
"""Record the bridge's host-side location inside the bridge itself.
|
|
115
|
+
|
|
116
|
+
The bridge-drop extension shows the host path for each dropped file. It
|
|
117
|
+
reads DEVS_BRIDGE_MOUNT_PATH when set, but that arrives via remoteEnv, which
|
|
118
|
+
only the Dev Containers extension applies — a Remote-SSH session straight
|
|
119
|
+
into the container never sees it. The bridge dir is mounted in the
|
|
120
|
+
container regardless of how VS Code connects, so the info lives there too.
|
|
121
|
+
"""
|
|
122
|
+
info = {'host_path': str(bridge_mount_path), 'hostname': socket.gethostname()}
|
|
123
|
+
try:
|
|
124
|
+
(bridge_mount_path / BRIDGE_INFO_FILENAME).write_text(json.dumps(info, indent=2) + '\n')
|
|
125
|
+
except OSError as e:
|
|
126
|
+
console.print(f"[yellow]Warning: could not write bridge info: {e}[/yellow]")
|
|
127
|
+
|
|
128
|
+
|
|
107
129
|
def parse_docker_error(error_output: str) -> Tuple[Optional[str], Optional[str]]:
|
|
108
130
|
"""Parse Docker error output for specific error patterns.
|
|
109
131
|
|
|
Binary file
|
|
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
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/install-bridge-drop.sh
RENAMED
|
File without changes
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/python-venv-integration.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/scripts/setup-vscode-settings.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/setup-devs-env.sh
RENAMED
|
File without changes
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/setup-magicdns.sh
RENAMED
|
File without changes
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/setup-vscode-cache.sh
RENAMED
|
File without changes
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/start-services.sh
RENAMED
|
File without changes
|
{devs_common-5.0.2 → devs_common-5.0.3}/devs_common/templates/sudo-scripts/start-tailscaled.sh
RENAMED
|
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
|