Skip to content
This repository has been archived by the owner on Nov 17, 2021. It is now read-only.

Releases: vmware-archive/kubecfg

v0.10.1

04 Apr 16:32
ad63b22
Compare
Choose a tag to compare
  • Fix travis-ci release autobuild condition
  • Otherwise identical to v0.10.0

v0.10.0

04 Apr 14:14
3478656
Compare
Choose a tag to compare
  • Updated client-go to 10.0 (aka Kubernetes 1.13)
  • Updated to go-jsonnet 0.12.1
  • Fix jsonnet search path on Windows
  • NB: This version uses go modules, and requires go >= 1.11 to build

v0.9.1

15 Jan 17:00
59bc7de
Compare
Choose a tag to compare
  • Fix kubecfg.resolveImage so it works with Google Container Registry (#225)
  • Fix issue with kubecfg diff marking unchanged lines as changed (at the expense of slightly less readable diffs in some cases) (#229)

v0.9.0

19 Jul 08:39
f1c5fda
Compare
Choose a tag to compare
  • kubecfg validate now ignores object kinds that are not found in the server discovery data by default.
    This matches the behaviour of kubectl, and allows CRDs to "just work" (ie: be silently ignored) in more cases. See --ignore-unknown flag to force other behaviour.
  • Phase 1 for migrating the gc-tag from an annotation to a label.
    In this release, kubecfg --gc-tag=... writes the gc-tag to both the old annotation and new label, but continues to read from the annotation. A future version will move to the label exclusively - see #205 for overall progress.
  • Improve error message when kubecfg encounters an unexpected jsonnet result structure.
  • null values at object level in jsonnet results are now silently ignored.
    This is sometimes seen in helm template output, and is also useful to conditionally "whiteout" objects. Note null values within objects are still preserved at this stage.
  • client-go upgraded to kubernetes-1.10.3
    • As part of this upgrade, kubecfg now uses the server's OpenAPI schema and not Swagger.

v0.8.0

02 Apr 23:20
b03c2c7
Compare
Choose a tag to compare

Big feature: import now works on URLs!

  • So things like the following are possible. I recommend using a specific tag/commit URL in practice.
local kube = import "https://raw.githubusercontent.com/bitnami-labs/kube-libsonnet/master/kube.libsonnet";
kube.Secret("foo") {data_+: {foo: "sekret!"}}
  • Note that if remote file A imports a relative path B, then B is resolved relative to A's location (and then along the search path if not found), just as it always was with local paths.
  • New flag: --jurl that is like --jpath but accepts a URL to add to the search path.
  • HTTP/S requests are performed using golang net/http, and should obey http_proxy, etc.
  • The actual "top level" kubecfg input arguments must be local paths for now. These will also change to support URLs in a future release.
  • Thanks to @petr-k for another amazing code contribution!

Other changes:

  • -J argument handling has been changed (ie: fixed). It can now be specified multiple times to add multiple search directories, as always intended.
  • kubecfg.libsonnet is now embedded in the binary (last in the search path), so import "kubecfg.libsonnet" should always work.
  • New completion subcommand that outputs shell completion. source <(kubecfg completion) for bash.
  • Now uses client-go v5.0.1
  • Now uses go-jsonnet v0.10.0, which includes various new std functions.
  • validate now skips resource kinds that can't be found in the server schema, but do appear in the server discovery information. In particular, this allows CRDs to pass validation. Thanks to @mmikulicic!
  • Objects are now validated against the server schema at the beginning of an update (by default).

v0.7.2

14 Feb 03:29
7c1e6e5
Compare
Choose a tag to compare
  • Replace jsonnet_cgo with go-jsonnet
    • No more cgo (yay)
    • Please file bugs if you notice any regressions in functionality or stability
    • Thanks to @petr-k for doing the conversion
  • Releases built with go1.9
  • (v0.7.1 fixes an issue with the v0.7.0 release auto-build)
  • (v0.7.2 fixes another issue with osx release auto-build)

v0.7.1

09 Feb 18:59
d448555
Compare
Choose a tag to compare
  • Replace jsonnet_cgo with go-jsonnet
    • No more cgo (yay)
    • Please file bugs if you notice any regressions in functionality or stability
    • Thanks to @petr-k for doing the conversion
  • Releases built with go1.9
  • (v0.7.1 fixes an issue with the v0.7.0 release auto-build)

v0.7.0

09 Feb 16:26
8e2b437
Compare
Choose a tag to compare
  • Replace jsonnet_cgo with go-jsonnet
    • No more cgo (yay)
    • Please file bugs if you notice any regressions in functionality or stability
    • Thanks to @petr-k for doing the conversion
  • Releases built with go1.9

v0.6.0

14 Dec 03:30
9c99a20
Compare
Choose a tag to compare
  • Fix incorrect parsing of k8s minor version (affects GKE in particular)
  • Sorting objects for update/delete is much improved (uses schema information)
  • Update to use client-go v4.0

v0.5.0

16 Aug 03:08
v0.5.0
Compare
Choose a tag to compare
  • Add validate subcommand. This validates API objects against the server's published OpenAPI schema. Online-only for now.
  • Added opt-in "garbage collection" to update. If you run update repeatedly with the same --gc-tag value, then update will now delete API objects with that "tag" on the server that are no longer found in local config.
    • To start using this feature, just start using --gc-tag (and importantly specify the same set of input files on each invocation). "Stale" objects will be deleted on the second and subsequent update runs.
    • To stop using this feature, just stop using --gc-tag.
    • kubecfg update -v --gc-tag=foo --dry-run can be used to indicate what (if any) objects will be deleted (not a 100% accurate representation, since actually creating/updating objects might alter the state of the cluster)
    • Multiple disjoint pipelines pushing to the same cluster using different --gc-tag values and different input files are safe.