Context
Configure a local Kubernetes development environment for iterating on the Helm chart. Evaluate both DevContainers and Tilt approaches before deciding on the final setup.
Background
Two main approaches for local K8s development:
- DevContainers: Containerized dev environment with all tools pre-installed. Used by nic-operator. Provides consistency across team, zero host setup.
- Tilt: File watcher that auto-redeploys on changes. Provides faster iteration loop.
We should evaluate both before committing to one approach.
Tasks
- Try DevContainers with nic-operator repo to understand the experience
- Try Tilt with a simple Helm chart to understand the experience
- Compare: setup complexity, iteration speed, CI compatibility
- Decide on approach based on evaluation
- Implement chosen approach:
- If DevContainers: Create .devcontainer/devcontainer.json and post-install.sh
- If Tilt: Create Tiltfile and setup scripts
- If both: Implement DevContainers with Tilt installed inside
- Create Makefile with common commands (k3d-up, k3d-down, install, upgrade, lint, logs)
- Create .gitignore for generated files
- Document setup in README
Evaluation Criteria
- Setup time: How long for a new contributor to get started?
- Iteration speed: How quickly can you see changes?
- CI compatibility: Can we use the same setup in GitHub Actions?
- Consistency with NIC ecosystem: Does it align with nic-operator? (if not then we should have a good reason for not to, as in if tilt provides a much better value)
Acceptance Criteria
- New contributor can start developing within a few minutes
- Chart changes can be tested locally
- Approach documented in README
Depends on
Context
Configure a local Kubernetes development environment for iterating on the Helm chart. Evaluate both DevContainers and Tilt approaches before deciding on the final setup.
Background
Two main approaches for local K8s development:
We should evaluate both before committing to one approach.
Tasks
Evaluation Criteria
Acceptance Criteria
Depends on