Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/alaskaairlines/tfmodule_azure_aks


https://github.com/alaskaairlines/tfmodule_azure_aks

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# tfmodule_azure_aks

## Overview

Alaska Airlines Terraform Module to create AKS Clusters

To stay up to date on our latest changes, visit our [Changelog](./docs/CHANGELOG.md)

## Usage

```hcl
module "tfmodule_azure_aks" {
source = "github.com/AlaskaAirlines/tfmodule_azure_aks"
}
```

## Requirements

| Name | Version |
|------|---------|
| terraform | >= 0.13 |

## Providers

| Name | Version |
|------|---------|
| azurerm | n/a |
| random | n/a |

## Modules

| Name | Source | Version |
|------|--------|---------|
| ssh_key | ./modules/ssh_key | |

## Resources

| Name |
|------|
| [azurerm_kubernetes_cluster](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster) |
| [azurerm_log_analytics_solution](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_solution) |
| [azurerm_log_analytics_workspace](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/log_analytics_workspace) |
| [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/resource_group) |
| [random_id](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/id) |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| admin\_username | Default username for AKS node pool agents | `string` | `"azureuser"` | no |
| agent\_count | Number of nodes to provision in the AKS node pool | `number` | `1` | no |
| agent\_size | Size of nodes to provision in the AKS node pool | `string` | `"Standard_DS2_v2"` | no |
| aks\_aad\_client\_id | Client ID of SPN that will act as the client to access Azure AD | `string` | n/a | yes |
| aks\_aad\_server\_id | Client ID of SPN that will act as the server to acquire data from Azure AD | `string` | n/a | yes |
| aks\_aad\_server\_id\_secret | Client secret of SPN that will act as the server to acquire data from Azure AD | `string` | n/a | yes |
| aks\_client\_id | Client ID of SPN that will run the AKS node pool resource group | `string` | n/a | yes |
| aks\_client\_id\_secret | Client secret of SPN that will run the AKS node pool resource group | `string` | n/a | yes |
| aks\_version | Kubernetes version of the AKS cluster | `string` | n/a | yes |
| cluster\_prefix | Name describing the AKS cluster | `string` | n/a | yes |
| enable\_log\_analytics\_workspace | Enable a Log Analytics Workspace for the AKS cluster | `bool` | n/a | yes |
| environment\_name | Environment level of the AKS cluster | `string` | n/a | yes |
| log\_analytics\_workspace\_sku | Specifies the SKU of the Log Analytics Workspace | `string` | `"PerGB2018"` | no |
| log\_retention\_in\_days | Log Analytics Workspace data retention in days | `number` | `30` | no |
| public\_ssh\_key | SSH key for AKS node pool agents | `string` | `""` | no |
| resource\_group\_name | Target Azure resource group in which to build the AKS cluster | `string` | n/a | yes |
| tags | n/a | `map` | `{}` | no |
| unique\_id | Unique identification string for AKS cluster resources | `string` | `""` | no |

## Outputs

| Name | Description |
|------|-------------|
| aks\_cluster\_aad\_client\_app\_id | n/a |
| aks\_cluster\_aad\_server\_app\_id | n/a |
| aks\_cluster\_aad\_tenant\_id | n/a |
| aks\_cluster\_client\_id | n/a |
| aks\_cluster\_fqdn | n/a |
| aks\_cluster\_id | n/a |
| aks\_cluster\_location | n/a |
| aks\_cluster\_name | n/a |
| aks\_cluster\_outbound\_ips | n/a |
| aks\_cluster\_version | n/a |
| aks\_node\_resource\_group\_name | Azure resource group name of the AKS node pool |
| aks\_resource\_group\_id | Azure resource group ID of the AKS cluster |
| aks\_resource\_group\_name | Azure resource group name of the AKS cluster |
| kube\_admin\_config\_raw | n/a |
| private\_ssh\_key | n/a |
| public\_ssh\_key | n/a |

## Development

### Prerequisites

- [terraform](https://learn.hashicorp.com/terraform/getting-started/install#installing-terraform)
- [terraform-docs](https://github.com/segmentio/terraform-docs)
- [pre-commit](https://pre-commit.com/#install)
- [golang](https://golang.org/doc/install#install)
- [golint](https://github.com/golang/lint#installation)

### Configurations

Issue the following command

```sh
make install
```

This will perform the following steps for you

- Initialize git repository
- Install pre-commit hooks
- Install Terraform
- Prepare testing framework

### Tests

- Tests are available in `test` directory
- In the module root directory, run the below command

```sh
make test
```

## Maintainers

Author: Shadow Quests (E-Commerce Platform Team) <[email protected]>

> This project was generated by [generator-aag-terraform-module](https://github.com/AlaskaAirlines/generator-aag-terraform-module)