A Kubernetes cluster requirements checker for Blazemeter Private Locations. This tool verifies node resources, network connectivity, RBAC, and ingress configuration to ensure your cluster is ready to deploy Blazemeter workloads
- Checks node CPU, memory, and storage capacity
- Verifies network access to Blazemeter, Docker registry, and third-party endpoints
- Validates Kubernetes RBAC roles and bindings
- Confirms ingress or Istio gateway setup and TLS secret presence
- Designed to run as a Kubernetes Pod
- Go 1.23+
- Access to a Kubernetes cluster (with permissions to list nodes, roles, rolebindings, secrets, etc.)
- Docker (for building container images)
To build the binary for Linux/amd64:
go env -w GOOS=linux GOARCH=amd64
go build -o cranehook .This image is integrated with helm test hook, so you can just run
helm test <release-name>This will automatically test the installation.
See kubernetes/cranehook.yaml for an example manifest. Apply it with:
kubectl apply -f kubernetes/cranehook.yamlThe pod will run the checks and exit with code 0 if all requirements are met, or 1 if any check fails.
NOTE
- If you deploy crane-hook manually, with
kubectl applymethod, make sure the environment variables are set correctly as per the type of crane installation. See Environment Variables below.
WORKING_NAMESPACE: Namespace to check for roles and resourcesROLE_NAME: Name of the Role to checkROLE_BINDING_NAME: Name of the RoleBinding to checkSERVICE_ACCOUNT_NAME: ServiceAccount to check in the RoleBindingSV_ENABLE: Set totrueto enable ingress checksKUBERNETES_WEB_EXPOSE_TYPE:INGRESSorISTIODOCKER_REGISTRY: Docker registry URL to checkKUBERNETES_WEB_EXPOSE_TLS_SECRET_NAME: TLS secret name for ingress/istioKUBERNETES_ISTIO_GATEWAY_NAME: (if using Istio) Gateway resource nameHTTP_PROXY,HTTPS_PROXY,NO_PROXY: (optional) Proxy settings
[INFO]messages indicate successful checks[error]messages indicate failed checks- Exit code 0: all checks passed
- Exit code 1: one or more checks failed (the logs would list the failures/errors)