Heist
A Kubernetes Operator which takes care of provisioning and managing Secrets in Vault for your Applications. It allows you to define secrets and Vault functionality required by your application directly in your Helm chart! Heist enables declarative configuration of Vault Secrets, thus reduces the overhead to setup an application's secrets. This improves the overall security by discouraging reuse of Engines or Secrets.
It has been designed with Security by Design from the ground up, to make securely managing your applications secrets as easy as possible, while still allowing full hands-off automation right out of the box!
Concepts
Heist is meant to fully automate HashiCorp Vault secret and engine management for an application. It works according to these principles and features:
- Applications can define secrets and secret engines they require in Kubernetes Custom Kubernetes Resources.
- Heist integrates and utilizes existing environment and acts as a bridge between Kubernetes and HashiCorp Vault.
- Heist provisions those secrets and secret engines in HashiCorp Vault. Heist currently supports these HashiCorp Vault engine types:
- KV Engines
- Transit Engines
- PKI
- Heist sets up Vault policies and roles for the applications to access those secrets and secret engines with their Kubernetes service account.
- To ensure security and separation of access, Heist expects each
Deployment
,StatefulSet
, etc., to have its own, unique service account. - It is possible to define dedicated secrets and secret engines for deployments reducing the overhead to setup an environment. This removes the need to reuse secret engines or even secrets for multiple purposes.
- Heist isolates things based on their namespace and relies on HashiCorp Vault's authentication and authorization mechanisms to grant access to secrets. Additionally, two namespaces cannot share secrets or secret engines.
- Heist can encrypt static secrets using a Transit Engine so that they can be securely stored and managed in git. Heist can also auto generate unique, secure random secret values generated by HashiCorp Vault.
- Heist comes with an agent injector similar to the Vault Agent Injector that automatically handles injecting the secrets defined in the CRDs. This makes consuming any secrets easy and transparent for the application itself.
Roadmap
- Dynamic secret provisioning
Getting Started
We have the following documentation to get you started with Heist:
- Architectural Overview: A high-level explanation of the components and structure of Heist.
- Quick Start Guide: Covers installing Heist and walks you through a basic example.
- Developer Documentation: Documentation for all CRDs provided by Heist and covers their functionality in detail.
- Admin Documentation: Covers deploying Heist for production use, as well as backup and restore functionality.
CRD Documentation
To get an overview of the full CRD specification and descriptions of each property you can use docs.crds.dev.
Additionally, we also have usage guides:
- VaultBinding
- VaultCertificateRole
- VaultCertificateAuthority
- VaultKVSecretEngine
- VaultKVSecret
- VaultSyncSecret
Differences to existing projects
Bank-Vaults
Banzaicloud's Bank-Vaults helps you setup & maintain vault instances. Heist is primarily intended to manage and provision vault objects (secrets, PKIs, engines, ... ) with Kubernetes resources. Heist also allows you to store transit encrypted secrets in resources directly, which allows you to version the secrets with Git.
Vault Agent Sidecar injection
The official Vault Kubernetes injector can be used to expose vault secrets as files inside a container. It does this by adding another container to the pod that needs the secret and mounts a shared volume in both where the secrets will be stored temporarily. Heist has this functionality too, but also maintains, generates, decrypts already encrypted secrets, and provides access control to vault secrets and other Vault objects.
Contributing
We welcome contributions of any kind! A good starting point for your first pull request is our contribution documentation.
fix(deps): update module k8s.io/client-go to v11
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/client-go | require | major |
v0.25.0
->v11.0.0+incompatible
|Release Notes
kubernetes/client-go
v11.0.0+incompatible
Compare Source
v10.0.0+incompatible
Compare Source
v9.0.0+incompatible
Compare Source
v8.0.0+incompatible
Compare Source
v7.0.0+incompatible
Compare Source
v6.0.0+incompatible
Compare Source
v5.0.1+incompatible
Compare Source
v5.0.0+incompatible
Compare Source
v4.0.0+incompatible
Compare Source
v3.0.0+incompatible
Compare Source
v2.0.0+incompatible
Compare Source
v1.5.2
Compare Source
v1.5.1
Compare Source
v1.5.0
Compare Source
v1.4.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module k8s.io/client-go to v1
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/client-go | require | major |
v0.25.0
->v1.5.2
|Release Notes
kubernetes/client-go
v1.5.2
Compare Source
v1.5.1
Compare Source
v1.5.0
Compare Source
v1.4.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module k8s.io/client-go to v1
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/client-go | require | major |
v0.25.0
->v1.5.2
|Release Notes
kubernetes/client-go
v1.5.2
Compare Source
v1.5.1
Compare Source
v1.5.0
Compare Source
v1.4.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module k8s.io/client-go to v1
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/client-go | require | major |
v0.25.0
->v1.5.2
|Release Notes
kubernetes/client-go
v1.5.2
Compare Source
v1.5.1
Compare Source
v1.5.0
Compare Source
v1.4.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module k8s.io/client-go to v1
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/client-go | require | major |
v0.25.0
->v1.5.2
|Release Notes
kubernetes/client-go
v1.5.2
Compare Source
v1.5.1
Compare Source
v1.5.0
Compare Source
v1.4.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update kubernetes packages to v0.25.5
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/api | require | patch |
v0.25.4
->v0.25.5
| | k8s.io/apimachinery | require | patch |v0.25.4
->v0.25.5
| | k8s.io/client-go | require | patch |v0.25.4
->v0.25.5
| | k8s.io/code-generator | require | patch |v0.25.4
->v0.25.5
|Release Notes
kubernetes/api
v0.25.5
Compare Source
kubernetes/apimachinery
v0.25.5
Compare Source
kubernetes/client-go
v0.25.5
Compare Source
kubernetes/code-generator
v0.25.5
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module github.com/masterminds/sprig to v3
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | github.com/Masterminds/sprig | require | major |
v2.22.0+incompatible
->v3.2.2
|Release Notes
Masterminds/sprig
v3.2.2
Compare Source
This release is here simply to satisfy the Go module system. The code is precisely the same as v3.2.1.
v3.2.1
Compare Source
This is a security release for
Masterminds/goutils
v1.1.1
. See the Security Advisory.Changelog
Release 3.2.1 (2021-02-04)
Changed
Masterminds/goutils
tov1.1.1
. see the Security Advisoryv3.2.0
Compare Source
Added
ed25519
keys (thanks @misberner)Changed
ed25519
support requires Go 1.13 or newerFixed
NOTE: The dependency github.com/imdario/mergo reverted the breaking change in 0.3.9 via 0.3.10 release.
v3.1.0
Compare Source
NOTE: The dependency github.com/imdario/mergo made a behavior change in 0.3.9 that impacts sprig functionality. Do not use sprig with a version newer than 0.3.8.
Added
seq
function (thanks @thadc23)Changed
Fixed
seq
example in docs (thanks @kalmant)v3.0.2
Compare Source
Fixed
v3.0.1
Compare Source
Fixed
v3.0.0
Compare Source
Sprig v3 brings some changes while retaining the same Go API. This should enable projects to migrate to v3 with relative ease.
You might be wondering, why increment the major version if the Go API didn't break? The reason for that is some edge case behavior changed. Most importantly the use of
^
while handling major version 0 use cases with semver. To be cautious, the major version of sprig was incremented to limit the number of surprises.Added
Changed
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module github.com/onsi/gomega to v1.20.2
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | github.com/onsi/gomega | require | patch |
v1.20.1
->v1.20.2
|Release Notes
onsi/gomega
v1.20.2
Compare Source
1.20.2
Fixes
35eeadf
]5b78f40
]061fd26
]Maintenance
55d895b
]346de7c
]Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module github.com/masterminds/sprig to v3
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | github.com/Masterminds/sprig | require | major |
v2.22.0+incompatible
->v3.2.2
|Release Notes
Masterminds/sprig
v3.2.2
Compare Source
This release is here simply to satisfy the Go module system. The code is precisely the same as v3.2.1.
v3.2.1
Compare Source
This is a security release for
Masterminds/goutils
v1.1.1
. See the Security Advisory.Changelog
Release 3.2.1 (2021-02-04)
Changed
Masterminds/goutils
tov1.1.1
. see the Security Advisoryv3.2.0
Compare Source
Added
ed25519
keys (thanks @misberner)Changed
ed25519
support requires Go 1.13 or newerFixed
NOTE: The dependency github.com/imdario/mergo reverted the breaking change in 0.3.9 via 0.3.10 release.
v3.1.0
Compare Source
NOTE: The dependency github.com/imdario/mergo made a behavior change in 0.3.9 that impacts sprig functionality. Do not use sprig with a version newer than 0.3.8.
Added
seq
function (thanks @thadc23)Changed
Fixed
seq
example in docs (thanks @kalmant)v3.0.2
Compare Source
Fixed
v3.0.1
Compare Source
Fixed
v3.0.0
Compare Source
Sprig v3 brings some changes while retaining the same Go API. This should enable projects to migrate to v3 with relative ease.
You might be wondering, why increment the major version if the Go API didn't break? The reason for that is some edge case behavior changed. Most importantly the use of
^
while handling major version 0 use cases with semver. To be cautious, the major version of sprig was incremented to limit the number of surprises.Added
Changed
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module github.com/onsi/gomega to v1.20.2
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | github.com/onsi/gomega | require | patch |
v1.20.1
->v1.20.2
|Release Notes
onsi/gomega
v1.20.2
Compare Source
1.20.2
Fixes
35eeadf
]5b78f40
]061fd26
]Maintenance
55d895b
]346de7c
]Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module github.com/onsi/gomega to v1.20.2
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | github.com/onsi/gomega | require | patch |
v1.20.1
->v1.20.2
|Release Notes
onsi/gomega
v1.20.2
Compare Source
1.20.2
Fixes
35eeadf
]5b78f40
]061fd26
]Maintenance
55d895b
]346de7c
]Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module github.com/hashicorp/vault/sdk to v0.6.2
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | github.com/hashicorp/vault/sdk | require | patch |
v0.6.1
->v0.6.2
|Release Notes
hashicorp/vault
v0.6.2
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module sigs.k8s.io/controller-tools to v0.11.1
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | sigs.k8s.io/controller-tools | require | minor |
v0.10.0
->v0.11.1
|Release Notes
kubernetes-sigs/controller-tools
v0.11.1
Compare Source
What's Changed
Full Changelog: https://github.com/kubernetes-sigs/controller-tools/compare/v0.11.0...v0.11.1
v0.11.0
Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/kubernetes-sigs/controller-tools/compare/v0.10.0...v0.11.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module sigs.k8s.io/kustomize/kustomize/v3 to v4
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | sigs.k8s.io/kustomize/kustomize/v3 | require | major |
v3.10.0
->v4.5.7
|Release Notes
kubernetes-sigs/kustomize
v4.5.7
Due to an oversight, kustomize v4.5.6 has the golang testing library compiled in unnecessarily. This is a rerelease with the same functionality, but without the unnecessary additional library compiled in.
Dependency changes
#4743: Pin to kyaml v0.13.9 #4744: pin to cmd/config 0.10.9 #4745: pin to api v0.12.1
v4.5.6
Due to an oversight, kustomize v4.5.6 has the golang testing library compiled in unnecessarily. It is advised that you upgrade to v4.5.7, which doesn't have the testing library compiled in.
Small features
#4704: Option to customize NamespaceTransformer role binding subject handling #4708: Option to customize NamespaceTransformer overwrite behaviour
Bug fixes
#4700: Correctly detect ambiguity between potential referrers when targeting a name+namespace reference #4703: Fix NameReference transformer handling of self-references in annotations #4730: Emit a warning when env loading bug is being relied on #4667: Replacements: fix issue with
create: true
option when there is an existing fieldDependency Changes
#4736: Pin to kyaml v0.13.8 #4737: Pin cmd/config 0.10.8 #4738: Pin to api v0.12.0 #4675: Update dependency github.com/xlab/treeprint to v1.1.0
v4.5.5
This release is expected to have significant performance improvements for a good portion of inputs, due to #4568.
Small features
#4209: [Address #3937] Add labels to template/metadata if includeTemplates is true #4364: Add tagsuffix to take image tag suffix #4567: Add support for remote OpenAPI schema
Bug fixes and performance improvements
#4568: openapi parsing performance improvement with protobuffer #4489: Fix containerized function mounts issue #4577: Fix error message using replacement wildcard and create option #4565: Raise error for external generators or transformers
Dependency changes
#4644: Update kyaml to v0.13.7 #4645: Update cmd/config to v0.10.7 #4646: Update api to v0.11.5
v4.5.4
#4538: move to google/gnostic v0.5.7-v3refs (required for kubectl integration update) https://github.com/kubernetes-sigs/kustomize/pull/4545: Add more name refs to PodTemplate for ConfigMap and Secret #4547: Update kyaml to v0.13.6 #4549: Update cmd/config to v0.10.6 #4550: Update api to api/v0.11.4
v4.5.3
Enhancements
97de780
Support expanding anchor tags (#4383)26b9af0
Allow setting every array element in replacements (https://github.com/kubernetes-sigs/kustomize/pull/4424)d1d578c
Support for multiple replacements in a single file (https://github.com/kubernetes-sigs/kustomize/pull/4485)Bug Fixes
7b0ec99
Retain quotes in namespace transformer filter (#4421)cb80659
Preserve scalar types when using the replacement filter (https://github.com/kubernetes-sigs/kustomize/pull/4494)7a3c426
Fix image name parsing with tag and digest (https://github.com/kubernetes-sigs/kustomize/pull/4406)3421fcf
bump dependency cobra to pick up latest vulnerability solutionv4.5.2
2f17803
Fix regression: Support for pseudo git HTTP urls in the git cloner had broken in59c8265
(#4453)b73dfe7
Remove exclude statements from kustomize module (https://github.com/kubernetes-sigs/kustomize/pull/4387)v4.5.1
Known issues:
a86723c
Fix regression #4388 (introduced in kustomize 4.5.0), which changed the order of resources produced bykustomize build
. (#4445)v4.5.0
Known issues
kustomize build
with--reorder
unset or explicitly set tolegacy
, are advised to skip this release. https://github.com/kubernetes-sigs/kustomize/issues/4388New enhancements
buildMetadata
. See docs here.kustomize edit add buildmetadata
(#4413)kustomize build ...
now completes file paths on ZSH. (#4310)kustomize edit add generator
(https://github.com/kubernetes-sigs/kustomize/pull/4361)Deprecations
2554d69
Deprecate enable-managedby-label flag in favor of a field (#4377)v4.4.1
This release restores the Windows binary and introduces ppc64le and s390x binaries.
b6cb6c8
fix build annotations getting lost after applying JSON 6902 patch (#4266)d8f406d
Fix: replacements entries get source and targets with null value appended (#4271)ef5f1d3
support label and annotation selection in replacement targets (#4229)ba051c8
fix issue with quote being dropped in configmap generation (#4242)0d8c107
fix issue with openapi schema from components (#4210)v4.4.0
The headline feature of this release is improved support for YAML anchors and aliases, which will be expanded by default as of this version. (Issue #3675; PRs #4114 and #4187)
Additional features and fixes include:
12c177a
fixes 4123; added length check on originalFields of kustomizationFile to prevent panic when kustomization file began with a comment(or a blank line) followed by a document separatorv4.3.0
7b5e43d
Feature: Add edit set annotation (#4073)0537b59
support yaml formatted openapi schema (#4017)1e1b9b4
exec function working dir is the kustomization that referenced it (#4125)38b2b33
update openapi to v1.21.2, fixing batch/v1 CronJob patching behavior (#4112)e1804cb
Retain field order after running any arbitrary functions on resources (#4021)78737f5
Updated ByteReader to allow white space and comments on the same line after --- and throw an error if anything else is detected (#4014)16dcc98
deprecate some cfg commands (#4048 )3350c72
option for origin data as annotation (#4065)97e7cb1
remove annotations added by the kyaml reader (#4091)v4.2.0
New experimental command to automatically migrate
vars
toreplacements
:kustomize edit fix —vars
. For details, runkustomize edit fix -h
. Warning: convertingvars
toreplacements
will potentially overwrite many resource files and in rare scenarios may not produce the same output whenkustomize build
is run. We recommend doing this in a clean git repository where the change is easy to undo.a1746f2
Pin to api v0.8.11bb6f83f
Pin to cmd/config v0.9.13aa92d83
Pin to kyaml (#4020)217e5c7
fix openapi command help page7fae7d1
Move api/filesys to kyaml/filesys (#3997)c19a972
expose --as-current-user via AddFunctionBasicsFlags3b37fed
convert vars to replacements: mapping value with dotf121e74
convert vars to replacements24294d3
upgrade json-patch 4.11.0a3ed120
Handle errorsf6e6ac0
Back to development mode; unpin the modulesv4.1.3
vars
feature. Thanks @natasha41575!Gvk
andResid
types moved to kyamlResource
now inlinesRNode
rather than delegating to itResmap
now accepts ankio.Filter
visitor (that can change the ResMap size).afaf7c6
Pin to api v0.8.10c24daec
Pin to cmd/config v0.9.1251605be
Pin to kyaml v0.10.203f3d3b1
Replace pkger with embed.FS compatibilitydca13a4
use assert statements for kustomize edit tests3cf18ad
fix test2bec25b
add new fields to ordered fields6608472
Simplify gvk, speed up cluster-scoped checks.a4db686
Unpin everything.5a8a4d4
More pinning.1235047
Establish pin state.1e7260b
Pin to cmd/config v0.9.113a508da
Pin to kyaml/v0.10.1845fc670
update openapi fetch commandbcbfa06
remove go-openapi/spec,validate,strfmt from kustomize/38e9c34
Back to dev mode; unpin the modules.v4.1.2
This is a patch release to downgrade a dependency on
github.com/imdario/mergo
from v0.3.7 to v0.3.5. This is to avoid forcing downstream kubernetes to use a newer version ofmergo
than it currently has.End users of the CLI can stay with v4.1.0. See that release for user-facing changes.
3f2b98f
Pin to api v0.8.85ba45f1
Back to mergo v0.3.5d8015d3
Back to development mode; unpin the modulesv4.1.1
This is a patch release to downgrade a dependency on
github.com/imdario/mergo
from v0.3.12 to v0.3.7.The newer version of mergo appears to cause a test failure in client-go, so we'll keep mergo dependencies lower than latest for now.
59af495
Pin to api v0.8.7162b8f3
Unpin the apiv4.1.0
Patch
kind
andmetadata/name
A patch can now change the
kind
orname
of a resource, e.g. aDeployment
can become aStatefulSet
.These fields used to be a primary key for patch targetting, and thus couldn't be patched.
See examples in the feature's patch regression coverage.
labels without selectors
A new labels field allows adding labels without also automatically injecting corresponding selectors:
This can be used instead of the
commonLabels
field, which always adds selectors.Updated
helm
generatorkustomize can use the
helm
command line to inflate charts as a resource generator, allowing a helm chart to define the base of any number of variants.The
kustomization.yaml
file has two new fields:These fields are documented in helmchartargs.go.
These fields replace the deprecated but still functional
helmChartInflationGenerator
field, which combined the above data and offered two fields that must now be ignored:helmBin
andextraArgs
. These latter fields are risky for people who already engage in the risky behavior of using remote configuration that they do not control.To use a helm chart as a kustomization base, define values for these fields and run:
The
--enable-helm
flag is new, and required to allowkustomize
to run ahelm
subprocess.Look here for a complete helm example.
Requires user to have helm v3 installed.
Use a custom OpenAPI schema file
Kustomize uses OpenAPI data to get information about merge keys.
To use a custom schema, specify what file to use via the
openapi
field.See the custom OpenAPI example for details.
Misc issues fixed/touched
emptyDir{}
Commits
See the api v0.8.6 release notes for more commits in this version.
e3ce616
Pin to api v0.8.66a708bc
Pin to cmd/config v0.9.1088911bb
Pin to [email protected]240cda0
Add flag --enable-helmaa5b481
upgrade to helm 3.5.4 and imdario/mergo v0.3.12c632880
Pin to kyaml v0.10.163255c73
Loader FS and empty env fixccb95ab
add conflict checke77c284
Do no require exec/go plugin home to use fn plugins5ed2067
Add labels field to kustomization123a5d6
Remove the wrappy layer.f96ac2d
allow general name and kind changes via an options field in patchesddfb4ff
Unpin all modules (back to dev mode).e2e4950
Take provenance version into account for build testv4.0.5
Candidate for kubectl integration
4d66f9a
Pin to api v0.8.5243e7cc
Pin to cmd/config v0.9.7711b4ff
Pin to kyaml v0.10.15a8b851f
Reinstate configmap/secret generator env field (kustomization struct compatibility with v2.0.1)f3a958b
Extract flags that enable alpha function features (no starlark)60bd8d1
upgraded to yaml.v2 v2.4.0e9c97a4
updated go version to 1.16722b013
return error for duplicate keys rather than panickingv4.0.4
To facilitate kubectl integration, update generated code and deps. No change in behavior.
29bfdfc
Pin to api v0.8.4a45e90b
Pin to cmd/config v0.9.54a2ed90
Pin to kyaml v0.10.13be8d60f
Unpin kyaml, cmd/config and api.v4.0.3
Removed some code generation markers from copied code.
7965195
Pin to api api/v0.8.303c77ce
Pin to cmd/config v0.9.4821b14b
Pin to kyaml v0.10.12v4.0.2
This release trims some unnecessary dependencies from kustomize, and pins to a version of kyaml that likewise has trimmed deps, to facilitate reintegration with kubectl.
c9d9348
Drop commands replacement from go.mod3da90db
Pin to api v0.8.22b9c69f
Pin to cmd/config v0.9.3f96dfb5
Pin to kyaml v0.10.11cd2b0fc
Remove tool deps from shippable modules.316e431
added experimental openapi fetch command to get schema from local clusterc04cf01
fix test5614852
fix edit commands remove metadatac7a504c
Add 4.0.1 to example tests and unpin.v4.0.1
In flags, convert underscores to hyphens to be compatible with kubectl.
These v4 flags are now incompatible with v3.
81562a7
Pin for kustomize/v4.0.1 release.6cf4844
Hyphenate flags and add more build command tests.d7b2945
Back to development mode; unpin the modulesConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module github.com/onsi/ginkgo to v2
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | github.com/onsi/ginkgo | require | major |
v1.16.5
->v2.6.1
|Release Notes
onsi/ginkgo
v2.6.1
Compare Source
2.6.1
Features
60240d1
]Fixes
301f3e2
]Maintenance
3643823
]f9f856e
]0d7087e
]v2.6.0
Compare Source
2.6.0
Features
ReportBeforeSuite
provides access to the suite report before the suite begins.956e6d2
]de44005
]Fixes
2165648
]v2.5.1
Compare Source
2.5.1
Fixes
3ab38ae
]55fc58d
]8a14f1f
]2669612
]--progress
deprecation message (#1076) [b4b7edc
]Maintenance
baea341
]9646297
]v2.5.0
Compare Source
2.5.0
Ginkgo output now includes a timeline-view of the spec
This commit changes Ginkgo's default output. Spec details are now presented as a timeline that includes events that occur during the spec lifecycle interleaved with any GinkgoWriter content. This makes is much easier to understand the flow of a spec and where a given failure occurs.
The --progress, --slow-spec-threshold, --always-emit-ginkgo-writer flags and the SuppressProgressReporting decorator have all been deprecated. Instead the existing -v and -vv flags better capture the level of verbosity to display. However, a new --show-node-events flag is added to include node
> Enter
and< Exit
events in the spec timeline.In addition, JUnit reports now include the timeline (rendered with -vv) and custom JUnit reports can be configured and generated using
GenerateJUnitReportWithConfig(report types.Report, dst string, config JunitReportConfig)
Code should continue to work unchanged with this version of Ginkgo - however if you have tooling that was relying on the specific output format of Ginkgo you may run into issues. Ginkgo's console output is not guaranteed to be stable for tooling and automation purposes. You should, instead, use Ginkgo's JSON format to build tooling on top of as it has stronger guarantees to be stable from version to version.
Features
0f2fa27
]Fixes
c70867a
]Maintenance
bb3b4e2
]v2.4.0
Compare Source
2.4.0
Features
5e33c75
]bf78c28
]047c02f
]Fixes
1403d3c
]2105ba3
]be6b5b9
]Maintenance
8a2f483
]529c4e8
]da09146
]918040d
]2098e4d
]1d74122
]4442772
]v2.3.1
Compare Source
2.3.1
Fixes
Several users were invoking
ginkgo
by installing the latest version of the cli viago install github.com/onsi/ginkgo/v2/ginkgo@latest
. When 2.3.0 was released this resulted in an influx of issues as CI systems failed due to a change in the internal contract between the Ginkgo CLI and the Ginkgo library. Ginkgo only supports running the same version of the library as the cli (which is why both are packaged in the same repository).With this patch release, the ginkgo CLI can now identify a version mismatch and emit a helpful error message.
bc4ae2f
]2691dd8
]Maintenance
822a937
]v2.3.0
Compare Source
2.3.0
Interruptible Nodes and Timeouts
Ginkgo now supports per-node and per-spec timeouts on interruptible nodes. Check out the documentation for all the details but the gist is you can now write specs like this:
and have Ginkgo ensure that the node completes before the timeout elapses. If it does elapse, or if an external interrupt is received (e.g.
^C
) then Ginkgo will cancel the context and wait for the Grace Period for the node to exit before proceeding with any cleanup nodes associated with the spec. Thectx
provided by Ginkgo can also be passed down to Gomega'sEventually
to have all assertions within the node governed by a single deadline.Features
SpecContext
also provides a mechanism for third-party libraries to provide additional information when a Progress Report is generated. Gomega uses this to provide the current state of anEventually().WithContext()
assertion when a Progress Report is requested.a4c9865
]Fixes
92c88d5
]1be2427
]Maintenance
57c373c
]30526d5
]cf611c4
]b541bcb
]v2.2.0
Compare Source
2.2.0
Generate real-time Progress Reports [
f91377c
]Ginkgo can now generate Progress Reports to point users at the current running line of code (including a preview of the actual source code) and a best guess at the most relevant subroutines.
These Progress Reports allow users to debug stuck or slow tests without exiting the Ginkgo process. A Progress Report can be generated at any time by sending Ginkgo a
SIGINFO
(^T
on MacOS/BSD) orSIGUSR1
.In addition, the user can specify
--poll-progress-after
and--poll-progress-interval
to have Ginkgo start periodically emitting progress reports if a given node takes too long. These can be overriden/set on a per-node basis with thePollProgressAfter
andPollProgressInterval
decorators.Progress Reports are emitted to stdout, and also stored in the machine-redable report formats that Ginkgo supports.
Ginkgo also uses this progress reporting infrastructure under the hood when handling timeouts and interrupts. This yields much more focused, useful, and informative stack traces than previously.
Features
BeforeSuite
,AfterSuite
,SynchronizedBeforeSuite
,SynchronizedAfterSuite
, andReportAfterSuite
now support (the relevant subset of) decorators. These can be passed in after the callback functions that are usually passed into these nodes.As a result the signature of these methods has changed and now includes a trailing
args ...interface{}
. For most users simply using the DSL, this change is transparent. However if you were assigning one of these functions to a custom variable (or passing it around) then your code may need to change to reflect the new signature.Maintenance
0ffde58
]896bbb9
]6d3a90e
]v2.1.6
Compare Source
2.1.6
Fixes
SuppressProgressReporting
decorator to turn off --progress announcements for a given node [dfef62a
]7373214
]v2.1.5
Compare Source
2.1.5
Fixes
6ad7138
]CurrentSpecReport
andAddReportEntry
are thread-safe [817c09b
]3cd8b93
]5cf23e2
] - even when only one spec has failedb1864ad
]219cc00
]71ebb74
]143d208
]b69554f
]Maintenance
e5dfce4
]7ae91c4
]e87a85a
]bbefe12
]9327906
]f44af96
]ef336aa
]v2.1.4
Compare Source
Fixes
when
when usingWhen
(this behavior was in 1.x but unintentionally lost during the 2.0 rewrite) [efce903
]a7bd1fe
]0976569
]aae4480
]f779385
]v2.1.3
Compare Source
See https://onsi.github.io/ginkgo/MIGRATING_TO_V2 for details on V2.
Fixes
ff12cee
]v2.1.2
Compare Source
Fixes
ginkgo unfocus
[a612ff1
]8fbfa02
]v2.1.1
Compare Source
See https://onsi.github.io/ginkgo/MIGRATING_TO_V2 for details on V2.
Fixes
ec17e17
]v2.1.0
Compare Source
See https://onsi.github.io/ginkgo/MIGRATING_TO_V2 for details on V2.
2.1.0 is a minor release with a few tweaks:
90868e2
] More details here.6f8577e
]718542a
,ecb7098
,146654c
,a8f9913
,6bdffde
,03dcd7e
]v2.0.0
: Ginkgo v2.0.0Compare Source
Ginkgo v2.0.0 is a major new release of Ginkgo.
The changes to Ginkgo are substantial and wide-ranging, however care has been given to ensure that most users will experience a smooth migration from V1 to V2 with relatively little work. A combined changelog and migration guides is available here and the Ginkgo docs have been updated to capture the new functionality in V2.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update module k8s.io/client-go to v11
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/client-go | require | major |
v0.26.0
->v11.0.0+incompatible
|Release Notes
kubernetes/client-go
v11.0.0+incompatible
Compare Source
v10.0.0+incompatible
Compare Source
v9.0.0+incompatible
Compare Source
v8.0.0+incompatible
Compare Source
v7.0.0+incompatible
Compare Source
v6.0.0+incompatible
Compare Source
v5.0.1+incompatible
Compare Source
v5.0.0+incompatible
Compare Source
v4.0.0+incompatible
Compare Source
v3.0.0+incompatible
Compare Source
v2.0.0+incompatible
Compare Source
v1.5.2
Compare Source
v1.5.1
Compare Source
v1.5.0
Compare Source
v1.4.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
fix(deps): update kubernetes packages to v0.26.0
This PR contains the following updates:
| Package | Type | Update | Change | |---|---|---|---| | k8s.io/api | require | minor |
v0.25.5
->v0.26.0
| | k8s.io/apimachinery | require | minor |v0.25.5
->v0.26.0
| | k8s.io/client-go | require | minor |v0.25.5
->v0.26.0
| | k8s.io/code-generator | require | minor |v0.25.5
->v0.26.0
|Release Notes
kubernetes/api
v0.26.0
Compare Source
kubernetes/apimachinery
v0.26.0
Compare Source
kubernetes/client-go
v0.26.0
Compare Source
kubernetes/code-generator
v0.26.0
Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.