Skip to content

Latest commit

 

History

History
 
 

cue

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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:

go mod init github.com/stefanprodan/podinfo/cue
go get k8s.io/api/...
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