Skip to content

Commit 3e0c3e0

Browse files
author
Paulo Gomes
committed
Release v0.27.0
Signed-off-by: Paulo Gomes <[email protected]>
1 parent 7bd4886 commit 3e0c3e0

File tree

3 files changed

+59
-2
lines changed

3 files changed

+59
-2
lines changed

CHANGELOG.md

+57
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,62 @@
11
# Changelog
22

3+
## 0.27.0
4+
5+
**Release date:** 2022-11-21
6+
7+
This prerelease comes with a major refactoring of the controller's Git operations.
8+
The controller can now observe the field `spec.gitImplementation` instead of always
9+
ignoring it and using `libgit2`. The `go-git` implementation now supports all Git
10+
servers, including Azure DevOps, which previously was only supported by `libgit2`.
11+
12+
By default, the field `spec.gitImplementation` is ignored and the reconciliations
13+
will use `go-git`. To opt-out from this behaviour, and get the controller to
14+
honour the field `spec.gitImplementation`, start the controller with:
15+
`--feature-gates=ForceGoGitImplementation=false`.
16+
17+
This version initiates the soft deprecation of the `libgit2` implementation.
18+
The motivation for removing support for `libgit2` being:
19+
- Reliability: over the past months we managed to substantially reduce the
20+
issues users experienced, but there are still crashes happening when the controller
21+
runs over longer periods of time, or when under intense GC pressure.
22+
- Performance: due to the inherit nature of `libgit2` implementation, which
23+
is a C library called via CGO through `git2go`, it will never perform as well as
24+
a pure Go implementations. At scale, memory pressure insues which then triggers
25+
the reliability issues above.
26+
- Lack of Shallow Clone Support.
27+
- Maintainability: supporting two Git implementations is a big task, even more
28+
so when one of them is in a complete different tech stack. Given its nature, to
29+
support `libgit2`, we have to maintain an additional repository. Statically built
30+
`libgit2` libraries need to be cross-compiled for all our supported platforms.
31+
And a lot of "unnecessary" code has to be in place to make building, testing and
32+
fuzzing work seamlessly.
33+
34+
Users having any issues with `go-git` should report it to the Flux team,
35+
so any issues can be resolved before support for `libgit2` is completely
36+
removed from the codebase.
37+
38+
Starting from this version `ImageUpdateAutomation` objects with a `spec.PushBranch`
39+
specified will have the push branch refreshed automatically via force push.
40+
To opt-out from this behaviour, start the controller with:
41+
`--feature-gates=GitForcePushBranch=false`.
42+
43+
Improvements:
44+
- Refactor Git operations and introduce go-git support for Azure DevOps and AWS CodeCommit
45+
[#451](https://github.com/fluxcd/image-automation-controller/pull/451)
46+
- Add new ForceGoGitImplementation FeatureGate
47+
[#452](https://github.com/fluxcd/image-automation-controller/pull/452)
48+
- Add support for force push
49+
[#453](https://github.com/fluxcd/image-automation-controller/pull/453)
50+
- Use Flux Event API v1beta1
51+
[#455](https://github.com/fluxcd/image-automation-controller/pull/455)
52+
- Remove deprecated alpha APIs
53+
[#456](https://github.com/fluxcd/image-automation-controller/pull/456)
54+
- Remove nsswitch.conf creation
55+
[#458](https://github.com/fluxcd/image-automation-controller/pull/458)
56+
- Update Dependencies
57+
[#459](https://github.com/fluxcd/image-automation-controller/pull/459)
58+
[#460](https://github.com/fluxcd/image-automation-controller/pull/460)
59+
360
## 0.26.1
461

562
**Release date:** 2022-10-21

config/manager/kustomization.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ resources:
55
images:
66
- name: fluxcd/image-automation-controller
77
newName: fluxcd/image-automation-controller
8-
newTag: v0.26.1
8+
newTag: v0.27.0

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ require (
2525
github.com/Masterminds/sprig/v3 v3.2.2
2626
github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4
2727
github.com/cyphar/filepath-securejoin v0.2.3
28-
github.com/fluxcd/image-automation-controller/api v0.26.1
28+
github.com/fluxcd/image-automation-controller/api v0.27.0
2929
github.com/fluxcd/image-reflector-controller/api v0.23.0
3030
github.com/fluxcd/pkg/apis/acl v0.1.0
3131
github.com/fluxcd/pkg/apis/event v0.2.0

0 commit comments

Comments
 (0)