Skip to content

Releases: OKDP/okdp-compiler

Release list

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 09:58

0.4.0 (2026-10-16)

⚠ BREAKING CHANGES

  • okdp.info.yaml, what an instance publishes
  • no named output of a contract with a naming convention
  • no okdp.dependencies.yaml, the dependencies printed on stderr
  • chart defaults out of the compiled values, the chart cache for checks only
  • no empty okdp.instance.yaml, okdp.dependencies.yaml or keys
  • okdp.instance.yaml replaces the descriptor ConfigMap
  • OKDP's objects in the umbrella, no okdp chart
  • every dependency is rendered unless the values leave it out
  • Chart.yaml, okdp.yaml and values.cel.yaml replace service.yaml
  • an instance's connections are a context layer of its level
  • a missing config.schema.json is an empty schema
  • context levels replace --platform and --project
  • $else beside $if and $value
  • --project values that add to the platform's, examples/03_full
  • name the upstream chart in each .values.yaml
  • rename charts..base to defaults, .defaults.yaml by convention
  • mark generated files with a DO NOT EDIT line
  • replace okdp.charts.yaml with install.sh (--mkinstall)
  • write okdp.dependencies.yaml only with --mkdag
  • let a require entry of service.yaml take a condition, $if, evaluated on the mapping's context
  • take global from the platform's values layers only (--platform, Inputs.Platform)
  • customizable indent
  • compiler: add the okdp chart to every compile and take the platform's charts from global.okdp.charts
  • compiler: name each upstream chart by its source and read it from a chart cache
  • compiler: read the package's metadata from service.yaml and its parameters from the package

Features

  • --contracts only when a contract is read (0fb70e2)
  • --mkinstall with --umbrella, an install.sh for the umbrella chart (4577ee5)
  • --project values that add to the platform's, examples/03_full (91b4f11)
  • $else beside $if and $value (f91d187)
  • a missing config.schema.json is an empty schema (6493e89)
  • a reference names an output another instance of the namespace publishes (bb65ba2)
  • an instance's connections are a context layer of its level (9406cce)
  • chart defaults out of the compiled values, the chart cache for checks only (4bda6a1)
  • Chart.yaml, okdp.yaml and values.cel.yaml replace service.yaml (83148f0)
  • check external connections and provides against their contract's schema, apply contract defaults until stable, report an unreadable contract (46eae24)
  • check the types of provides secrets, okdpGeneratedSecret arguments and instance, report every missing contract field (37671fb)
  • check the umbrella with the Helm versions Flux and Argo CD embed, Helm 3.19 differences documented (9108aa5)
  • cmd: add the okdp-compile CLI (3fc5444)
  • compile an empty mapping as one without sections (26b3fbe)
  • compiler: accept bracketed literal keys and globs in protect and append paths (4bccd14)
  • compiler: add the oidc-dcr chart of each OAuth client without a service.yaml entry (b55364e)
  • compiler: add the okdp chart to every compile and take the platform's charts from global.okdp.charts (f8d4c63)
  • compiler: add the sha256, toJson, toPrettyJson, toYaml, quote and okdpFullname CEL functions (c4777a4)
  • compiler: add the YAML + CEL mapping engine (3e4599b)
  • compiler: compare a compile with a wrapper chart render (6c09201)
  • compiler: compile a service instance into upstream chart values (346b213)
  • compiler: compile the OAuth clients of an oidcClients section from an oidc-dcr template (ac45eca)
  • compiler: give the mapping its chart metadata and labels (24dc815)
  • compiler: let a chart of service.yaml name the vendored chart it compiles from (4d49c9c)
  • compiler: let a chart receive the upstream values of another chart with upstream.from (5a75046)
  • compiler: name each upstream chart by its source and read it from a chart cache (a17ca37)
  • compiler: read and merge values as Helm does (18d64f5)
  • compiler: read and merge values exactly as Helm does (b4ef002)
  • compiler: read the instance upstream values from files (d25ed1d)
  • compiler: read the oidc-dcr Job settings from the platform values (33c499d)
  • compiler: read the package's metadata from service.yaml and its parameters from the package (b8fc940)
  • compiler: refuse unknown keys under global.okdp.charts (b2bf8d0)
  • compiler: rename the fixed values of a chart to base (f10317e)
  • compiler: render OKDP's own objects and feed them to the okdp chart (606faa0)
  • compiler: report the instances an instance depends on (c63136e)
  • compiler: set the oidc-dcr 0.5.0 values in okdpDcr (b7d9ece)
  • compiler: show the mapping the upstream values files merged with the inline values (c34c33a)
  • compiler: validate the parameters and the compiled values against their schemas (a961dc9)
  • context levels replace --platform and --project (3c6b7b0)
  • convert CEL values to data recursively and refuse what values cannot hold (8ad89bf)
  • customizable indent (f2dce7c)
  • decode service.yaml strictly and require chart keys as DNS labels (f9e1a15)
  • do not require the secret fields of a contract (f9191dc)
  • emit the instance as an umbrella chart (d414017)
  • every dependency is rendered unless the values leave it out (ad6d6ef)
  • example: add basic target configure example (7f29cbc)
  • example: add the catalog annotations to the webapp chart (75800c6)
  • example: add the webapp chart and contracts, test the example (9fd35e5)
  • find the }} of an expression past raw and triple-quoted strings and comments, refuse mapping keys Helm reads at random, read the mapping's lines and YAML 1.1 scalars as Helm, fuzz the scanner, paths, values and the ...
Read more