Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/displague/terraform-linode-lke-addons
- Owner: displague
- License: apache-2.0
- Created: 2021-09-06T01:47:46.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-03T13:24:41.000Z (4 months ago)
- Last Synced: 2024-12-13T06:35:41.575Z (10 days ago)
- Language: HCL
- Homepage:
- Size: 79.1 KB
- Stars: 3
- Watchers: 3
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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(| n/a | yes |
{
namespace = string
port = number
ops = string
motd = string
hostname = string
claim = string
}
))
| [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 |