Skip to main content

Helm dependency deduplication post-renderer

Project description

ded

Grumpy Ded Helm dependency deduplication post-renderer

Installation

pip install ded

Usage

This program collects all pre-rendered manifests from Helm and post-renders only those unique amongst them.

The uniqueness is determined based on the default or supplied YAML keys. The keys must exist in all of the supplied documents.

Invoke as --post-renderer during helm install/upgrade.

ded determines uniquiness based on values of the kind and metadata.name fields of each manifests. You can specify non-default keys by which the pre-rendered manifests from helm must be deduplicated:

  ded --key metadata.namespace

IMPORTANT: The keys used to determine uniquiness must be present in every manifest or ded will exit with code 1 and helm install or helm upgrade will consequently fail.

Examples

The example below will filter all manifests based on values of kind and metadata.name fields.

helm install release-name your-chart/ --post-renderer ded

So, if there are 2 manifests in your Helm chart release with the same values on these fields, then only one of them will be left.

Manifest A:

apiVersion: v1
kind: ConfigMap
metadata:
  name: foo-cm
data:
  onedata: test

Manifest B:

apiVersion: v1
kind: ConfigMap
metadata:
  name: foo-cm
data:
  twodata: test-test

In the example above only the first occuring manifest will make it to the output of the post-renderer.

Or invoke with a different set of keys:

helm install release-name your-chart/ --post-renderer ded --key metadata.name

More keys:

helm install release-name your-chart/ --post-renderer ded -k metadata.name --k data.onedata

Why ded?

  1. Because it's a shorthand for deduplication
  2. Because "ded" means grandpa in Russian. And I was grumpy as hell when I was trying to deduplicate manifests generated by Helm.
  3. Because dealing with subcharts and dependencies in Helm makes you a little dead inside.

Helm is ❤️

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ded-0.1.4.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

ded-0.1.4-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file ded-0.1.4.tar.gz.

File metadata

  • Download URL: ded-0.1.4.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.8.3 Darwin/19.5.0

File hashes

Hashes for ded-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e48a794acb065f8d2fb00b0d36679cf55271f8970fc1636361e83e5f4b5b9100
MD5 a7704a9470df37ce6beb67a6c1ac7099
BLAKE2b-256 6d4b2bed53073c2e983b4a4ab5762e23ecaae1b7508c78976c308bef5c4e6018

See more details on using hashes here.

File details

Details for the file ded-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: ded-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.8.3 Darwin/19.5.0

File hashes

Hashes for ded-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fd26a72ae236bd0434d443a3055cd67dfedf8df9ab3e63202444606c19dcf0e2
MD5 069fc0d587a10dd2aa5589aaed77bc3c
BLAKE2b-256 2e1e6352d2b7ece1cc2371b04cbdf0cd09b23d00999c4f34d3972996b332b549

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page