crossplane-contrib / provider-upjet-aws

Official AWS Provider for Crossplane by Upbound.
https://marketplace.upbound.io/providers/upbound/provider-aws
Apache License 2.0
143 stars 120 forks source link

Set log.Default's output to io.Discard #1203

Closed ulucinar closed 6 months ago

ulucinar commented 6 months ago

Description of your changes

Fixes #974 Fixes #854

This PR sets a default io.Discard logger for the controller-runtime if debug logging is not enabled. If debug logging is enabled, then the controller-runtime uses a debug mode zap logger as usual.

It also sets the log.Default's output to io.Discard. According to our experiments with a VPC.ec2 and a Cluster.eks, this prevents the noisy logs from the underlying Terraform provider. We still need to check for direct log messages via the fmt variants, such as fmt.Println.

In a further iteration, we will also consider making the underlying provider's logs available in a structured format.

I have:

How has this code been tested

Tested manually with VPC.ec2 & Cluster.eks example manifests. The Cluster.eks has dependencies from the ec2 & iam API groups.

ulucinar commented 6 months ago

/test-examples="examples/ec2/v1beta2/route.yaml"

github-actions[bot] commented 6 months ago

Backport failed for release-0.47, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally.

git fetch origin release-0.47
git worktree add -d .worktree/backport-1203-to-release-0.47 origin/release-0.47
cd .worktree/backport-1203-to-release-0.47
git checkout -b backport-1203-to-release-0.47
ancref=$(git merge-base 7b8f9e41873141b4c63cffaef22ab1ed1ec9da3e ff6a6b6d362003af9cf39776b89ddce4401bcbf3)
git cherry-pick -x $ancref..ff6a6b6d362003af9cf39776b89ddce4401bcbf3