Skip to content

Releases: projectsyn/commodore

Release v0.6.0

09 Apr 14:03
ae98176

Choose a tag to compare

This release of Commodore mainly consists of QoL improvements.

Additionally, this release deprecates parameter commodore.jsonnet_libs. Components which require 3rd-party Jsonnet dependencies should specify their dependencies in a jsonnetfile.json. Commodore v0.3.0 and newer use jsonnet-bundler to fetch Jsonnet dependencies (and inject kube.libsonnet as a dependency), but the old commodore.jsonnet_libs hierarchy parameter was never fully deprecated even though it was not really used anymore.

Changes since v0.5.0

Added

  • Render multi-line strings as block-scalars in Commodore's YAML dump helpers (#294)
  • Deprecation notice for parameter commodore.jsonnet_libs (#300)
  • Command line options to override global and tenant repo revisions (#301)
  • Tests and benchmarks on Python 3.9 (#302)
  • Kapitan targets are created from scratch in local mode (#303)
  • Command line option to disable Jsonnet and Kapitan dependency fetching in local mode (#303)

Changed

  • component new and component delete don't add or remove the new component in the inventory and jsonnetfile.json anymore (#303)

Fixed

  • Fix component template GitHub workflow to correctly lint docs (#295)
  • Fix mock cluster parameters provided by component compile (#304)

Release v0.5.0

12 Mar 16:31
e09522e

Choose a tag to compare

This release of Commodore deprecates parameters.component_versions in favor of parameters.components, see also https://syn.tools/commodore/reference/deprecation-notices.html#_parameters_component_versions_is_deprecated

Going forward we're going to publish Commodore deprecation notices in https://syn.tools/commodore/reference/deprecation-notices.html

Changes since v0.4.2

Added

  • Generate a best-effort SSH-based push URL for component repos (#281)
  • Deprecation notice framework (#287)

Changed

  • Update pytest options to remove warnings (#283)
  • Move component URLs to parameters.components (#284)
  • Default component version to "origin/HEAD" instead of "master" (#286)
  • Deprecated use of parameters.component_versions (#287)

Fixed

  • Values in parameters.components always have precedence over values in parameters.component_versions (#289)
  • Correctly handle tags as component versions (#290)

v0.4.2

14 Jan 10:35
c063b16

Choose a tag to compare

Added

  • Support for rendering component jsonnetfile.json from Jsonnet (#275)

Fixed

  • Correctly handle component instances in Kapitan reference management (#272)

Changed

  • Component template to ignore vendor/ from linting (#276)

v0.4.1

28 Dec 12:31
0e9f469

Choose a tag to compare

This is a bugfix release which includes a bulk update of all dependencies, including Kapitan.

This release updates Kapitan to v0.29.4 which addresses two open issues in Commodore:

  • Commodore now supports removing components which were included earlier in the hierarchy (#71).
  • The FileExistsError when fetching dependencies has been resolved in Kapitan since v0.29.2 (#233).

Changes since v0.4.0

Added

  • Add GitHub action to build Kapitan docker image from tools/Dockerfile.kapitan (#266)

Changed

  • Always create targets from component aliases (#269)
  • Update dependencies (#200)

Fixed

  • Correctly create a local branch when overriding component version (#262)
  • Field read when determine revision of the tenant config repository (#263)
  • Remove usage of deprecated ::set-env in GitHub actions (#265)

v0.4.0

05 Nov 14:04
461e7e0

Choose a tag to compare

Added

  • Add support for component instantiation (#234).
  • Add basic renovate config to component template (#249).
  • Ability to configure the working directory (#230)
  • Ability to configure working dir with an environment variable (#256)

Changed

  • Git repository URLs are now retrieved from the Lieutenant API (#226)

  • Create a Kapitan target for each component (#227)

    This requires a refactored hierarchy which replaces class includes of
    components with entries in applications.
    classes: "components.argocd" becomes applications: "argocd" .

  • Pull essential libraries with Jsonnet Bundler (#246)

  • Add option to define postprocessing filters in the Kapitan inventory (#222).

  • Update component template to use inventory postprocessing filters (#249).

  • Components are no longer deleted when compiling a cluster (#253)
    Missing components will be cloned.
    Existing components will be updated.
    This also affects artefacts downloaded by components.
    Component authors must ensure their downloaded path changes with versions.
    Checkout the component style guide(https://syn.tools/syn/references/style-guide.html#_component_style) for further details.

Fixed

  • Replace remaining references to common.yml with commodore.yml (#204)
  • Adjust component new/delete to update jsonnetfile.json (#211)
  • Provide inventory_path in Kapitan's argument cache (#212)
  • Clear Jsonnet lock file (#215)
  • Also make arrays mergeable with makeMergeable helper (#217)

Removed

  • Check for "Old-style" components (#237)
  • Configuration of the global git base (#247)
    All components must be listed in commodore.yml within the global configuration repository.
    The URL of the global configuration repository must be set at Lieutenant on the Tenant object.

v0.3.0

02 Oct 14:33
05bbef1

Choose a tag to compare

Added

  • Ability to manage dependencies with jsonnet-bundler (#190)
  • Mypy static type analysis to the tox/CI environments. (#180)
  • Add --pad-arrays to component template jsonnetfmt arguments (#186)
  • New commodore cluster list command (#179)
  • New commodore component delete command (#188)

Changed

  • Inventory hierarchy is now dynamic (#195)

    A class hierarchy needs to be added.
    Check the documentation for details.

  • Pass through facts from Lieutenant API to parameters.facts (#192)

  • Slightly improved error message in case commodore component new is called in a folder that is not a populated (compiled) catalog (#183)

  • Vault default values (#176)

  • Improved component new documentation (#182)

  • component new restricts allowed component slugs (#189)

Deprecated

  • The following parameters will be removed in a future release.
    They are replaced with corresponding values within parameters.facts (#192).
    • parameters.cluster.distparameters.facts.distribution
    • parameters.cloud.providerparameters.facts.cloud
    • parameters.cloud.regionparameters.facts.region
    • parameters.customer.nameparameters.cluster.tenant

Fixed

  • Fix failing bandit CI check (#185)
  • Ignore component versions if not included (#177)
  • Fix Jsonnet linting error in component template (#186)
  • Commit .editorconfig in initial commit for component repo (#201)

v0.2.3

04 Sep 14:24
76f779d

Choose a tag to compare

v0.2.3

Added

  • Validation of component slug (#153)
  • component compile now applies postprocessing filters (#154)
  • Option to disable postprocessing filters (#155)
  • --interactive option to prompt push confirmation (#157)
  • Extend component template with docs setup (#158)
  • Build Helm bindings for native Helm dependencies (#161)
  • Replaced playbook.yml with custom command (#165)

Changed

  • Reworked documentation (#147)
  • Use Reclass to discover components (#160)

v0.2.2

28 Jul 08:01
fc8d3d7

Choose a tag to compare

Fixed

  • Ignore filename too long (#147)

v0.2.1

27 Jul 12:24
d0d91eb

Choose a tag to compare

Fixed

  • Read token from file (#146)

v0.2.0

23 Jul 12:22
2ef70ef

Choose a tag to compare

Added

  • getValueOrDefault helper (#125)
  • makeMergeable helper (#126)
  • commodore component compile to compile a single component (#122)
  • Option to explicitly set a component's display name (#133)
  • labels to issue templates (#134)
  • Vale Makefile target in component template (#137)
  • Allow overriding Git user info for catalog commits (#140)
  • Refactor tests to work with new setup-python (#143)

Changed

  • compile and clean commands were moved to the catalog command group (#122)
  • new-component command was moved to the component command group (#122)
  • Jsonnet library file extension to .libsonnet in component template (#137)
  • Applied the component template to Commodore itself (#145)

Fixed

  • Commit messages from automated catalog updates do no longer contain a leading newline (#136)