Commit Graph

6 Commits

Author SHA1 Message Date
A. F. Dudley
7c0806f10f Merge fix-kind-relative-volume-paths into fix-caddy-acme-email-rbac
All checks were successful
Lint Checks / Run linter (push) Successful in 13s
2026-02-03 14:52:45 -05:00
A. F. Dudley
5e4e7b3555 docs: Add cluster and volume management section
All checks were successful
Lint Checks / Run linter (push) Successful in 14s
Document that:
- Volumes persist across cluster deletion by design
- Only use --delete-volumes when explicitly requested
- Multiple deployments share one kind cluster
- Use --skip-cluster-management to stop single deployment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 13:52:11 -05:00
A. F. Dudley
01c1b0ae16 Rename image-registry to registry-credentials to avoid collision
All checks were successful
Lint Checks / Run linter (push) Successful in 14s
The existing 'image-registry' key is used for pushing images to a remote
registry (URL string). Rename the new auth config to 'registry-credentials'
to avoid collision.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:30:35 -05:00
A. F. Dudley
fcbaa84e01 Add private registry authentication support
All checks were successful
Lint Checks / Run linter (push) Successful in 13s
Add ability to configure private container registry credentials in spec.yml
for deployments using images from registries like GHCR.

- Add get_image_registry_config() to spec.py for parsing image-registry config
- Add create_registry_secret() to create K8s docker-registry secrets
- Update cluster_info.py to use dynamic {deployment}-registry secret names
- Update deploy_k8s.py to create registry secret before deployment
- Document feature in deployment_patterns.md

The token-env pattern keeps credentials out of git - the spec references an
environment variable name, and the actual token is passed at runtime.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:25:33 -05:00
A. F. Dudley
5a0f573b0e Allow relative volume paths for k8s-kind deployments
All checks were successful
Lint Checks / Run linter (push) Successful in 13s
For k8s-kind, relative paths (e.g., ./data/rpc-config) are resolved to
$DEPLOYMENT_DIR/path by _make_absolute_host_path() during kind config
generation. This provides Docker Host persistence that survives cluster
restarts.

Previously, validation threw an exception before paths could be resolved,
making it impossible to use relative paths for persistent storage.

Changes:
- deployment_create.py: Skip relative path check for k8s-kind
- cluster_info.py: Allow relative paths to reach PV generation
- docs/deployment_patterns.md: Document volume persistence patterns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 23:26:13 -05:00
A. F. Dudley
ca3153bb78 Fix restart command for GitOps deployments
All checks were successful
Lint Checks / Run linter (push) Successful in 13s
- Remove init_operation() from restart - don't regenerate spec from
  commands.py defaults, use existing git-tracked spec.yml instead
- Add docs/deployment_patterns.md documenting GitOps workflow
- Add pre-commit rule to CLAUDE.md
- Fix line length issues in helpers.py

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 22:18:19 -05:00