Release v0.8.0

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
Stefan Prodan 2021-04-06 16:49:20 +03:00
parent 2a48f6d3a3
commit 1332f65372
No known key found for this signature in database
GPG Key ID: 3299AEB0E4085BAF
6 changed files with 70 additions and 7 deletions

View File

@ -1,5 +1,43 @@
# Changelog
## 0.8.0
**Release date:** 2021-04-06
This prerelease adds support for signing commits with GPG.
This prerelease comes with a breaking change to the leader election ID
from `e189b2df.fluxcd.io` to `image-reflector-controller-leader-election`
to be more descriptive. This change should not have an impact on most
installations, as the default replica count is `1`. If you are running
a setup with multiple replicas, it is however advised to scale down
before upgrading.
The controller exposes a gauge metric to track the suspended status
of `ImageUpdateAutomation` objects: `gotk_suspend_status{kind,name,namespace}`.
Features:
* Enable GPG Signing of Commits
[#136](https://github.com/fluxcd/image-automation-controller/pull/136)
Improvements:
* Record suspension metrics
[#129](https://github.com/fluxcd/image-automation-controller/pull/129)
* Update ImageUpdateAutomation Status with Patch
[#132](https://github.com/fluxcd/image-automation-controller/pull/132)
* Set leader election deadline to 30s
[#137](https://github.com/fluxcd/image-automation-controller/pull/137)
* Update kyaml to v0.10.16
[#141](https://github.com/fluxcd/image-automation-controller/pull/141)
Fixes:
* Ensure that an unchanged image is not in update result
[#144](https://github.com/fluxcd/image-automation-controller/pull/144)
* Fix problem with pushing further commits to a "push branch"
[#143](https://github.com/fluxcd/image-automation-controller/pull/143)
* Ignore broken symlinks and outside path, in commit
[#142](https://github.com/fluxcd/image-automation-controller/pull/142)
## 0.7.0
**Release date:** 2021-03-17

View File

@ -9,7 +9,7 @@ SOURCE_VER ?= v0.10.0
# Version of the image-reflector-controller from which to get the ImagePolicy CRD.
# Change this if you bump the image-reflector-controller/api version in go.mod.
REFLECTOR_VER ?= v0.7.1
REFLECTOR_VER ?= v0.8.0
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))

View File

@ -5,4 +5,4 @@ resources:
images:
- name: fluxcd/image-automation-controller
newName: fluxcd/image-automation-controller
newTag: v0.7.0
newTag: v0.8.0

View File

@ -18,15 +18,18 @@ type ImageUpdateAutomationSpec struct {
// ready to make changes.
// +required
Checkout GitCheckoutSpec `json:"checkout"`
// Interval gives an lower bound for how often the automation
// run should be attempted.
// +required
Interval metav1.Duration `json:"interval"`
// Update gives the specification for how to update the files in
// the repository. This can be left empty, to use the default
// value.
// +kubebuilder:default={"strategy":"Setters"}
Update *UpdateStrategy `json:"update,omitempty"`
// Commit specifies how to commit to the git repository.
// +required
Commit CommitSpec `json:"commit"`
@ -132,13 +135,19 @@ type CommitSpec struct {
// AuthorName gives the name to provide when making a commit
// +required
AuthorName string `json:"authorName"`
// AuthorEmail gives the email to provide when making a commit
// +required
AuthorEmail string `json:"authorEmail"`
// MessageTemplate provides a template for the commit message,
// into which will be interpolated the details of the change made.
// +optional
MessageTemplate string `json:"messageTemplate,omitempty"`
// SigningKey provides the option to sign commits with a GPG key
// +optional
SigningKey *SigningKey `json:"signingKey,omitempty"`
}
```
@ -167,6 +176,23 @@ spec:
[ci skip]
```
The `signingKey` field holds the reference to a secret that contains a `git.asc`
key corresponding to the ASCII Armored file containing the GPG signing keypair as the value.
For example,
```yaml
spec:
commit:
authorName: Fluxbot
authorEmail: flux@example.com
signingKey:
secretRef:
name: gpg-private-key
```
will result in commits with the author `Fluxbot <flux@example.com>` signed with the GPG key
present in the `gpg-private-key` secret.
### Commit template data
The message template is a [Go text template][go-text-template]. The data available to the template

4
go.mod
View File

@ -6,9 +6,9 @@ replace github.com/fluxcd/image-automation-controller/api => ./api
require (
github.com/cyphar/filepath-securejoin v0.2.2
github.com/fluxcd/image-automation-controller/api v0.7.0
github.com/fluxcd/image-automation-controller/api v0.8.0
// If you bump this, change REFLECTOR_VER in the Makefile to match
github.com/fluxcd/image-reflector-controller/api v0.7.1
github.com/fluxcd/image-reflector-controller/api v0.8.0
github.com/fluxcd/pkg/apis/meta v0.8.0
github.com/fluxcd/pkg/gittestserver v0.2.1
github.com/fluxcd/pkg/runtime v0.10.1

5
go.sum
View File

@ -306,8 +306,8 @@ github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZM
github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fluxcd/image-reflector-controller/api v0.7.1 h1:Cng36D1J25WYZ0ZB6dwzDtGR9MIyIcSUMYxHpb0IYXA=
github.com/fluxcd/image-reflector-controller/api v0.7.1/go.mod h1:J18L71jiHYrAu2dg0tgOkOjP+GtQldC1oslhTeX0jqc=
github.com/fluxcd/image-reflector-controller/api v0.8.0 h1:6dTIcyJFApmcmT4HbitWBFvh6ne8jpp8QQseH9Q5hv0=
github.com/fluxcd/image-reflector-controller/api v0.8.0/go.mod h1:J18L71jiHYrAu2dg0tgOkOjP+GtQldC1oslhTeX0jqc=
github.com/fluxcd/pkg/apis/meta v0.8.0 h1:wqWpUsxhKHB1ZztcvOz+vnyhdKW9cWmjFp8Vci/XOdk=
github.com/fluxcd/pkg/apis/meta v0.8.0/go.mod h1:yHuY8kyGHYz22I0jQzqMMGCcHViuzC/WPdo9Gisk8Po=
github.com/fluxcd/pkg/gittestserver v0.1.0/go.mod h1:HWZaoib03fQeSsauCAN2iAFdr6bnjKQ+CFxMFD2mwDY=
@ -1617,7 +1617,6 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.9/go.mod h1:dzAXnQb
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg=
sigs.k8s.io/controller-runtime v0.8.3 h1:GMHvzjTmaWHQB8HadW+dIvBoJuLvZObYJ5YoZruPRao=
sigs.k8s.io/controller-runtime v0.8.3/go.mod h1:U/l+DUopBc1ecfRZ5aviA9JDmGFQKvLf5YkZNx2e0sU=
sigs.k8s.io/kustomize v1.0.11 h1:Yb+6DDt9+aR2AvQApvUaKS/ugteeG4MPyoFeUHiPOjk=
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
sigs.k8s.io/kustomize/kyaml v0.10.16 h1:4rn0PTEK4STOA5kbpz72oGskjpKYlmwru4YRgVQFv+c=