Deploy a containerized app that exposes a /counter endpoint using Helm, ArgoCD, and KIND, and investigate any issues with the app behavior.
Correct Behaviour:
curl localhost/counter
Counter value: 1
curl localhost/counter
Counter value: 2
curl localhost/counter
Counter value: 3
curl localhost/counter
Counter value: 4
...
- Create a Helm chart named
metrics-app. - The Docker image is hosted at:
ghcr.io/cloudraftio/metrics-app:1.4 - It runs on port
8080and exposes a/counterendpoint. - App needs a secret
PASSWORDset toMYPASSWORD, available as an environment variable. Ensure it is securely passed.
- Set up a local Kubernetes cluster using Kind.
- Install ArgoCD on this cluster.
- Configure ArgoCD to watch a Git repository containing your Helm chart.
- Use ArgoCD to deploy the app via the Helm chart, keeping best practices in mind.
- Set up an ingress resource (e.g., NGINX ingress controller) to expose the app externally at:
http://<your-local-url>/counter
- Observe the behavior of the
/counterendpoint when calling it multiple times. Validate the response by accessing the URL multiple times. What is the response to each call?
for i in $(seq 0 20)
do
time curl localhost:8080/counter
done- Note any anomalies or inconsistent or slow responses.
- Document your debugging process.
- Identify and document the root cause if any issues are found.
- Could you suggest or implement a fix if appropriate?
- Submit via email to talent@cloudraft.io:
- Git private repository link with:
- Helm chart
- ArgoCD configuration (
Applicationmanifest, etc.) - Ingress
- Any scripts/configs used to bootstrap the KIND + ArgoCD setup
- Add reviewers as collaborators (
anjuls,riteshsonawane1372,vishalanarase)
- Documentation
- Deployment steps
- Any issues found and how they were diagnosed
- Root cause analysis if you find an issue.
- Screenshots/logs as evidence
- Git private repository link with:
- Bonus Points for using best practices.