feat(gitlab): add GitLab platform example with Replicated SDK and CMX validation#136
feat(gitlab): add GitLab platform example with Replicated SDK and CMX validation#136kriscoleman wants to merge 9 commits intomainfrom
Conversation
|
GasTown prompt used to build this with a couple feedback loops, this helped me iterate both on the agent instructions and the GitLab platform example: Mayor Mission: Automate Replicated Onboarding for GitLab Helm ChartsObjectiveWe are building a new platform example for GitLab (https://docs.gitlab.com/charts/) in the
Environment
Phase 1: Implement GitLab Platform Example via Onboarding AgentsWork in the Step 1: Understand the existing patterns
Step 2: Use the onboarding agents to onboard GitLab
Step 3: Validate success
Phase 2: Refine the Onboarding Agent InstructionsWork in the Step 1: Triage gaps from Phase 1
Step 2: Implement fixes and validate with linting
Step 3: Reinstall and verify the plugin locally
Step 4: Re-run onboarding with refined instructions (if needed)
Orchestration Notes for the MayorConvoy structureCreate a convoy for each phase. Within each convoy, create beads for the major work units. Suggested breakdown: Convoy 1: "GitLab Platform Example"
Convoy 2: "Refine Onboarding Plugin"
Cross-rig coordination
Agent spawning guidance
Success criteria
BeginStart with Phase 1. Create the convoys, research the existing patterns and GitLab chart structure, then use the onboarding agents to implement the GitLab platform example. Track everything — every gap you find is fuel for Phase 2. |
Adds a complete applications/gitlab/ example following existing repo conventions (gitea, n8n pattern). Includes: - Wrapper Helm chart with upstream gitlab 9.0.2 + Replicated SDK 1.18.0 - KOTS manifests: kots-app, kots-config (PostgreSQL/Redis/MinIO/SMTP), HelmChart with optionalValues, EC extensions, Secrets for passwords - GitHub Actions CI: lint/template on PR, create-release to Unstable on PR, promote to Stable on main merge - Makefile targets: add-helm-repositories, update-dependencies, lint, package - tests/helm/ci-values.yaml for fast CI lint/template checks - ONBOARDING-GAPS.md documenting 8 friction points from the onboarding run CMX validation skipped: no credits on REPL_GITLAB_SA_TOKEN account. Release 1 created and promoted to Unstable on gitlab-pika app. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Switch from bundled Bitnami PostgreSQL/Redis (deprecated, removed from Docker Hub) to external services (official postgres:16 + redis:7 images) - Update values.yaml and ci-values.yaml to disable bundled deps - Add kots-preflight.yaml with resource checks (4+ vCPU, 12+ GB RAM) - Add kots-support-bundle.yaml with GitLab component log collectors Note: Bitnami images (e.g. bitnami/postgresql:16.6.0) were removed from Docker Hub. GitLab chart 9.0.2 references these missing tags. Using external postgresql/redis resolves CMX validation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rt values The upstream gitlab/gitlab chart requires certmanager-issuer.email to be set at template time. Running helm template without values overrides fails with: "You must provide an email to associate with your TLS certificates" Use ci-values.yaml (which disables cert-manager and sets required fields) for the template step, matching how the chart is actually deployed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
helm package requires valid semver. Changed PR version from 'pr-136-abc1234' (invalid) to '0.1.0-pr.136.abc1234' (valid semver prerelease format). Promote-stable format was already valid semver. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ction Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Actions don't respect working-directory, so path must be relative to repo root. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…motion Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
47d8466 to
2bf7b00
Compare

I paired on this with @mikhailswift
Summary
gitlab/gitlabHelm chart (v9.0.2) wrapped as a Helm dependencyKey design decisions
applications/gitlab/charts/gitlab/) that depends on upstreamgitlab/gitlabrather than vendoring it, keeping the chart maintainablepostgres:16andredis:7as external StatefulSet/Deployment servicesreplicated.enabledcondition allows disabling the SDK for raw Helm CMX validation (no license required)Test plan
helm dependency updateinapplications/gitlab/charts/gitlab/succeedshelm templatewithtests/helm/ci-values.yamlrenders without errors🤖 Generated with Claude Code