Release v0.32.0
Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
This commit is contained in:
parent
06e88f0789
commit
5c0d9bd273
49
CHANGELOG.md
49
CHANGELOG.md
|
@ -2,6 +2,55 @@
|
||||||
|
|
||||||
All notable changes to this project are documented in this file.
|
All notable changes to this project are documented in this file.
|
||||||
|
|
||||||
|
## 0.32.0
|
||||||
|
|
||||||
|
**Release date:** 2022-11-17
|
||||||
|
|
||||||
|
This prerelease comes with a major refactoring of the controller's Git operations.
|
||||||
|
The `go-git` implementation now supports all Git servers, including
|
||||||
|
Azure DevOps, which previously was only supported by `libgit2`.
|
||||||
|
|
||||||
|
This version initiates the soft deprecation of the `libgit2` implementation.
|
||||||
|
The motivation for removing support for `libgit2` being:
|
||||||
|
- Reliability: over the past months we managed to substantially reduce the
|
||||||
|
issues users experienced, but there are still crashes happening when the controller
|
||||||
|
runs over longer periods of time, or when under intense GC pressure.
|
||||||
|
- Performance: due to the inherit nature of `libgit2` implementation, which
|
||||||
|
is a C library called via CGO through `git2go`, it will never perform as well as
|
||||||
|
a pure Go implementations. At scale, memory pressure insues which then triggers
|
||||||
|
the reliability issues above.
|
||||||
|
- Lack of Shallow Clone Support.
|
||||||
|
- Maintainability: supporting two Git implementations is a big task, even more
|
||||||
|
so when one of them is in a complete different tech stack. Given its nature, to
|
||||||
|
support `libgit2`, we have to maintain an additional repository. Statically built
|
||||||
|
`libgit2` libraries need to be cross-compiled for all our supported platforms.
|
||||||
|
And a lot of "unnecessary" code has to be in place to make building, testing and
|
||||||
|
fuzzing work seamlessly.
|
||||||
|
|
||||||
|
As a result the field `spec.gitImplementation` is ignored and the
|
||||||
|
reconciliations will use `go-git`. To opt-out from this behaviour, start
|
||||||
|
the controller with: `--feature-gates=ForceGoGitImplementation=false`.
|
||||||
|
|
||||||
|
Users having any issues with `go-git` should report it to the Flux team,
|
||||||
|
so any issues can be resolved before support for `libgit2` is completely
|
||||||
|
removed from the codebase.
|
||||||
|
|
||||||
|
Improvements:
|
||||||
|
- Refactor Git operations and introduce go-git support for Azure DevOps and AWS CodeCommit
|
||||||
|
[#944](https://github.com/fluxcd/source-controller/pull/944)
|
||||||
|
- Use Flux Event API v1beta1
|
||||||
|
[#952](https://github.com/fluxcd/source-controller/pull/952)
|
||||||
|
- gogit: Add new ForceGoGitImplementation FeatureGate
|
||||||
|
[#945](https://github.com/fluxcd/source-controller/pull/945)
|
||||||
|
- Remove nsswitch.conf creation from Dockerfile
|
||||||
|
[#958](https://github.com/fluxcd/source-controller/pull/958)
|
||||||
|
- Update dependencies
|
||||||
|
[#960](https://github.com/fluxcd/source-controller/pull/960)
|
||||||
|
[#950](https://github.com/fluxcd/source-controller/pull/950)
|
||||||
|
[#959](https://github.com/fluxcd/source-controller/pull/959)
|
||||||
|
- Upgrade to azure-sdk-for-go/storage/azblob v0.5.1
|
||||||
|
[#931](https://github.com/fluxcd/source-controller/pull/931)
|
||||||
|
|
||||||
## 0.31.0
|
## 0.31.0
|
||||||
|
|
||||||
**Release date:** 2022-10-21
|
**Release date:** 2022-10-21
|
||||||
|
|
Loading…
Reference in New Issue