|
11 | 11 | - Custom Resource Definitions (CRDs) that model Cloud Foundry resources (e.g. Organization, Space, Services, Applications, etc.) |
12 | 12 | - Custom Controllers to provision these resources in a Cloud Foundry deployment based on the users desired state captured in CRDs they create |
13 | 13 |
|
14 | | -## Getting Started |
| 14 | +## Roadmap |
| 15 | +We have a lot of exciting new features and improvements in our backlogs for you to expect and even contribute yourself! We will publish a detailed roadmap soon. |
15 | 16 |
|
16 | | -Please check out [community guide](https://pages.github.com/SAP/docs/category/cloudfoundry) |
| 17 | +## π Installation |
17 | 18 |
|
18 | | -## Contributing |
| 19 | +To install this provider in a kubernetes cluster running crossplane, you can use the provider custom resource, replacing the `<version>`placeholder with the current version of this provider (e.g. v0.3.0): |
19 | 20 |
|
20 | | -`crossplane-provider-cloudfoundry` is an SAP open-source project and we welcome contributions from the community. If you are interested in contributing, please check out our [CONTRIBUTING.md](CONTRIBUTING.md) guide and [DEVELOPER.md](DEVELOPER.md) guide. |
| 21 | +```yaml |
| 22 | +apiVersion: pkg.crossplane.io/v1 |
| 23 | +kind: Provider |
| 24 | +metadata: |
| 25 | + name: provider-cloudfoundry |
| 26 | +spec: |
| 27 | + package: ghcr.io/sap/crossplane-provider-cloudfoundry/crossplane/provider-cloudfoundry:<VERSION> |
| 28 | +``` |
21 | 29 |
|
22 | | -## Roadmap |
23 | | -We have a lot of exciting new features and improvements in our backlogs for you to expect and even contribute yourself! We will publish a detailed roadmap soon. |
| 30 | +Crossplane will take care to create a deployment for this provider. Once it becomes healthy, you can configure your provider using proper credentials and start orchestrating :rocket:. |
| 31 | +
|
| 32 | +## π¬ Developing |
| 33 | +### Initial Setup |
| 34 | +The provider comes with some tooling to ease a local setup for development. As initial setup you can follow these steps: |
| 35 | +1. Clone the repository |
| 36 | +2. Run `make submodules` to initialize the "build" submodule provided by crossplane |
| 37 | +3. Run `make dev-debug` to create a kind cluster and install the CRDs |
| 38 | + |
| 39 | +:warning: Please note that you are required to have [kind](https://kind.sigs.k8s.io) and [docker](https://www.docker.com/get-started/) installed on your local machine in order to run dev debug. |
| 40 | + |
| 41 | +Those steps will leave you with a local cluster and your KUBECONFIG being configured to connect to it via e.g. [kubectl](https://kubernetes.io/docs/reference/kubectl/) or [k9s](https://k9scli.io). You can already apply manifests to that cluster at this point. |
| 42 | + |
| 43 | +### Running the Controller |
| 44 | +To run the controller locally, you can use the following command: |
| 45 | +```bash |
| 46 | +make run |
| 47 | +``` |
| 48 | +This will compile your controller as executable and run it locally (outside of your cluster). |
| 49 | +It will connect to your cluster using your KUBECONFIG configuration and start watching for resources. |
| 50 | + |
| 51 | +### Cleaning up |
| 52 | +For deleting the cluster again, run |
| 53 | +```bash |
| 54 | +make dev-clean |
| 55 | +``` |
| 56 | + |
| 57 | +### E2E Tests |
| 58 | +The provider comes with a set of end-to-end tests that can be run locally. To run them, you can use the following command: |
| 59 | +```bash |
| 60 | +make test-acceptance |
| 61 | +``` |
| 62 | +This will spin up a specific kind cluster which runs the provider as docker container in it. The e2e tests will run kubectl commands against that cluster to test the provider's functionality. |
| 63 | + |
| 64 | +Please note that when running multiple times you might want to delete the kind cluster again to avoid conflicts: |
| 65 | +```bash |
| 66 | +kind delete cluster <cluster-name> |
| 67 | +``` |
| 68 | + |
| 69 | +#### Required Configuration |
| 70 | +In order for the tests to perform successfully some configuration need to be present as environment variables: |
| 71 | + |
| 72 | +**CF_CREDENTIALS** |
| 73 | + |
| 74 | +User credentials for a user that is Cloud Foundry Administrator in the configured environment, structure: |
| 75 | +```json |
| 76 | +{ |
| 77 | + "email": "email", |
| 78 | + "username": "PuserId", |
| 79 | + "password": "mypass" |
| 80 | +} |
| 81 | +``` |
| 82 | + |
| 83 | +**CF_ENVIRONMENT** |
| 84 | + |
| 85 | +Contains the CF server URL, for example: |
| 86 | +``` |
| 87 | +https://api.cf.eu12.hana.ondemand.com |
| 88 | +``` |
| 89 | + |
| 90 | +## π Support, Feedback, Contributing |
| 91 | + |
| 92 | +If you have a question always feel free to reach out on our official crossplane slack channel: |
| 93 | + |
| 94 | +:rocket: [**#provider-sap-cloudfoundry**](https://crossplane.slack.com/archives/C08NBTJ1J05). |
24 | 95 |
|
25 | | -## Feedbacks, Support |
| 96 | +This project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/SAP/crossplane-provider-cloudfoundry/issues). Contribution and feedback are encouraged and always welcome. |
26 | 97 |
|
27 | | -For feedbacks/features requests/bug reports, please |
28 | | -open an [issue](https://github.com/SAP/crossplane-provider-cloudfoundry/issues). |
| 98 | +If you are interested in contributing, please check out our [CONTRIBUTING.md](CONTRIBUTING.md) guide and [DEVELOPER.md](DEVELOPER.md) guide. |
29 | 99 |
|
30 | | -## Security / Disclosure |
| 100 | +## π Security / Disclosure |
31 | 101 | If you find any bug that may be a security problem, please follow our instructions at [in our security policy](https://github.com/SAP/crossplane-provider-cloudfoundry/security/policy) on how to report it. Please do not create GitHub issues for security-related doubts or problems. |
32 | 102 |
|
33 | | -## Code of Conduct |
| 103 | +## πββοΈ Code of Conduct |
34 | 104 |
|
35 | 105 | We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md) at all times. |
36 | 106 |
|
37 | | -## Licensing |
| 107 | +## π Licensing |
38 | 108 |
|
39 | 109 | Copyright 2024 SAP SE or an SAP affiliate company and crossplane-provider-btp contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/SAP/crossplane-provider-btp). |
0 commit comments