This repo contains Pkl templates for Kubernetes manifests based on Kubernetes' OpenAPI spec. For examples of how to use these templates, check the Pkl/K8s Examples Repo.
-
Install JDK 17
-
Install IntelliJ IDEA
To import the project into IntelliJ, go to File→Open and select the project’s root directory. If the project isn’t imported correctly, look for a popup in the lower right corner and click its "Import Gradle project" link.
To update templates after a new K8s release,
add the version to k8sVersions
in build.gradle.kts
.
To change the base classes used by the generated templates,
edit files in src/main/resources/org/pkl/k8s/templates
.
To enrich type information of generated templates,
edit src/main/kotlin/org/pkl/k8s/templates/Main.kt
.
The generated-package
directory is generated by Gradle task generateTemplates
.
Do not edit these files manually!
When releasing a new version, update the pklPackageVersion
in build.gradle.kts
and regenerate templates with ./gradlew generateTemplates
to update the generated PklProject
file.
CI builds publish templates to GitHub Releases.
Packages are available at package://pkg.pkl-lang.org/pkl-k8s/k8s@<VERSION>