separate out the crossplane integration (#13)
Signed-off-by: Nima Kaviani <nkaviani@amazon.com>
This commit is contained in:
parent
cf26d592b4
commit
137a12b8e6
10 changed files with 44 additions and 17 deletions
37
crossplane-integrations/README.md
Normal file
37
crossplane-integrations/README.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Crossplane Integrations for Backstage
|
||||
|
||||
`idpBuilder` is extensible to launch custom Crossplane patterns using package extensions.
|
||||
|
||||
Please use the below command to deploy an IDP reference implementation with an Argo application for preparing up the setup for terraform integrations:
|
||||
|
||||
```bash
|
||||
idpbuilder create \
|
||||
--use-path-routing \
|
||||
--package-dir https://github.com/cnoe-io/stacks//ref-implementation \
|
||||
--package-dir https://github.com/cnoe-io/stacks//crossplane-integrations
|
||||
```
|
||||
## What is installed?
|
||||
|
||||
1. Crossplane Runtime
|
||||
1. AWS providers
|
||||
1. Basic Compositions
|
||||
|
||||
This needs your credentials for this to work. Follow the Crossplane installation documentation on how to add your credentials.
|
||||
|
||||
## Application with cloud resources.
|
||||
|
||||
With this integration, we can deploy an application with cloud resources using Backstage templates from the reference implementation, together with Crossplane integrations.
|
||||
|
||||
In this example, we will create an application with a S3 Bucket.
|
||||
|
||||
Choose a template named `App with S3 bucket`, type `demo3` as the name, then choose a region to create this bucket in.
|
||||
|
||||
Once you click the create button, you will have a very similar setup as the basic example.
|
||||
The only difference is we now have a resource for a S3 Bucket which is managed by Crossplane.
|
||||
|
||||
Note that Bucket is **not** created because Crossplane doesn't have necessary credentials to do so.
|
||||
If you'd like it to actually create a bucket, update [the credentials secret file](crossplane-providers/provider-secret.yaml), then run `idpbuilder create --package-dir examples/ref-implementation`.
|
||||
|
||||
In this example, we used Crossplane to provision resources, but you can use other cloud resource management tools such as Terraform instead.
|
||||
|
||||
Regardless of your tool choice, concepts are the same. We use Backstage as the templating mechanism and UI for users, then use Kubernetes API with GitOps to deploy resources.
|
|
@ -35,11 +35,10 @@ This will take ~6 minutes for everything to come up. To track the progress, you
|
|||
### What was installed?
|
||||
|
||||
1. **Argo Workflows** to enable workflow orchestrations.
|
||||
2. **Backstage** as the UI for software catalog and templating. Source is available [here](https://github.com/cnoe-io/backstage-app).
|
||||
3. **Crossplane**, AWS providers, and basic compositions for deploying cloud related resources (needs your credentials for this to work)
|
||||
4. **External Secrets** to generate secrets and coordinate secrets between applications.
|
||||
5. **Keycloak** as the identity provider for applications.
|
||||
6. **Spark Operator** to demonstrate an example Spark workload through Backstage.
|
||||
1. **Backstage** as the UI for software catalog and templating. Source is available [here](https://github.com/cnoe-io/backstage-app).
|
||||
1. **External Secrets** to generate secrets and coordinate secrets between applications.
|
||||
1. **Keycloak** as the identity provider for applications.
|
||||
1. **Spark Operator** to demonstrate an example Spark workload through Backstage.
|
||||
|
||||
If you don't want to install a package above, you can remove the ArgoCD Application file corresponding to the package you want to remove.
|
||||
For example, if you want to remove Spark Operator, you can delete [this file](./spark-operator.yaml).
|
||||
|
@ -137,19 +136,10 @@ Back in the entity page, you can view more details about Spark jobs by navigatin
|
|||
|
||||
## Application with cloud resources.
|
||||
|
||||
Similar to the above, we can deploy an application with cloud resources using Backstage templates.
|
||||
In this example, we will create an application with a S3 Bucket.
|
||||
To deploy cloud resources, you can follow any of the instructions below:
|
||||
|
||||
Choose a template named `App with S3 bucket`, type `demo3` as the name, then choose a region to create this bucket in.
|
||||
|
||||
Once you click the create button, you will have a very similar setup as the basic example.
|
||||
The only difference is we now have a resource for a S3 Bucket which is managed by Crossplane.
|
||||
|
||||
Note that Bucket is **not** created because Crossplane doesn't have necessary credentials to do so.
|
||||
If you'd like it to actually create a bucket, update [the credentials secret file](crossplane-providers/provider-secret.yaml), then run `idpbuilder create --package-dir examples/ref-implementation`.
|
||||
|
||||
In this example, we used Crossplane to provision resources, but you can use other cloud resource management tools such as Terraform instead.
|
||||
Regardless of your tool choice, concepts are the same. We use Backstage as the templating mechanism and UI for users, then use Kubernetes API with GitOps to deploy resources.
|
||||
- [Cloud resource deployments via Crossplane](../crossplane-integrations/)
|
||||
- [Cloud resource deployments via Terraform](../terraform-integrations/)
|
||||
|
||||
## Notes
|
||||
|
||||
|
|
Loading…
Reference in a new issue