Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/displague/terraform-linode-lke-addons

Terraform module provisions Linode Kubernetes Engine (LKE) with common add-ons
https://github.com/displague/terraform-linode-lke-addons

Last synced: 8 days ago
JSON representation

Terraform module provisions Linode Kubernetes Engine (LKE) with common add-ons

Awesome Lists containing this project

README

        

## LKE with Extras

This Terraform module provisions Linode Kubernetes Engine (LKE) with common add-ons:

- External DNS
External DNS is configured with a Linode API token scoped to DNS services.
- Cert Manager
cert-manager is configured with an HTTP prover (which uses nginx-ingress).
- Nginx Ingress Controller
This default ingress controller will use a single LoadBalancer Service for all Ingress objects.
The Ingress is configured with 0.2.1 of which fixes problems with using the proxy protocol. (See the link for more details)

## Variables

See `terraform.tfvars.sample`. Copy this to `terraform.tfvars` and modify as needed.

## Install

```sh
terraform apply
```

## Requirements

No requirements.

## Providers

No providers.

## Modules

| Name | Source | Version |
|------|--------|---------|
| [cert\_manager](#module\_cert\_manager) | ./modules/cert_manager | n/a |
| [external\_dns](#module\_external\_dns) | ./modules/external_dns | n/a |
| [ingress\_nginx](#module\_ingress\_nginx) | ./modules/ingress_nginx | n/a |
| [jhub](#module\_jhub) | ./modules/jhub | n/a |
| [lke](#module\_lke) | ./modules/kube | n/a |
| [longhorn](#module\_longhorn) | ./modules/longhorn | n/a |
| [minecraft](#module\_minecraft) | ./modules/minecraft | n/a |
| [triage](#module\_triage) | ./modules/triage | n/a |

## Resources

No resources.

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [example\_host](#input\_example\_host) | If set, an ingress will be created with this hostname used. The domain should be one managed by your Linode account. | `any` | n/a | yes |
| [issuer\_email](#input\_issuer\_email) | An email address for ACME certificate registration. | `any` | n/a | yes |
| [linode\_token](#input\_linode\_token) | Your Linode API Authentication Token. | `any` | n/a | yes |
| [minecraft](#input\_minecraft) | A list of minecraft servers to deploy. Each object should have the following fields:
- namespace: the namespace of the minecraft server
- port: the port to run the minecraft server on
- ops: a list of minecraft usernames that will receive ops
- motd: the minecraft MOTD
- hostname: the hostname where minecraft will run
- claim: existing claim |

list(object(
{
namespace = string
port = number
ops = string
motd = string
hostname = string
claim = string
}
))
| n/a | yes |
| [gh\_admin\_users](#input\_gh\_admin\_users) | GH admin\_users for JupyterHub | `list(string)` | `[]` | no |
| [gh\_token](#input\_gh\_token) | GH token for triage party | `string` | `""` | no |
| [jhub\_client\_id](#input\_jhub\_client\_id) | GH client\_id for jhub | `string` | `""` | no |
| [jhub\_client\_secret](#input\_jhub\_client\_secret) | GH client\_secret for jhub | `string` | `""` | no |
| [jhub\_db\_volume](#input\_jhub\_db\_volume) | PVC name for Hub DB Volume | `string` | `""` | no |
| [jhub\_hostname](#input\_jhub\_hostname) | hostname for jupyter hub | `string` | `""` | no |
| [k8s\_version](#input\_k8s\_version) | LKE K8s Version | `string` | `"1.26"` | no |
| [longhorn\_enabled](#input\_longhorn\_enabled) | Whether Longhorn should be installed | `bool` | `false` | no |
| [triage\_host](#input\_triage\_host) | hostname where triage party will reside | `string` | `""` | no |

## Outputs

| Name | Description |
|------|-------------|
| [lke\_id](#output\_lke\_id) | n/a |