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 -> controller
reconciler group -> controllerGroup
reconciler kind -> controllerKind
🗒️ Projects
Prerequisites
Controllers
Update fluxcd/pkg/runtime and remove our custom reconcileID in favour of the upstream one.
CLI
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.12fluxcd/pkg/runtime: release new Flux runtime package based on controller-runtime v0.12Controllers
Update
fluxcd/pkg/runtimeand remove our customreconcileIDin 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)