Issues with importing resources.
Problem: We have 400+ clusters in EKS and a few 10s in GKE and AKS. There are more than 600 IAM roles, buckets, and other cloud resources spread across 10+ accounts. We did a POC with cross-plane and loved the product. But our biggest hurdle is onboarding. How do we get all these resources into cross-plane as objects? There is an import option here, but that requires writing manifests for individual resources. It is impractical to write that many manifests.
Is there a better way to onboard?
The import process using an ObserveOnly resource you linked to in the docs is the common import path that folks use and it does work reliably well. However, as you mentioned, it doesn't scale well across your entire set of resources in the cloud if you have 100's+.
Although nothing is currently scheduled on the roadmap for a specific milestone, there are some related issues/pointers to share with you that could potentially help in the future:
- https://github.com/crossplane/crossplane/issues/1243
- https://github.com/crossplane/crossplane/issues/3999
And another link of potential interest for you:
- https://github.com/upbound/provider-terraform/tree/main/examples/importer
Thanks for the update @jbw976. Great points mentioned in #1243 by @muvaf Based on discussions with my team:
- We are ready to write scripts for automating the import functionality for 100+ resources.
- Since import relies on Observe, we are curious about how Observce works under the hood. Does it poll the provider API at a regular interval? For example, the s3 controller has a line for adding the poll interval and I see the default as 1 minute here. Please correct my understanding. Given the number of resources we have, we are concerned about the latency & resource usage for running the controllers.
- We are curious if cloud trail logs was considered as an option to monitor changes to infra. If yes, what were the issues in that approach?
Thanks for your support. We greatly appreciate your feedback. It will make our onboarding easier.
Crossplane does not currently have enough maintainers to address every issue and pull request. This issue has been automatically marked as stale because it has had no activity in the last 90 days. It will be closed in 14 days if no further activity occurs. Leaving a comment starting with /fresh will mark this issue as not stale.