devs-common 4.0.3__tar.gz → 4.0.4__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-4.0.3 → devs_common-4.0.4}/PKG-INFO +1 -1
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/devs_config.py +25 -5
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/devcontainer.json +2 -2
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/extensions/devs-bridge-drop.vsix +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/setup-workspace.sh +3 -4
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common.egg-info/PKG-INFO +1 -1
- {devs_common-4.0.3 → devs_common-4.0.4}/pyproject.toml +1 -1
- {devs_common-4.0.3 → devs_common-4.0.4}/LICENSE +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/README.md +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/__init__.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/config.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/core/__init__.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/core/container.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/core/project.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/core/workspace.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/exceptions.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/Dockerfile +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/extensions/README.md +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/extensions/install.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/copy-ssh.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/install-bridge-drop.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/post-create-wrapper.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/python-venv-integration.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/screenshot-webapp.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/start-tunnel.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/tunnel-status.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/webapp-screenshot.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/sudo-scripts/init-firewall.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/sudo-scripts/setup-devs-env.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/sudo-scripts/setup-vscode-cache.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/sudo-scripts/start-services.sh +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/vscode-settings-reference.md +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/__init__.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/config_hash.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/console.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/devcontainer.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/devcontainer_template.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/docker_client.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/file_utils.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/git_utils.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common/utils/repo_cache.py +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common.egg-info/SOURCES.txt +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common.egg-info/dependency_links.txt +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common.egg-info/requires.txt +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/devs_common.egg-info/top_level.txt +0 -0
- {devs_common-4.0.3 → devs_common-4.0.4}/setup.cfg +0 -0
|
@@ -4,6 +4,7 @@ This module provides shared configuration handling for DEVS.yml files
|
|
|
4
4
|
across the CLI and webhook packages.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
+
import os
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
from typing import Dict, Optional, List, Any
|
|
9
10
|
from pydantic import BaseModel, Field
|
|
@@ -25,6 +26,7 @@ class DevsOptions(BaseModel):
|
|
|
25
26
|
ci_branches: List[str] = ["main", "master"] # Branches to run CI on for push events
|
|
26
27
|
draft_prs: bool = False # When enabled, instruct Claude to create/maintain PRs as drafts
|
|
27
28
|
env_vars: Dict[str, Dict[str, str]] = Field(default_factory=dict) # Environment variables
|
|
29
|
+
ssh_host: Optional[str] = None # SSH hostname for remote container access (e.g. Tailscale MagicDNS name)
|
|
28
30
|
|
|
29
31
|
def get_env_vars(self, container_name: Optional[str] = None) -> Dict[str, str]:
|
|
30
32
|
"""Get environment variables for a specific container or defaults.
|
|
@@ -146,19 +148,37 @@ class DevsConfigLoader:
|
|
|
146
148
|
return DevsOptions(**merged_config)
|
|
147
149
|
|
|
148
150
|
@staticmethod
|
|
149
|
-
def load_env_vars(dev_name: str, project_name: Optional[str] = None,
|
|
151
|
+
def load_env_vars(dev_name: str, project_name: Optional[str] = None,
|
|
150
152
|
repo_path: Optional[Path] = None) -> Dict[str, str]:
|
|
151
153
|
"""Load only environment variables for a specific dev environment.
|
|
152
|
-
|
|
154
|
+
|
|
153
155
|
This is a convenience method for CLI usage.
|
|
154
|
-
|
|
156
|
+
|
|
155
157
|
Args:
|
|
156
158
|
dev_name: Development environment/container name
|
|
157
159
|
project_name: Project name in org-repo format
|
|
158
160
|
repo_path: Path to repository (defaults to cwd if not provided)
|
|
159
|
-
|
|
161
|
+
|
|
160
162
|
Returns:
|
|
161
163
|
Dictionary of environment variables with all overrides applied
|
|
162
164
|
"""
|
|
163
165
|
options = DevsConfigLoader.load(project_name, repo_path)
|
|
164
|
-
return options.get_env_vars(dev_name)
|
|
166
|
+
return options.get_env_vars(dev_name)
|
|
167
|
+
|
|
168
|
+
@staticmethod
|
|
169
|
+
def load_ssh_host(project_name: Optional[str] = None,
|
|
170
|
+
repo_path: Optional[Path] = None) -> Optional[str]:
|
|
171
|
+
"""Load the configured SSH host for remote container access.
|
|
172
|
+
|
|
173
|
+
Reads from DEVS.yml layers (repo → user default → user project-specific),
|
|
174
|
+
then falls back to the DEVS_SSH_HOST environment variable.
|
|
175
|
+
|
|
176
|
+
Args:
|
|
177
|
+
project_name: Project name in org-repo format
|
|
178
|
+
repo_path: Path to repository (defaults to cwd if not provided)
|
|
179
|
+
|
|
180
|
+
Returns:
|
|
181
|
+
SSH hostname string, or None if not configured
|
|
182
|
+
"""
|
|
183
|
+
options = DevsConfigLoader.load(project_name, repo_path)
|
|
184
|
+
return options.ssh_host or os.environ.get("DEVS_SSH_HOST") or None
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
"ms-python.vscode-pylance",
|
|
22
22
|
"ms-python.black-formatter",
|
|
23
23
|
"ms-python.isort",
|
|
24
|
-
"Anthropic.claude-code"
|
|
24
|
+
"Anthropic.claude-code",
|
|
25
|
+
"ideonate.devs-bridge-drop"
|
|
25
26
|
],
|
|
26
27
|
"settings": {
|
|
27
28
|
"editor.formatOnSave": false,
|
|
@@ -99,7 +100,6 @@
|
|
|
99
100
|
},
|
|
100
101
|
"workspaceFolder": "/workspaces/${localEnv:WORKSPACE_FOLDER_NAME}",
|
|
101
102
|
"postCreateCommand": "/usr/local/bin/post-create-wrapper.sh",
|
|
102
|
-
"postAttachCommand": "/usr/local/bin/install-bridge-drop.sh",
|
|
103
103
|
"forwardPorts": [],
|
|
104
104
|
"portsAttributes": {
|
|
105
105
|
"3306": {
|
{devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/extensions/devs-bridge-drop.vsix
RENAMED
|
Binary file
|
|
@@ -280,10 +280,9 @@ else
|
|
|
280
280
|
echo "No package.json found in root directory"
|
|
281
281
|
fi
|
|
282
282
|
|
|
283
|
-
# Note: devs-bridge-drop is installed
|
|
284
|
-
#
|
|
285
|
-
#
|
|
286
|
-
# By postAttachCommand time, VS Code Server's own 'code' shim is on PATH.
|
|
283
|
+
# Note: devs-bridge-drop is installed declaratively via customizations.vscode.extensions
|
|
284
|
+
# in devcontainer.json (Marketplace ID: ideonate.devs-bridge-drop). The legacy
|
|
285
|
+
# install-bridge-drop.sh script remains in this directory as an offline fallback.
|
|
287
286
|
|
|
288
287
|
echo "Workspace setup complete!"
|
|
289
288
|
echo ""
|
|
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-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/install-bridge-drop.sh
RENAMED
|
File without changes
|
{devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/post-create-wrapper.sh
RENAMED
|
File without changes
|
{devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/scripts/python-venv-integration.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/sudo-scripts/setup-devs-env.sh
RENAMED
|
File without changes
|
{devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/sudo-scripts/setup-vscode-cache.sh
RENAMED
|
File without changes
|
{devs_common-4.0.3 → devs_common-4.0.4}/devs_common/templates/sudo-scripts/start-services.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
|