Closed
Description
We've been delaying the upgrade to controller-runtime v0.12 due to the changes to structured logging. I think it's time to align the Flux controllers logs with Kubernetes, even if the new logging format is more verbose.
Current format (flux2 v0.33.0):
{
"level": "info",
"ts": "2022-08-23T09:35:20.723+0300",
"msg": "no changes since last reconciliation",
"logger": "controller.gitrepository",
"reconciler group": "source.toolkit.fluxcd.io",
"reconciler kind": "GitRepository",
"namespace": "default",
"name": "podinfo"
}New format:
{
"level": "info",
"ts": "2022-08-23T09:35:20.723+0300",
"msg": "no changes since last reconciliation",
"controller": "gitrepository",
"controllerGroup": "source.toolkit.fluxcd.io",
"controllerKind": "GitRepository",
"gitRepository": {
"name": "podinfo",
"namespace": "default"
},
"namespace": "default",
"name": "podinfo",
"reconcileID": "aef58d3d-c155-4d45-a4b0-af35cce3f978"
}Breaking changes
These fields have been renamed:
logger->controllerreconciler group->controllerGroupreconciler kind->controllerKind
🗒️ Projects
Prerequisites
-
fluxcd/pkg: update all packages to controller-runtime v0.12 -
fluxcd/pkg/runtime: release new Flux runtime package based on controller-runtime v0.12
Controllers
Update fluxcd/pkg/runtime and remove our custom reconcileID in favour of the upstream one.
-
fluxcd/notification-controller(depends on prerequisites) -
fluxcd/image-reflector-controller(depends on prerequisites) -
fluxcd/source-controller(depends on prerequisites) -
fluxcd/kustomize-controller(depends onfluxcd/source-controller) -
fluxcd/helm-controller(depends onfluxcd/source-controller) -
fluxcd/image-automation-controller(depends onfluxcd/source-controllerandfluxcd/image-reflector-controller)
CLI
-
fluxcd/flux2: adaptflux logsto the new format in a backwards compatible manner ( support bothreconciler kindandcontrollerKind)