github defenseunicorns/zarf v0.21.0

latest releases: v0.33.2, v0.33.1, v0.33.0...
21 months ago

preview

https://www.youtube.com/watch?v=WnOYlFVVKDE

⚠️ Breaking changes

  • Move variable declaration from component to package level by @Racer159 in #621
  • Remove pod-only data injection targets (now requires container in target) by @jeff-mccoy in #644

Features

  • Full Linux ARM support by @jeff-mccoy in #651

  • Package create & deploy variable overrides by @Racer159 in #621. This will allow new ways to template a Zarf Package during creation as seen in packages/zarf-agent/zarf.yaml. Additionally, constants and variables expand on the existing variables that existed at the component level and allow users to specify values at package deploy as well as prompt the user if they did not provide a value via a --set flag.

    Various examples found in examples/package-variables

    kind: ZarfPackageConfig
    metadata:
      name: package-variables
      description: "Test component to demonstrate package variables feature"
    
    # Demonstrates injecting custom constants into a K8s resource, e.g. ###ZARF_CONST_DINGO###
    constants:
      - name: "DINGO"
        value: "howl"
    
    # Demonstrates injecting custom variables into a K8s resource, e.g. ###ZARF_VAR_DOG###
    variables:
      - name: "WOLF"
      - name: "DOG"
        default: "woof"
      - name: "CAT"
        prompt: true
      - name: "FOX"
        default: "###ZARF_PKG_VAR_CONFIG_MAP###"
        prompt: true
    
    components:
      # Note that you must specify the ACTION and CONFIG_MAP i.e. `--set ACTION=template --set CONFIG_MAP=simple-configmap.yaml` during package create
      - name: variable-example
        description: "This component will ###ZARF_PKG_VAR_ACTION### variables within ###ZARF_PKG_VAR_CONFIG_MAP### during deploy"
        required: true
        manifests:
          - name: variable-example-configmap
            files:
              - "###ZARF_PKG_VAR_CONFIG_MAP###"

    A user being prompted for variable values on package deploy:
    Screen Shot 2022-08-02 at 1 20 14 AM

  • Data injection compression & log output by @jeff-mccoy in #644

      dataInjections:
        # Injection in the root directory using data-loader init container
        - source: sample-data
          target:
            namespace: demo
            selector: app=data-injection
            container: data-loader
            path: /test
          compress: true

Fixes

  • Fix Misspellings Across Repository by @elisoncrum in #641
  • Fixes some data injection race conditions and stability concerns on larger datasets by @jeff-mccoy in #644

Development

  • Always build & test Zarf Agent during pull requests; publish latest Zarf Agent on release by @jeff-mccoy in #651
  • Correctly cleanup temp directory test by @jeff-mccoy in #654
  • Change from kubectl exec -> kubectl logs for data injection test by @jeff-mccoy in #647

Docs

Dependencies

  • Update module github.com/google/go-containerregistry to v0.11.0 by @renovate in #633
  • Update module helm.sh/helm/v3 to v3.9.2 by @renovate in #636
  • Update golang.org/x/crypto digest to 630584e by @renovate in #639
  • Update module github.com/pterm/pterm to v0.12.45 by @renovate in #637
  • Update sigstore/cosign-installer action to v2.5.0 by @renovate in #645
  • Update module github.com/sigstore/cosign to v1.10.0 by @renovate in #638
  • Update module sigs.k8s.io/kustomize/kyaml to v0.13.8 by @renovate in #649
  • Update module github.com/testifysec/go-witness to v0.1.12 by @renovate in #652
  • Update module sigs.k8s.io/kustomize/api to v0.12.0 by @renovate in #650

New Contributors

  • @elisoncrum made their first contribution in #641

Full Changelog: v0.20.0...v0.21.0

Don't miss a new zarf release

NewReleases is sending notifications on new releases.