A minimal Go service used for end-to-end testing of Clowder, the Red Hat Insights operator that manages cloud.redhat.com application deployments on OpenShift/Kubernetes.
clowder-e2e is a lightweight HTTP server that validates Clowder's runtime configuration injection. It reads its configuration from app-common-go (the standard Clowder client library) and starts two servers:
- Application server on the Clowder-configured public port — serves a simple handler at
/,/healthz, and/api/puptoo/ - Metrics server on the Clowder-configured metrics port — exposes Prometheus metrics
If a command-line argument is passed, it prints a message and exits instead of starting the servers. This allows testing both the service startup path and the CLI argument path in e2e scenarios.
- Go 1.19+
- A Clowder-managed environment (provides the
cdappconfig.jsonconfiguration file)
go build -o clowder-e2eThe project includes a multi-stage Dockerfile based on UBI9:
docker build -t clowder-e2e .The binary expects Clowder to inject its configuration via the ACG_CONFIG environment variable pointing to a cdappconfig.json file:
ACG_CONFIG=/path/to/cdappconfig.json ./clowder-e2e.
├── clowder-e2e.go # Application entrypoint
├── Dockerfile # Multi-stage container build (UBI9)
├── go.mod # Go module definition
└── go.sum # Dependency checksums