Container that shows details about the environment its running on.
It will:
- Show the request method, url, and headers.
- Show the client and server address.
- Show the container environment variables.
- Show the container tokens, secrets, and configs (config maps).
- Show the container pod name and namespace.
- Show the containers running inside the container pod.
- Show the container memory limits.
- Show the container cgroups.
- Configure the Go runtime to honour the defined kubernetes container memory and cpu resource limits with the
GOMEMLIMIT
andGOMAXPROCS
environment variables. - Expose as a Kubernetes
LoadBalancer
Service
.- Note that this results in the creation of an EC2 Classic Load Balancer (CLB).
- Use Role and RoleBinding.
- Use ConfigMap.
- Use Secret.
- Use ServiceAccount.
- Use Service Account token volume projection (a JSON Web Token and OpenID Connect (OIDC) ID Token) for the
https://example.com
audience.
When running in Azure Kubernetes Service (AKS), it will also:
- List the DNS Zones hosted in Azure DNS using the Azure Workload Identity authentication (see the rgl/terraform-azure-aks-example repository).
When running in Amazon Elastic Kubernetes Service (EKS), it will also:
- List the DNS Zones hosted in AWS Route 53 using the EKS Pod Identities authentication (see the rgl/terramate-aws-eks-example repository).
This is used in:
- rgl/terraform-azure-aks-example
- rgl/terramate-aws-eks-example
- rgl/rancher-single-node-ubuntu-vagrant
Install docker, kind, and kubectl.
Create the local test infrastructure:
./.github/workflows/kind/create.sh
Access the test infrastructure kind Kubernetes cluster:
export KUBECONFIG="$PWD/kubeconfig.yml"
kubectl get nodes -o wide
Build and test:
./build.sh && ./test.sh && xdg-open index.html
Destroy the local test infrastructure:
./.github/workflows/kind/destroy.sh