An open API service indexing awesome lists of open source software.

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

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 |