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

https://github.com/streamnative/terraform-managed-cloud

StreamNative Managed Cloud Vendor Access
https://github.com/streamnative/terraform-managed-cloud

Last synced: 10 months ago
JSON representation

StreamNative Managed Cloud Vendor Access

Awesome Lists containing this project

README

          

# StreamNative Managed Cloud
This repository contains Terraform modules for the management of StreamNative's vendor access to a Cloud Provider.

## Modules
The modules are organized by Cloud Provider. For example, the AWS modules are in the `modules/aws` directory and the GCP modules are in the `modules/gcp`, and for Azure the modules are in the `modules/azure` directory.

More detailed documentation can be viewed in the respective module directory.

## Quickstart

### Using AWS module

Run the following terraform file within your AWS profile:

```hcl
provider "aws" {
region =
}

module "sn_managed_cloud" {
source = "github.com/streamnative/terraform-managed-cloud//modules/aws/vendor-access?ref=v3.20.0"

external_id = ""
}
```

### Using GCP module

Run the following terraform file within your GCP credentials:

```hcl
provider "google" {
project = ""
}

module "sn_managed_cloud" {
source = "github.com/streamnative/terraform-managed-cloud//modules/gcp/vendor-access?ref=v3.20.0"

project = ""
streamnative_org_id = ""
}
```

### Using Azure module

Run the following terraform file within your Azure credentials:

```hcl
provider "azurerm" {
features {

}
}

provider "azuread" {}

module "sn_cloud_manager" {
source = "github.com/streamnative/terraform-managed-cloud//modules/azure/sn-cloud-manager?ref=v3.20.0"

streamnative_org_id = ""
resource_group_location = ""
}

module "sn_managed_cloud" {
source = "github.com/streamnative/terraform-managed-cloud//modules/azure/vendor-access?ref=v3.20.0"

streamnative_org_id = ""
resource_group_name = ""
resource_group_location = ""

sn_automation_principal_id = module.sn_cloud_manager.sn_automation_principal_id
sn_automation_client_id = module.sn_cloud_manager.sn_automation_client_id
sn_support_principal_id = module.sn_cloud_manager.sn_support_principal_id
sn_support_client_id = module.sn_cloud_manager.sn_support_client_id

depends_on = [
module.sn_cloud_manager
]
}

output "subscription_id" {
value = module.sn_managed_cloud.subscription_id
description = "The subscription ID of the AKS cluster"
}

output "tenant_id" {
value = module.sn_managed_cloud.tenant_id
description = "The tenant ID of the AKS cluster"
}

output "client_id" {
value = module.sn_managed_cloud.sn_automation_client_id
description = "The client ID of the sn automation service principal for StreamNative Cloud automation"
}

output "support_client_id" {
value = module.sn_managed_cloud.sn_support_client_id
description = "The client ID of the sn support service principal for StreamNative Cloud support access"
}

output "resource_group_name" {
value = module.sn_managed_cloud.resource_group_name
description = "The name of the resource group where the AKS cluster will be created"
}
```

## Examples
Examples of the modules can be found in the `examples` directory.

Details on the modules themselves and their requirements can be found in their respective README files, contained in the `modules` directory.