Skip to content

Latest commit

 

History

History
35 lines (21 loc) · 1.4 KB

README.adoc

File metadata and controls

35 lines (21 loc) · 1.4 KB

pkl-k8s

pkl-lang

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.

Project Setup

  • 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.

Development

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!

Releasing a New Version

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>