Create Your First Controller
Install a single-node evaluation control plane, create a local administrator, and start one Jenkins controller with the built-in starter bundle.
Install Varroa
Section titled “Install Varroa”Create values-eval.yaml:
auth: mode: local bffUrl: http://localhost:8080 dashboardUrl: http://localhost:3000dex: enabled: falseoperator: replicas: 1gateway: replicas: 1 hpa: minReplicas: 1bff: replicas: 1 hpa: minReplicas: 1nats: config: cluster: enabled: false replicas: 1jetStreamReplicas: 1helm install varroa oci://ghcr.io/varroaci/charts/varroa \ --version <version> \ -n varroa-system --create-namespace \ -f values-eval.yamlkubectl get pods -n varroa-systemWait for every pod to become Ready.
Create a Local Administrator
Section titled “Create a Local Administrator”Use a temporary evaluation password and change it after signing in:
apiVersion: varroa.dev/v1alpha1kind: Usermetadata: name: admin namespace: varroa-systemspec: displayName: Evaluation Administrator password: "<temporary-password>"---apiVersion: varroa.dev/v1alpha1kind: VarroaRoleBindingmetadata: name: evaluation-adminspec: roleRef: admin subjects: - kind: User name: adminkubectl apply -f admin.yamlkubectl get user admin -n varroa-system -o yamlThe operator hashes the password and clears spec.password.
Create Jenkins
Section titled “Create Jenkins”kubectl create namespace jenkins-demokubectl apply -f - <<'EOF'apiVersion: varroa.dev/v1alpha1kind: Controllermetadata: name: demo namespace: jenkins-demospec: {}EOFkubectl get controller demo -n jenkins-demo -wThe normal phase sequence is Pending, Provisioning, Running, then Connected. Initial image pulls and plugin installation can take several minutes.
An empty spec selects the built-in varroa-starter bundle and the compatible Jenkins and plugin baseline embedded in the release.
Open the Dashboard and Jenkins
Section titled “Open the Dashboard and Jenkins”Run these port forwards in separate terminals:
kubectl port-forward -n varroa-system service/varroa-frontend 3000:8080kubectl port-forward -n varroa-system service/varroa-varroa-bff 8080:8080PREFIX=demo-$(kubectl get controller demo -n jenkins-demo -o jsonpath='{.metadata.uid}' | cut -c1-8)kubectl port-forward -n jenkins-demo "svc/$PREFIX-svc" 8081:8080Open http://localhost:3000 and sign in as admin. Then open http://localhost:8081. Run the hello-varroa pipeline and confirm it prints hello from Varroa.
This pipeline verifies bundle delivery and Jenkins configuration. It runs on the Jenkins executor, so test a Kubernetes-agent workload separately before relying on agent provisioning.
Verify Health
Section titled “Verify Health”kubectl get controller demo -n jenkins-demo \ -o jsonpath='{.status.phase}{"\n"}'The expected value is Connected. If it is not, inspect status.conditions and follow Troubleshooting.
Continue with Author a custom bundle, Configure ingress, or Configure Jenkins RBAC.