Files
podinfo/cue/README.md
Stefan Prodan 9f88a0e940 Refactor CUE module
- set default labels and annotations
- fix the service monitor selector
- allow setting ingress annotations
- remove embedded cert
- add cert-manager example for ingress
- set CPU scaling as default in HPA
- rename app input to config
- rename app out to objects

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2022-04-17 15:43:09 +03:00

1000 B

Podinfo CUE module

This directory contains a CUE module and tooling for generating podinfo's Kubernetes resources.

The module contains a podinfo.#Application definition which takes podinfo.#Config as input.

Prerequisites

Install CUE with:

brew install cue

Generate the Kubernetes API definitions required by this module with:

cue get go k8s.io/api/...

Configuration

Configure the application in main.cue:

app: podinfo.#Application & {
	config: {
		meta: {
			name:      "podinfo"
			namespace: "default"
		}
		image: tag: "6.1.3"
		resources: requests: {
			cpu:    "100m"
			memory: "16Mi"
		}
		hpa: {
			enabled:     true
			maxReplicas: 3
		}
		ingress: {
			enabled:   true
			className: "nginx"
			host:      "podinfo.example.com"
			tls:       true
			annotations: "cert-manager.io/cluster-issuer": "letsencrypt"
		}
		serviceMonitor: enabled: true
	}
}

Generate the manifests

cue gen