Compare commits
3 commits
main
...
contributi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b78a54f9e4 | ||
|
|
98ca15b9d1 | ||
|
|
c4dd7220e7 |
11 changed files with 95 additions and 17 deletions
51
CONTRIBUTING.md
Normal file
51
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
# Contributing Guidelines
|
||||
|
||||
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
|
||||
documentation, we greatly value feedback and contributions from our community.
|
||||
|
||||
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
|
||||
information to effectively respond to your bug report or contribution.
|
||||
|
||||
## Reporting Bugs/Feature Requests
|
||||
|
||||
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
|
||||
|
||||
When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already
|
||||
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
|
||||
|
||||
- A reproducible test case or series of steps
|
||||
- The version of our code being used
|
||||
- Any modifications you've made relevant to the bug
|
||||
- Anything unusual about your environment or deployment
|
||||
|
||||
## Contributing via Pull Requests
|
||||
|
||||
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
|
||||
|
||||
1. You are working against the latest source on the _main_ branch.
|
||||
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
|
||||
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
|
||||
|
||||
To send us a pull request, please:
|
||||
|
||||
1. Fork the repository.
|
||||
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
|
||||
3. Ensure local tests pass.
|
||||
4. Commit to your fork using clear commit messages.
|
||||
5. Send us a pull request, answering any default questions in the pull request interface.
|
||||
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
|
||||
|
||||
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
|
||||
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
|
||||
|
||||
## Finding contributions to work on
|
||||
|
||||
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start.
|
||||
|
||||
## Security issue notifications
|
||||
|
||||
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
|
||||
|
||||
## Licensing
|
||||
|
||||
See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
|
||||
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…
Add table
Add a link
Reference in a new issue