···11-name: E2E Tests
22-33-on:
44- push:
55- pull_request:
66-77-jobs:
88- test-e2e:
99- name: Run on Ubuntu
1010- runs-on: ubuntu-latest
1111- steps:
1212- - name: Clone the code
1313- uses: actions/checkout@v4
1414-1515- - name: Setup Go
1616- uses: actions/setup-go@v5
1717- with:
1818- go-version-file: go.mod
1919-2020- - name: Install the latest version of kind
2121- run: |
2222- curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
2323- chmod +x ./kind
2424- sudo mv ./kind /usr/local/bin/kind
2525-2626- - name: Verify kind installation
2727- run: kind version
2828-2929- - name: Running Test e2e
3030- run: |
3131- go mod tidy
3232- make test-e2e
-23
.github/workflows/test.yml
···11-name: Tests
22-33-on:
44- push:
55- pull_request:
66-77-jobs:
88- test:
99- name: Run on Ubuntu
1010- runs-on: ubuntu-latest
1111- steps:
1212- - name: Clone the code
1313- uses: actions/checkout@v4
1414-1515- - name: Setup Go
1616- uses: actions/setup-go@v5
1717- with:
1818- go-version-file: go.mod
1919-2020- - name: Running Tests
2121- run: |
2222- go mod tidy
2323- make test
+5-1
CLAUDE.md
···1919make setup-test-e2e # Set up Kind cluster for e2e testing
2020make cleanup-test-e2e # Tear down Kind cluster
21212222+# NOTE: E2E tests are slow and run manually or nightly (not on every push)
2323+# To trigger E2E tests manually in GitHub Actions:
2424+# Go to Actions tab -> "E2E Tests" -> "Run workflow"
2525+2226# Run specific test package
2327go test ./internal/controller -v
2428go test ./internal/hsm -v
···3741golangci-lint run ./... # Lint all packages (REQUIRED before code changes)
38423943# Sync CRDs from config/ to helm/ after CRD changes
4040-make helm-sync # Sync generated CRDs to Helm templates
4444+make helm-sync # Sync generated CRDs to Helm crds/ directory
4145```
42464347### Docker Images
+3-3
Makefile
···9898 $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases
9999100100.PHONY: helm-sync
101101-helm-sync: manifests ## Sync generated CRDs from config/ to helm/ templates
102102- @echo "Syncing CRDs from config/crd/bases/ to helm/hsm-secrets-operator/templates/crds/"
103103- cp config/crd/bases/*.yaml helm/hsm-secrets-operator/templates/crds/
101101+helm-sync: manifests ## Sync generated CRDs from config/ to helm/crds/
102102+ @echo "Syncing CRDs from config/crd/bases/ to helm/hsm-secrets-operator/crds/"
103103+ cp config/crd/bases/*.yaml helm/hsm-secrets-operator/crds/
104104 @echo "✅ CRDs synced successfully"
105105106106.PHONY: generate
+2-2
helm/hsm-secrets-operator/Chart.yaml
···22name: hsm-secrets-operator
33description: A Kubernetes operator that bridges Pico HSM binary data storage with Kubernetes Secrets
44type: application
55-version: 0.2.5
66-appVersion: v0.2.5
55+version: 0.2.6
66+appVersion: v0.2.6
77icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/kubernetes/icon/color/kubernetes-icon-color.svg
88home: https://github.com/evanjarrett/hsm-secrets-operator
99sources: