crossplane / crossplane/upjet

Framework resources don't expose terraform diff in debug logs

Open
#340 1 comment 1 reaction 0 assignees View on GitHub
enhancement reconciler v2
Dominant language
Go
Stars
481
Forks
131
Avg merge
2d 1h
Merged PRs (30d)
11

Description

### What problem are you facing?

While working to migrate existing infrastructure into crossplane, I frequently find myself creating managed resources with limited ManagementPolicies, and relying on the debug logs of provider-aws, which log a `GoString` of the observed diff, to see what changes they are going to make, so I can determine whether the diff is due to drift that I actually want to correct, or a bug in my crossplane manifest. This happens in external_tfpluginsdk.go

For terraform plugin framework resources, when they were reconciled with the CLI, I could accomplish the same thing by `exec`ing into the provider pod and running `terraform plan`. Now that framework resources are reconciled by calling the framework provider directly, this is no longer possible, and the framework client doesn't contain the same debug log statement.

### How could Upjet help solve your problem?

Add additional debug logging to the Observe call in the framework client, to log the diff between the spec.forProvider and what is observed. Any format will do, but JSON would be great.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.