1
0
Fork 0
mirror of https://github.com/imjasonh/git-k8s synced 2026-07-10 07:31:59 +00:00
Commit graph

8 commits

Author SHA1 Message Date
Claude
890c2b7ec9
Use gitea rootless image in e2e test
Gitea 1.21 refuses to run as root. The non-rootless image's
entrypoint switches to the git user, but kubectl exec still runs
as root, causing `gitea admin user create` to fail with:
  "Gitea is not supposed to be run as root"

Switch to gitea/gitea:1.21-rootless which runs as UID 1000,
and mount emptyDir volumes at /var/lib/gitea and /etc/gitea.

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 01:36:42 +00:00
Claude
de30422c67
Improve e2e Gitea initialization robustness
- Add explicit API readiness check inside the pod before running
  admin commands (readiness probe alone may pass before DB is ready)
- Split "Initialize Gitea" into separate steps for better failure
  diagnostics: "Create Gitea admin user" and "Create test repository"

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 01:27:31 +00:00
Claude
6db30c9fe3
Run build and e2e jobs concurrently
Remove `needs: build` from the e2e job so both jobs start
immediately instead of running in sequence.

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 01:23:05 +00:00
Claude
5eb8ab49bd
Fix YAML document separator in e2e heredoc
The `---` between the Deployment and Service was indented inside
the heredoc, so kubectl didn't recognize it as a document separator.
Split into two separate kubectl apply calls.

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 01:18:30 +00:00
Claude
aebe5c6c67
Improve e2e smoke test with real git server and push controller exercise
Replace the stub smoke test (which only verified CRD creation) with a
full end-to-end test that:

- Deploys Gitea as an in-cluster git server (emptyDir, auto-install)
- Initializes a test repository with an admin user and initial commit
- Creates GitRepository, GitBranch, and GitPushTransaction CRDs
- Verifies the push controller clones, pushes main to a new branch,
  and transitions the transaction to Succeeded
- Verifies the controller updates the GitBranch CR's headCommit
- Verifies the new branch actually exists on the git server

Also fixes a bug in the push controller's resolveAuth: Secret data
values are base64-encoded when accessed via the dynamic client, but
were being used directly without decoding, causing authentication
failures.

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 01:07:51 +00:00
Claude
cc391645e1
Change API group from git.k8s.io to git-k8s.imjasonh.com
The *.k8s.io group is protected in Kubernetes and requires an
api-approved.kubernetes.io annotation. Switch to a custom domain
to avoid the restriction entirely.

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 00:34:34 +00:00
copilot-swe-agent[bot]
75552e7c2c Add go test step to CI build job
Co-authored-by: imjasonh <210737+imjasonh@users.noreply.github.com>
2026-02-28 00:14:00 +00:00
Claude
314915b5dd
Add GitHub Actions CI with KinD e2e using chainguard-dev/actions
Two jobs:
- build: compiles all controller binaries and runs go vet
- e2e: spins up KinD cluster with Knative via chainguard-dev/actions,
  deploys CRDs and controllers with ko, verifies rollout, runs
  smoke test creating a GitRepository CR. On failure, collects
  kind-diag diagnostics as artifacts.

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 00:10:31 +00:00