Skip to content

Releases: projectsyn/commodore

v1.8.0

15 Aug 08:59
v1.8.0
c8bd46b

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.8.0. This release deprecates parameter -r / --repo-directory for component compile. We don't really need the component's Git repository for standalone compilation, so the change tries to find a Git repository containing the component directory, but gracefully degrades if no repository is found. This should improve the ergonomics of component compile, especially for components stored in a repository subdirectory.

Additionally, the release also contains updates to the component template which should reduce the amount of manual patching required when using the template to initialize a component which is stored in a repository subdirectory.

Changes

7 changes since v1.7.1

🛠️ Minor Changes

  • Deprecate parameter --repo-directory for component compile (#582)
  • Hard-code component name in component template Makefile.vars.mk (#588)

🐛 Fixes

  • Add logic in component template Makefile.vars.mk to handle Git worktree checkouts (#586)

📄 Documentation

  • Add a note about required dev packages for building Commodore dependencies (#580)
  • Update suggested Commodore-in-Docker helpers (#581)
  • Fix config package path in package tutorial (#583)

🔗 Dependency Updates

  • Lock file maintenance (#587)

v1.7.1

11 Aug 12:34
v1.7.1
12aa42a

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.7.1. This release fixes a UI bug in the new package sync command.

Changes

1 changes since v1.7.0

🐛 Fixes

  • Fix console output for package sync (#578)

v1.7.0

10 Aug 13:55
v1.7.0
50b9b2a

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.7.0. This release introduces a new command package sync, which can be used to update configuration packages from their cookiecutter templates, for example in a GitHub action.

The command is currently very specifically targeted at updating Commodore configuration packages hosted on GitHub. See the command documentation for more details.

Changes

5 changes since v1.6.0

🚀 Features

  • Add new command package sync (#572)

🔗 Dependency Updates

  • Lock file maintenance (#570)
  • Update dependency docker.io/python to v3.10.6 (#571)
  • Lock file maintenance (#573)
  • Remove development dependency autopep8 (#577)

v1.6.0

28 Jul 13:58
v1.6.0
6d18805

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.6.0.

This release adds support for fetching new OIDC tokens using the "refresh token" provided by the OIDC provider. This reduces the number of times that Commodore opens a page in the browser to fetch a new OIDC token.

Additionally, we've introduced new commands commodore inventory show and commodore inventory packages, which complement commodore inventory components, but allow users to list the full inventory parameters and the contents of parameters.packages respectively.

Changes

3 changes since v1.5.0

🚀 Features

  • Add logic to try refreshing OIDC token in login() (#568)
  • Add CLI commands to extract package versions and show rendered inventory (#567)

🐛 Fixes

  • Remove reclass warnings from commodore inventory show output (#569)

v1.5.0

26 Jul 09:13
v1.5.0
f16c6bc

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.5.0.

This release adds support for specifying dynamic facts on the command line when compiling a catalog for a cluster which hasn't reported any dynamic facts yet. Dynamic facts provided on the command line will be ignored if the Lieutenant API response for the cluster contains field dynamicFacts

Changes

3 changes since v1.4.2

🚀 Features

  • Add flag for providing fallback dynamic facts for catalog compile (#565)

🔗 Dependency Updates

  • Update dependency pyfakefs to v4.6.3 (#564)
  • Lock file maintenance (#566)

v1.4.2

20 Jul 13:30
v1.4.2
3110140

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.4.2. This release fixes a bug in package update where a stale commit SHA was added to the commit message when updating a configuration package from a new template version.

Changes

1 changes since v1.4.1

🐛 Fixes

  • Fix package update commit message to use correct template commit SHA (#562)

v1.4.1

20 Jul 12:09
v1.4.1
ae70c2a

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.4.1. This release addresses a few oversights in the package new and package update command. We fixed the implementation of the commands to deduplicate the set of requested test cases in configuration packages, and we've adjusted command package upgrade to not create an empty commit when there's no changes to apply.

Changes

2 changes since v1.4.0

🐛 Fixes

  • Deduplicate requested test cases for package new and package update (#560)
  • Don't create empty commits with package update (#561)

v1.4.0

19 Jul 11:26
v1.4.0
bb4d058

Choose a tag to compare

Summary

We're pleased to announce the release of Commodore v1.4.0.

Apart from dependency updates, this release adds support for using Commodore dependencies (components or packages) in a sub-path of a repository, adds support for having multiple Commodore dependencies stored in the same repository, improves support for managing configuration packages, and adds a lint for deprecated Kubernetes API versions to the component template.

Dependency management

To enable users to provide dependencies (components or packages) in a sub-path of a repository, Commodore now supports a new optional key path in dependency specifications (the entries in parameters.components or parameters.packages respectively). If the key path is not present, Commodore assumes that the dependency is stored in the repository root. When a sub-path is given, Commodore will ensure that the contents of that sub-path are made available in the Kapitan inventory.

Also, in order to support packages which are stored in a sub-path of a repository, Commodore now downloads packages to dependencies/pkg.<package-name> and symlinks them to inventory/classes/<package-name> instead of directly cloning packages into inventory/classes.

Additionally, Commodore now uses Git worktrees to manage the component and package checkouts in dependencies/. This allows Commodore to clone each dependency repository exactly once, regardless of the number of dependencies stored in the repository.

When you run Commodore in an existing working directory, it will attempt to migrate your existing dependency checkouts to the new worktree-based checkouts, but will abort if it might delete any local data (uncommitted changes, untracked files, and local branches which don't exist in the remote repository are treated as local data).

Package boilerplate updates

Commodore provides a new command package update, which allows users to update their existing configuration packages from the configuration package Cookiecutter template. We also added support to package update to allow users to add new test cases or remove test cases from an existing package as well as modifying some other selected values in the package boilerplate.

Component linting

This release also adds support for linting components with kubent to the component template. This lint warns component authors about Kubernetes API versions which are deprecated or will be deprecated soon. Due to how the tool works, we've not added this new lint to the component GitHub actions, and instead only provide a make target to run the lints locally at this time.

Changes

9 changes since v1.3.3

🚀 Features

  • component-template: Add lint_kubent make targets to check for deprecated API versions (#544)
  • Add support for dependencies in repository subpaths (#547)
  • Add command package update (#553)
  • Create new components and packages as Git worktree checkouts (#556)

🛠️ Minor Changes

  • Clone config packages to dependencies/pkg.{package-name} (#546)
  • Refactor dependency repository handling to avoid multiple clones of the same repository (#551)

🔗 Dependency Updates

  • Lock file maintenance (#548)
  • Update dependency pyfakefs to v4.6.2 (#555)
  • Update dependency pylint to v2.14.5 (#557)

v1.3.3

07 Jul 14:36
v1.3.3
ff9ddaa

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.3.3. This release updates dependencies, and fixes the RequestsDependencyWarning which was caused by an incomplete dependency specfication for the requests package.

Changes

8 changes since v1.3.2

📄 Documentation

  • Add short tutorial on how to write and use commodore packages (#536)

🔗 Dependency Updates

  • Update dependency importlib-metadata to v4.12.0 (#537)
  • Lock file maintenance (#538)
  • Explicitly configure requests with extra use_chardet_on_py3 (#540)
  • Update dependency black to v22.6.0 (#539)
  • Update dependency pylint to v2.14.4 (#541)
  • Update dependency tox to v3.25.1 (#542)
  • Lock file maintenance (#543)

v1.3.2

20 Jun 14:47
v1.3.2
a17a7a8

Choose a tag to compare

Summary

We're pleased to announce the release of Commodore v1.3.2. Apart from a development dependency update, this release fixes a regression in the component template .gitignore.

Changes

3 changes since v1.3.1

🐛 Fixes

  • Add /dependencies to component template .gitignore (#533)

🔗 Dependency Updates

  • Update dependency pylint to v2.14.2 (#532)
  • Update dependency pylint to v2.14.3 (#534)