Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Terraform Plugin SDK to Reconcile MRs #424

Merged
merged 20 commits into from
Dec 13, 2023

Conversation

ulucinar
Copy link
Collaborator

Description of your changes

This PR employs the controller.noForkExternal & controller.noForkAsyncExternal external clients from upjet to reconcile MRs without forking any Terraform CLI or Terraform provider processes.

Some more details on these clients can be found here.

I have:

  • Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

@ulucinar ulucinar marked this pull request as draft November 17, 2023 12:33
@ulucinar
Copy link
Collaborator Author

/test-examples="examples/cloudplatform/serviceaccount.yaml"

1 similar comment
@ulucinar
Copy link
Collaborator Author

/test-examples="examples/cloudplatform/serviceaccount.yaml"

@ulucinar
Copy link
Collaborator Author

/test-examples="examples/cloudplatform/serviceaccount.yaml"

@ulucinar
Copy link
Collaborator Author

/test-examples="examples/cloudplatform/serviceaccount.yaml"

@ulucinar
Copy link
Collaborator Author

There's a successful platform-ref-gcp uptest run here using the index.docker.io/ulucinar/provider-gcp-{cloudplatform,compute,container,servicenetworking,sql}:v0.39.0-5848867bfc17168b008f3a6c5bc24541baef0fb0 packages built at this point.

@erhancagirici
Copy link
Collaborator

/test-examples="examples/storage/bucket.yaml"

1 similar comment
@erhancagirici
Copy link
Collaborator

/test-examples="examples/storage/bucket.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/cloudplatform/serviceaccount.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/storage/bucket.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/redis/instance.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/pubsub/litereservation.yaml,examples/pubsub/litesubscription.yaml,examples/pubsub/litetopic.yaml,examples/pubsub/schema.yaml,examples/pubsub/subscriptioniammember.yaml,examples/pubsub/topiciammember.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/monitoring/"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/logging/"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/servicenetworking/connection.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/notebooks/"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/artifact/"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/gkehub/"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/cloudrun/v2job.yaml,examples/cloudrun/v2service.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/servicenetworking/connection.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/kms/cryptokeyiammember.yaml,examples/kms/secretciphertext.yaml,examples/kms/keyringiammember.yaml,examples/kms/keyringimportjob.yaml,examples/gkehub/membershipiammember.yaml,examples/gkehub/membership.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/artifact/registryrepository.yaml,examples/secretmanager/secret.yaml,examples/secretmanager/secretiammember.yaml,examples/secretmanager/secretversion.yaml,examples/cloudrun/v2job.yaml,examples/cloudrun/v2service.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/artifact/registryrepository.yaml,examples/secretmanager/secret.yaml,examples/secretmanager/secretiammember.yaml,examples/secretmanager/secretversion.yaml"

@erhancagirici
Copy link
Collaborator

/test-examples="examples/monitoring/alertpolicy.yaml,examples/monitoring/customservice.yaml,examples/monitoring/dashboard.yaml,examples/monitoring/group.yaml,examples/monitoring/metricdescriptor.yaml,examples/monitoring/notificationchannel.yaml,examples/monitoring/service.yaml,examples/monitoring/slo.yaml,examples/monitoring/uptimecheckconfig.yaml"

@sergenyalcin
Copy link
Collaborator

/test-examples="examples/compute/instancefromtemplate.yaml"

@sergenyalcin
Copy link
Collaborator

/test-examples="examples/compute/instancetemplate.yaml"

@ulucinar ulucinar marked this pull request as ready for review December 13, 2023 08:15
ulucinar and others added 20 commits December 13, 2023 11:22
- Bump upjet to v1.0.0
- Bump Go version to 1.21

Signed-off-by: Alper Rifat Ulucinar <[email protected]>
Signed-off-by: Alper Rifat Ulucinar <[email protected]>
- Terraform registry docs state that when the `launch_stage` argument
  is set, the attribute may differ from it. Thus, the provided example
  manifests ignore changes to this argument using the`ignore_changes`
  lifecycle meta-argument.

Signed-off-by: Alper Rifat Ulucinar <[email protected]>
- Now we pass the Terraform customize diff function for all
  resources in the provider to the call schema.schemaMap.Diff.

Signed-off-by: Alper Rifat Ulucinar <[email protected]>
…59 commit

- Bump crossplane-runtime dependency to the 0b379538ab149eab2573c38d28da642c11dcc263 commit

Signed-off-by: Sergen Yalçın <[email protected]>
Copy link
Collaborator

@sergenyalcin sergenyalcin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! LGTM!

Copy link
Collaborator

@turkenf turkenf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, LGTM.

@ulucinar ulucinar merged commit 24c3b92 into crossplane-contrib:main Dec 13, 2023
9 checks passed
@ulucinar ulucinar deleted the no-fork-v4.77.0 branch December 13, 2023 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants