kubermemes/k8s/main.dhall

43 lines
1.3 KiB
Plaintext

let Prelude =
https://prelude.dhall-lang.org/package.dhall sha256:4aa8581954f7734d09b7b21fddbf5d8df901a44b54b4ef26ea71db92de0b1a12
let kubernetes = ./kubernetes.dhall
let kv = Prelude.JSON.keyText
let appName = env:APP_NAME as Text ? "nginx"
let imageName = env:IMAGE_NAME as Text ? "nginx"
let imageTag = env:IMAGE_TAG as Text ? "latest"
let deployment =
kubernetes.Deployment::{
, metadata = kubernetes.ObjectMeta::{ name = appName }
, spec = Some kubernetes.DeploymentSpec::{
, replicas = Some 2
, revisionHistoryLimit = Some 10
, selector = kubernetes.LabelSelector::{
, matchLabels = [ kv "app" appName ]
}
, template = kubernetes.PodTemplateSpec::{
, metadata = kubernetes.ObjectMeta::{
, name = "nginx"
, labels = [ kv "app" appName ]
}
, spec = Some kubernetes.PodSpec::{
, containers =
[ kubernetes.Container::{
, name = "web"
, image = Some "${imageName}:${imageTag}"
, imagePullPolicy = Some "Always"
, ports = [ kubernetes.ContainerPort::{ containerPort = 80 } ]
}
]
}
}
}
}
in deployment