Commit Graph
8 Commits
Author SHA1 Message Date
Drew Newberry 6b70e7dda8 fix(core): harden file permissions for user config directory
Sensitive files in the OpenShell config directory (~/.config/openshell/)
were created with default umask permissions, making them world-readable.
This is a security concern for mTLS private keys (tls.key) and auth
tokens.

- Add centralized paths module to openshell-core with permission helpers
  (create_dir_restricted 0o700, set_file_owner_only 0o600)
- Set 0o600 on tls.key in mtls.rs (was inheriting umask, typically 0o644)
- Set 0o700 on all config directories (mtls/, gateways/, forwards/, etc.)
- Migrate legacy cf_token files to new edge_token path with proper perms
- Deduplicate xdg_config_dir() from 6 locations into openshell-core
2026-03-15 14:11:40 -07:00
Drew Newberry 9fdffc72b2 feat(bootstrap): add Docker preflight check before gateway startup (#321) 2026-03-15 09:45:19 -07:00
Drew Newberry 0a7ffe1669 ci(release): gate python wheels on e2e for tagged releases (#319) 2026-03-15 00:39:00 -07:00
Drew Newberry 4b23a7e242 feat(bootstrap): restore per-gateway Docker bridge networks (#303)
PR #281 removed the shared openshell-cluster Docker network in favor of
the default bridge. This restores custom bridge networking but makes each
gateway use its own isolated network named openshell-cluster-{name},
matching the existing container/volume naming convention.

Changes:
- Add network_name() to constants.rs for per-gateway network naming
- Add ensure_network() with retry/backoff and force_remove_network()
  parameterized by network name instead of a global constant
- Attach containers to their per-gateway network via network_mode
- Disconnect and remove the network during gateway destroy
- Wire ensure_network() into the deploy flow before ensure_volume()
- Update architecture docs to reflect per-gateway network isolation
2026-03-14 13:36:06 -07:00
Drew Newberry 1ba798f0fb ci(release): pin OPENSHELL_IMAGE_TAG to version for tagged releases (#297) 2026-03-13 19:28:35 -07:00
Drew Newberry 19c3230267 feat(ci): add automated release workflow with patch version bumping (#284) 2026-03-13 17:44:22 -07:00
Drew Newberry 20c32716ad fix(bootstrap): detect missing sandbox supervisor binary during gateway health check (#281) 2026-03-13 15:07:50 -07:00
Drew Newberry fbd93a4632 refactor: rename navigator- crate prefix to openshell- (#277) 2026-03-13 02:02:18 -07:00