https://github.com/meshcloud/terraform-cloudfoundry-meshplatform
Terraform module to integrate Cloud Foundry as a meshPlatform
https://github.com/meshcloud/terraform-cloudfoundry-meshplatform
Last synced: 5 months ago
JSON representation
Terraform module to integrate Cloud Foundry as a meshPlatform
- Host: GitHub
- URL: https://github.com/meshcloud/terraform-cloudfoundry-meshplatform
- Owner: meshcloud
- License: apache-2.0
- Created: 2024-03-12T11:26:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-18T14:05:34.000Z (over 2 years ago)
- Last Synced: 2025-12-01T06:46:52.300Z (7 months ago)
- Language: HCL
- Size: 14.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cloud Foundry meshPlatform Module
Terraform module to integrate Cloud Foundry as a meshPlatform into meshStack instance. With this module, cloud foundry users used by meshStack are created with the required permissions. The output of this module is a set of credentials that need to be configured in meshStack as described in [meshcloud public docs](https://docs.meshcloud.io/docs/meshstack.how-to.integrate-meshplatform.html).
## Prerequisites
To run this module, you need to use cloud foundry admin user and UAA admin client.
You can create an admin user with [UAA CLI](https://docs.cloudfoundry.org/uaa/uaa-user-management.html#creating-admin-users).
## How to Use This Module
1. [Install Terraform](https://developer.hashicorp.com/terraform/install)
2. Create a file structure as shown in [Example Usages](#example-usages)
3. Once resources are created via `terraform init` and `terraform apply`, use `terraform output -json` to view the generated passwords of replicator and metering (if none were provided as inputs)
4. Copy the usernames/passwords into your Cloud Foundry meshplatform configuration
## Example Usages
Check [examples](./examples/) for different use cases. As a quick start we recommend using [basic-integration](./examples/basic-integration) example.
## Contributing Guide
Before opening a Pull Request, we recommend following the below steps to get a faster approval:
1. Install [pre-commit](https://pre-commit.com/#install)
We use pre-commit to perform several terraform related tasks such as `terraform validate`, `terraform fmt`, and generating terraform docs with `terraform_docs`
2. Execute `pre-commit install`: Hooks configured in `.pre-commit-config.yaml` will be executed automatically on commit. For manual execution, you can use `pre-commit run -a`.
## Requirements
| Name | Version |
|------|---------|
| [cloudfoundry](#requirement\_cloudfoundry) | 0.53.1 |
## Providers
No providers.
## Modules
| Name | Source | Version |
|------|--------|---------|
| [metering](#module\_metering) | ./modules/metering | n/a |
| [replicator](#module\_replicator) | ./modules/replicator | n/a |
## Resources
No resources.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [metering\_password](#input\_metering\_password) | Password of the metering service user. A random password is generated if omitted. | `string` | `"thisvalueisnotactuallyused"` | no |
| [metering\_username](#input\_metering\_username) | Username of the service user used in Metering Configuration in meshStack. | `string` | `"meshcloud-metering"` | no |
| [replicator\_password](#input\_replicator\_password) | Password of the replicator service user. A random password is generated if omitted. | `string` | `"thisvalueisnotactuallyused"` | no |
| [replicator\_username](#input\_replicator\_username) | Username of the service user used in Replication Configuration in meshStack. | `string` | `"meshcloud-replicator"` | no |
## Outputs
| Name | Description |
|------|-------------|
| [metering\_password](#output\_metering\_password) | n/a |
| [metering\_username](#output\_metering\_username) | n/a |
| [replicator\_password](#output\_replicator\_password) | n/a |
| [replicator\_username](#output\_replicator\_username) | n/a |