Skip to content

insight-w3f/terraform-polkadot-k8s-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-polkadot-k8s-config

open-issues open-pr

Features

WIP - Do not use

  • Remove provider specifics

    • Parameterize consul configs to tie into global vars
  • Tests

    • AWS
    • Azure
    • GCP
  • Ouptuts

  • Tons of other stuff

Files that need generalization

  • es.yml
  • consul.yml

Terraform Versions

For Terraform v0.12.0+

Usage

module "this" {
  source = "github.com/insight-w3f/terraform-polkadot-k8s-config"
}

Examples

Known Issues

No issue is creating limit on this module.

Requirements

No requirements.

Providers

Name Version
aws n/a
helm n/a
kubernetes n/a
local n/a
null n/a
template n/a

Inputs

Name Description Type Default Required
acme_server Full URI of the certificate issuing server string "https://acme-staging-v02.api.letsencrypt.org/directory" no
aggregate_domain_name The domain name that will be used for the aggregated endpoint string "" no
alertmanager_subdomain The subdomain for AlertManager string "alertmanager" no
all_enabled Bool to enable all services bool true no
aws_worker_arn ARN for EKS worker nodes string "" no
azure_resource_group The Azure resource group string "" no
azure_service_principal_key Contents of the JSON file for the Azure service principal string "" no
cert_manager_enabled Bool to enable external cert-manager bool true no
cert_manager_issuer_secret_name k8s secret name for this issuer string "letsencrypt-issuer-account-key" no
cloud_platform The cloud platform where the cluster is deployed string n/a yes
consul_enabled Bool to enable consul bool true no
deployment_domain_name The domain name that will host the deployment string "" no
do_token The DO API token string "" no
elasticsearch_enabled Bool to enable elasticsearch bool true no
external_dns_enabled Bool to enable external DNS controller bool true no
google_project Name of GCP project string "" no
google_service_account_key Contents of the JSON file for the GCP service account string "" no
grafana_subdomain The subdomain for Grafana string "grafana" no
issuer_name k8s resource name for your certificate issuer (e.g. letsencrypt) string "letsencrypt" no
kubeconfig The base64-encoded kubeconfig file contents for the cluster to apply CRDs to string "" no
lb_endpoint URI/IP to the load balancer endpoint string "" no
nginx_ingress_enabled Bool to enable nginx ingress bool true no
prometheus_enabled Bool to enable prometheus bool true no
prometheus_password Password used for Prometheus authentication string "node_exporter_password" no
prometheus_subdomain The subdomain for Prometheus string "prometheus" no
prometheus_user Username used for Prometheus authentication string "node_exporter_user" no
region The region where the cluster is deployed string n/a yes
slack_api_key Your Slack API key to receive alerts string "" no
user_email Email address of user to be notifed by certificate issuer about expiry, etc. string "" no
wait_on Variable to trick TF into waiting for everything else to finish string "" no

Outputs

No output.

Testing

This module has been packaged with terratest tests

To run them:

  1. Install Go
  2. Run make test-init from the root of this repo
  3. Run make test again from root

Authors

Module managed by insight-w3f

Credits

License

Apache 2 Licensed. See LICENSE for full details.