Releases: canonical/concierge
Release list
v1.6.1
This is a bugfix release that avoids race conditions when configuring the MicroK8s provider, by waiting for MicroK8s to settle before configuring the image registry.
What's Changed
- fix: wait for MicroK8s to settle before configuring image registry in #217
- chore: bump Go to 1.26.4 in #204
- chore: rename .github/zizmor.yml to .github/zizmor.yaml in #219
- ci: drop colliding concurrency group from sbom-secscan workflow in #198
- ci: build for all linux/* architectures supported by Go in #200
- ci: enforce Conventional Commits on PR titles in #206
- ci: add dependency-review-action on PRs in #207
- refactor: use sync.Map in RunExclusive; document discard idioms elsewhere in #205
- ci: don't attempt to comment on the PR from the dependency-action workflow in #210
- build(deps): bump actions/checkout from 6 to 6.0.2 in #201
- build(deps): bump github/codeql-action from 4.35.2 to 4.36.0 in #203
- build(deps): bump tiobe/tics-github-action from 3.9.1 to 3.10.0 in #202
Full Changelog: v1.6.0...v1.6.1
v1.6.0
This release adds the ability to specify a Juju snap revision to install, and adds uv to the dev preset.
What's Changed
- feat: allow specifying a Juju snap revision in #185
- feat: add astral-uv to the dev preset in #195
- fix: work around Viper dropping nil-value keys in #190
- fix: fall back to getent for users that are not findable in /etc/passwd in #183
- chore: update Go version to 1.26.2 in #191
- chore: update Go version to 1.26.3 in #193
- ci: run secscan on release for security scanning and SBOM generation in #196
- docs: replace the PGP key with the upstream page in SECURITY.md in #192
New Contributors
Full Changelog: v1.5.0...v1.6.0
v1.5.0
The main change in this release is that we've adjusted the way Concierge logs when running commands that are expected to fail (like checking if a system is already bootstrapped). Many users were confused seeing error messages that were raw errors from the processes being called, but expected non-errors from Concierge's point of view. Those are now only displayed if you've increased the logging level.
What's Changed
- feat: drop logs to trace if an error is expected in #173
- test: expect provider-microk8s to time out on concierge prepare in #174
- ci: add a dependabot cooldown in #180
Full Changelog: v1.4.3...v1.5.0
v1.4.5
This release contains a collection of small bug fixes. Most significantly, it avoids clobbering an existing K8s cluster, for example if running concierge twice.
(This release is the same as 1.4.3, which failed to release due to an incompatibility with recently changed GitHub settings.)
What's Changed
- fix: only remove /run/containerd if we need to bootstrap k8s in #161
- fix: use MicroK8s config for model defaults and bootstrap constraints in #166
- fix: treat non-active installed snaps as installed in #165
- fix: merge provider credentials instead of overwriting in #163
- fix: don't retry permanent errors in RunWithRetries in #164
- chore: address minor linting issues in #169
- ci: add Zizmor workflow in #167
- ci: add static analysis in #168
Full Changelog: v1.4.2...v1.4.5
v1.4.4: a collection of small bug fixes
This release contains a collection of small bug fixes. Most significantly, it avoids clobbering an existing K8s cluster, for example if running concierge twice.
(This release is the same as 1.4.3, which failed to release due to an incompatibility with recently changed GitHub settings.)
What's Changed
- fix: only remove /run/containerd if we need to bootstrap k8s in #161
- fix: use MicroK8s config for model defaults and bootstrap constraints in #166
- fix: treat non-active installed snaps as installed in #165
- fix: merge provider credentials instead of overwriting in #163
- fix: don't retry permanent errors in RunWithRetries in #164
- chore: address minor linting issues in #169
- ci: add Zizmor workflow in #167
- ci: add static analysis in #168
Full Changelog: v1.4.2...v1.4.4
v1.4.3
This release contains a collection of small bug fixes. Most significantly, it avoids clobbering an existing K8s cluster, for example if running concierge twice.
What's Changed
- fix: only remove /run/containerd if we need to bootstrap k8s in #161
- fix: use MicroK8s config for model defaults and bootstrap constraints in #166
- fix: treat non-active installed snaps as installed in #165
- fix: merge provider credentials instead of overwriting in #163
- fix: don't retry permanent errors in RunWithRetries in #164
- chore: address minor linting issues in #169
- ci: add Zizmor workflow in #167
- ci: add static analysis in #168
Full Changelog: v1.4.2...v1.4.3
v1.4.2
1.4.2 bumps the version of Go from 1.24 to 1.26 to address security issues (which we do not believe impact Concierge). The 1.4.0 release notes are included below for your convenience.
This release adds a couple of features to make it easier to use Concierge with custom configurations: a new --dry-run option that will print out any write operations rather than executing them, and moving the presets from Go code to YAML. The latter means that when you need to have a configuration that isn't one of the presets, you can copy the closest preset (from the repo) and modify it, rather than having to start from scratch.
In addition, it's now possible to specify an image registry for K8s and MicroK8s. This is particularly useful when access to standard registries is unavailable, such as within some of Canonical's own infrastructure.
What's Changed
- feat: add --dry-run flag to prepare and restore commands in #147
- feat: add image registry configuration for K8s and MicroK8s in #148
- feat: store presets as YAML rather than Go in #152
- docs: Add CONTRIBUTING.md, moving some content from README.md in #146
- ci: test on different architectures in #114
- ci: ensure "go fmt" formatting, use "any" instead of "interface{}" in #150
- ci: avoid using MicroK8s as a provider unless explicitly testing MicroK8s in #154
- refactor: simplify the system interface in #153
- build(deps): bump tiobe/tics-github-action from 3.7.0 to 3.7.1 in #149
New Contributors
- @james-garner-canonical made their first contribution in #114
Full Changelog: v1.3.0...v1.4.2
v1.4.1
1.4.1 is a paper-bag release that disables a problematic integration test (provider-microk8s) in order to get the release out. The 1.4.0 release notes are included below for your convenience.
This release adds a couple of features to make it easier to use Concierge with custom configurations: a new --dry-run option that will print out any write operations rather than executing them, and moving the presets from Go code to YAML. The latter means that when you need to have a configuration that isn't one of the presets, you can copy the closest preset (from the repo) and modify it, rather than having to start from scratch.
In addition, it's now possible to specify an image registry for K8s and MicroK8s. This is particularly useful when access to standard registries is unavailable, such as within some of Canonical's own infrastructure.
What's Changed
- feat: add --dry-run flag to prepare and restore commands in #147
- feat: add image registry configuration for K8s and MicroK8s in #148
- feat: store presets as YAML rather than Go in #152
- docs: Add CONTRIBUTING.md, moving some content from README.md in #146
- ci: test on different architectures in #114
- ci: ensure "go fmt" formatting, use "any" instead of "interface{}" in #150
- ci: avoid using MicroK8s as a provider unless explicitly testing MicroK8s in #154
- refactor: simplify the system interface in #153
- build(deps): bump tiobe/tics-github-action from 3.7.0 to 3.7.1 in #149
New Contributors
- @james-garner-canonical made their first contribution in #114
Full Changelog: v1.3.0...v1.4.1
v1.4.0: --dry-run, custom image registries, and YAML presets
This release adds a couple of features to make it easier to use Concierge with custom configurations: a new --dry-run option that will print out any write operations rather than executing them, and moving the presets from Go code to YAML. The latter means that when you need to have a configuration that isn't one of the presets, you can copy the closest preset (from the repo) and modify it, rather than having to start from scratch.
In addition, it's now possible to specify an image registry for K8s and MicroK8s. This is particularly useful when access to standard registries is unavailable, such as within some of Canonical's own infrastructure.
What's Changed
- feat: add --dry-run flag to prepare and restore commands in #147
- feat: add image registry configuration for K8s and MicroK8s in #148
- feat: store presets as YAML rather than Go in #152
- docs: Add CONTRIBUTING.md, moving some content from README.md in #146
- ci: test on different architectures in #114
- ci: ensure "go fmt" formatting, use "any" instead of "interface{}" in #150
- ci: avoid using MicroK8s as a provider unless explicitly testing MicroK8s in #154
- refactor: simplify the system interface in #153
- build(deps): bump tiobe/tics-github-action from 3.7.0 to 3.7.1 in #149
New Contributors
- @james-garner-canonical made their first contribution in #114
Full Changelog: v1.3.0...v1.4.0
v1.3.0: transparently handle existing containerd
This release handles environments such as GitHub Actions where there is an existing containerd setup by automatically removing that as part of prepare. If your workflow was explicitly doing this, you can now remove that.
We also now interact with snapd via the API, which resolves security alert false positives. There are also the usual set of small improvements and fixes.
What's Changed
- feat: transparently handle existing containerd services in #131
- feat: add gnome-keyring to default packages for craft tools in headless environments in #134
- refactor: replace snapcore/snapd dependency with minimal local snapd API client in #123
- chore: add basic instructions for AI agents in #135
- ci: fix goreleaser deprecated config field in #144
- fix: don't dereference symlinks in recursive ownership change in #141
- docs: updated security@ubuntu.com PGP key by @lucistanescu in #145
New Contributors
- @dimaqq made their first contribution in #144
- @lucistanescu made their first contribution in #145
Full Changelog: v1.2.0...v1.3.0