ワンクリックで
kind-cluster-setup
// Use when setting up a local development environment, deploying integration-service to a cluster, installing CRDs, or tearing down a Kind cluster. Covers make targets, kustomize deployment, and full Konflux stack setup.
// Use when setting up a local development environment, deploying integration-service to a cluster, installing CRDs, or tearing down a Kind cluster. Covers make targets, kustomize deployment, and full Konflux stack setup.
Use when CI checks fail unexpectedly, when preparing code for CI, or when encountering non-obvious build and pipeline behavior. Covers vendoring, hermetic builds, security scans, code generation checks, coverage, and webhook validation gotchas.
Use when debugging integration-service running on a cluster. Covers pod logs, health probes, metrics, webhooks, network policies, environment variables, snapshot GC, and common failure modes.
Use when preparing a pull request for review, before pushing, or when reviewing someone else's PR. Checklist of CI checks, commit conventions, code generation, testing, and documentation requirements.
Use when building, configuring, or running e2e tests for integration-service against a real cluster (Kind or OpenShift). Covers environment variables, test framework, Ginkgo flags, CI pipeline, and test repos.
Use when running, writing, or troubleshooting unit tests for integration-service. Covers make test, envtest setup, suite patterns, mock loader, CRD discovery, coverage, and common test failures.
| name | kind-cluster-setup |
| description | Use when setting up a local development environment, deploying integration-service to a cluster, installing CRDs, or tearing down a Kind cluster. Covers make targets, kustomize deployment, and full Konflux stack setup. |
For local development you can run the controller against any cluster via make run, or deploy it fully with make deploy. The CI pipeline provisions Kind clusters on AWS for e2e tests using MAPT.
| Command | What it does |
|---|---|
make install | Install CRDs into current cluster (from config/crd/) |
make uninstall | Remove CRDs from cluster |
make run | Run controller locally against current kubeconfig |
make deploy | Deploy controller + RBAC + webhooks to cluster via kustomize |
make undeploy | Remove deployed controller from cluster |
make img-build | Build container image (default: docker) |
make img-push | Push image to registry |
CONT_ENGINE=podman make img-build | Build with podman instead of docker |
make installmake run — starts controller with local binary, no container neededmake img-build IMG=quay.io/youruser/integration-service:dev
make img-push IMG=quay.io/youruser/integration-service:dev
make deploy IMG=quay.io/youruser/integration-service:devintegration-service-system and deploys via kustomizemake undeployThe controller needs these CRDs on the cluster (not just locally for tests):
| Source | CRDs |
|---|---|
konflux-ci/application-api | Application, Component, Snapshot, ReleasePlan, Release |
konflux-ci/release-service | Release, ReleasePlan, ReleasePlanAdmission |
tektoncd/pipeline | PipelineRun, TaskRun, Pipeline, Task |
openshift-pipelines/pipelines-as-code | Repository |
| This repo | IntegrationTestScenario, ComponentGroup |
config/certmanager/ (commented out by default in kustomization)ENABLE_WEBHOOKS env var in deployment| Problem | Fix |
|---|---|
| Missing dependency CRDs | Install application-api, release-service, and Tekton CRDs on the cluster first |
make deploy fails on image pull | Push image to accessible registry, or use imagePullPolicy: IfNotPresent for local images |
| Webhooks fail with TLS errors | Install cert-manager or disable webhooks |
make run can't connect | Check KUBECONFIG env var or ~/.kube/config points to correct cluster |