Skip to main content

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 ❤️

Metadata

Release files for ded 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ded 0.1.4
File Size Uploaded
ded-0.1.4.tar.gz 3.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ded 0.1.4
File Interpreter ABI Platform
ded-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 6.6 kB

Release files / ded-0.1.4.tar.gz

Download URL ded-0.1.4.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e48a794acb065f8d2fb00b0d36679cf55271f8970fc1636361e83e5f4b5b9100
BLAKE2b-256 checksum
How to use checksums
6d4b2bed53073c2e983b4a4ab5762e23ecaae1b7508c78976c308bef5c4e6018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.9 CPython/3.8.3 Darwin/19.5.0

Release files / ded-0.1.4-py3-none-any.whl

Download URL ded-0.1.4-py3-none-any.whl
Size 3.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd26a72ae236bd0434d443a3055cd67dfedf8df9ab3e63202444606c19dcf0e2
BLAKE2b-256 checksum
How to use checksums
2e1e6352d2b7ece1cc2371b04cbdf0cd09b23d00999c4f34d3972996b332b549
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.9 CPython/3.8.3 Darwin/19.5.0

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page