ded
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?
- Because it's a shorthand for
deduplication - Because "ded" means grandpa in Russian. And I was grumpy as hell when I was trying to deduplicate manifests generated by Helm.
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| ded-0.1.4.tar.gz | 3.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|