Hello,
Are there any plans for LocalStack integration with Crossplane and respectively the latter to become a part of the supported tools anytime soon?
Hi @cyberslot , thanks for reaching out. Can you please elaborate a bit more on your use case.
I see two main directions for a Crossplane integration:
- Creating a LocalStack Crossplane provider (Providers · Crossplane v1.13), to make it easy to install LocalStack in a Kubernetes cluster with Crossplane installed (in a nutshell, allowing something like
kubectl create localstack
to spin up a LocalStack pod in k8s) - Providing an integration with the Crossplane AWS provider (https://marketplace.upbound.io/providers/upbound/provider-aws), to make it easy to deploy and test AWS resources locally against LocalStack (e.g., allow listing of S3 buckets deployed in LocalStack via
kubectl get buckets
, etc)
Would be great if you could share more details (ideally with a few code snippets, or a small sample project), so we can understand this feature request a bit better. Thanks!
Btw, if your use case is more about point (1) above, we do offer a Helm chart at GitHub - localstack/helm-charts: Helm Charts for LocalStack , which helps simplify the installation of LocalStack in a kube cluster.
Quick update @cyberslot - regarding point (2) above, we have now added a tutorial to our docs which illustrates how the Crossplane AWS provider can be used seamlessly against LocalStack: Crossplane | Docs
Hope that helps as a starting point - please let us know if anything is unclear. Looking forward to getting your feedback!
Hello, Waldemar,
Thank you very much for your responsiveness, attention and time dedicated!
That’s exactly what I was looking for - Crossplane to be a part of User Guides/Integrations LocalStack Docs.
The past two days I managed to achieve this collaboration (Crossplane/AWS Provider/LocalStack), using kind (Kubernetes in Docker) cluster for testing/experimental purposes. On the first glance, the only differences between the approach I’ve utilized and what’s described already in the documentation is regarding credentials and ProviderConfig. I followed Crossplane docs (AWS Quickstart · Crossplane v1.13) about k8s secret creation, using ~/.aws/credentials for aws_access_key_id & aws_secret_access_key. As for the second one (ProviderConfig), I’ve not included spec.endpoint.services as well as
“skip_credentials_validation: true, skip_metadata_api_check: true, skip_requesting_account_id: true, s3_use_path_style: true”.
However, it works (at least in the scope that I’ve tested till the moment), but I’ve not tried awslocal part yet.
Nevertheless, I am charmed by lightning fast reaction and the subsequent result.
Your effort is highly appreciated!