Skip to content

Comprehensive Managed Resource Checks #175

@humoflife

Description

@humoflife

What problem are you facing?

Uptest validates creation of managed resources that are part of compositions by checking the managed resource status, e.g. to make sure they reach the ready status, but Uptest does not validate the created MRs against any expected values.

How could Uptest help solve your problem?

Have Uptest either directly or through an externally specify-able step validate managed resources against the outcome of composition patches to catch bugs in scenarios like below. Perhaps Crossplane Beta Render or similar could be integrated into or called by Uptest?

  1. A field that should be patched to MR is missing. For example, in XRD, contains spec.tags but the composition does not patch a value to it. This scenario is similar to a go compiler noticing that a variable is declared but not used or assigned to.
  • fromFieldPath: spec.tags
    toFieldPath: spec.forProvider.tags
    type: FromCompositeFieldPath
  1. A non-existing field from a claim gets patched into an MR. For example,

apiVersion: s3.aws.upbound.io/v1beta1
kind: Bucket
...
patches:

  • fromFieldPath: spec.databaseName # wrong! This should be spec.bucketName
    toFieldPath: spec.forProvider.tags
    type: FromCompositeFieldPath

LEt Uptest or an integrated external check iterate over MRs, for each MR, iterate over patches, for each patch, verify source and destination field paths and type compatibility.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions