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
- Host: GitHub
- URL: https://github.com/streamnative/terraform-managed-cloud
- Owner: streamnative
- Created: 2022-09-20T16:44:31.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-03T09:49:48.000Z (11 months ago)
- Last Synced: 2025-04-03T10:35:29.362Z (11 months ago)
- Language: HCL
- Homepage:
- Size: 216 KB
- Stars: 3
- Watchers: 8
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Codeowners: .github/CODEOWNERS
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.