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 #1215

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.

This PR also switches to the standard-runners branch of upbound/uptest because the larger runners are not available in the crossplane-contrib organization.

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/vpc.yaml"

ulucinar commented 6 months ago

The linter job is expected to fail on this branch. And @turkenf has successfully ran make lint on his local machine for this PR.

The failure of the publish-artifacts is also expected on the standard hosted runners. That job has been covered by running a successful uptest here.