Skip to content

Commit

Permalink
change hardcoded var
Browse files Browse the repository at this point in the history
  • Loading branch information
danaelhe committed Aug 15, 2023
1 parent 3a13d12 commit d61d02a
Show file tree
Hide file tree
Showing 6 changed files with 181 additions and 192 deletions.
2 changes: 1 addition & 1 deletion digitalocean/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ func (c *Config) Client() (*CombinedConfig, error) {

if c.HTTPRetryMax > 0 {
retryConfig := godo.RetryConfig{
RetryMax: 3,
RetryMax: c.HTTPRetryMax,
RetryWaitMin: godo.PtrTo(c.HTTPRetryWaitMin),
RetryWaitMax: godo.PtrTo(c.HTTPRetryWaitMax),
}
Expand Down
280 changes: 140 additions & 140 deletions examples/kubernetes/kubernetes-config/main.tf
Original file line number Diff line number Diff line change
@@ -1,155 +1,155 @@
terraform {
required_providers {
digitalocean = {
source = "digitalocean/digitalocean"
version = ">= 2.4.0"
}
kubernetes = {
source = "hashicorp/kubernetes"
version = ">= 2.7.0"
}
helm = {
source = "hashicorp/helm"
version = ">= 2.0.1"
}
}
}
# terraform {
# required_providers {
# digitalocean = {
# source = "digitalocean/digitalocean"
# version = ">= 2.4.0"
# }
# kubernetes = {
# source = "hashicorp/kubernetes"
# version = ">= 2.7.0"
# }
# helm = {
# source = "hashicorp/helm"
# version = ">= 2.0.1"
# }
# }
# }

data "digitalocean_kubernetes_cluster" "primary" {
name = var.cluster_name
}
# data "digitalocean_kubernetes_cluster" "primary" {
# name = var.cluster_name
# }

resource "local_file" "kubeconfig" {
depends_on = [var.cluster_id]
count = var.write_kubeconfig ? 1 : 0
content = data.digitalocean_kubernetes_cluster.primary.kube_config[0].raw_config
filename = "${path.root}/kubeconfig"
}
# resource "local_file" "kubeconfig" {
# depends_on = [var.cluster_id]
# count = var.write_kubeconfig ? 1 : 0
# content = data.digitalocean_kubernetes_cluster.primary.kube_config[0].raw_config
# filename = "${path.root}/kubeconfig"
# }

provider "kubernetes" {
host = data.digitalocean_kubernetes_cluster.primary.endpoint
token = data.digitalocean_kubernetes_cluster.primary.kube_config[0].token
cluster_ca_certificate = base64decode(
data.digitalocean_kubernetes_cluster.primary.kube_config[0].cluster_ca_certificate
)
}
# provider "kubernetes" {
# host = data.digitalocean_kubernetes_cluster.primary.endpoint
# token = data.digitalocean_kubernetes_cluster.primary.kube_config[0].token
# cluster_ca_certificate = base64decode(
# data.digitalocean_kubernetes_cluster.primary.kube_config[0].cluster_ca_certificate
# )
# }

provider "helm" {
kubernetes {
host = data.digitalocean_kubernetes_cluster.primary.endpoint
token = data.digitalocean_kubernetes_cluster.primary.kube_config[0].token
cluster_ca_certificate = base64decode(
data.digitalocean_kubernetes_cluster.primary.kube_config[0].cluster_ca_certificate
)
}
}
# provider "helm" {
# kubernetes {
# host = data.digitalocean_kubernetes_cluster.primary.endpoint
# token = data.digitalocean_kubernetes_cluster.primary.kube_config[0].token
# cluster_ca_certificate = base64decode(
# data.digitalocean_kubernetes_cluster.primary.kube_config[0].cluster_ca_certificate
# )
# }
# }

resource "kubernetes_namespace" "test" {
metadata {
name = "test"
}
}
# resource "kubernetes_namespace" "test" {
# metadata {
# name = "test"
# }
# }

resource "kubernetes_deployment" "test" {
metadata {
name = "test"
namespace= kubernetes_namespace.test.metadata.0.name
}
spec {
replicas = 2
selector {
match_labels = {
app = "test"
}
}
template {
metadata {
labels = {
app = "test"
}
}
spec {
container {
image = "hashicorp/http-echo"
name = "http-echo"
args = ["-text=test"]
# resource "kubernetes_deployment" "test" {
# metadata {
# name = "test"
# namespace= kubernetes_namespace.test.metadata.0.name
# }
# spec {
# replicas = 2
# selector {
# match_labels = {
# app = "test"
# }
# }
# template {
# metadata {
# labels = {
# app = "test"
# }
# }
# spec {
# container {
# image = "hashicorp/http-echo"
# name = "http-echo"
# args = ["-text=test"]

resources {
limits = {
memory = "512M"
cpu = "1"
}
requests = {
memory = "256M"
cpu = "50m"
}
}
}
}
}
}
}
# resources {
# limits = {
# memory = "512M"
# cpu = "1"
# }
# requests = {
# memory = "256M"
# cpu = "50m"
# }
# }
# }
# }
# }
# }
# }

resource "kubernetes_service" "test" {
metadata {
name = "test-service"
namespace = kubernetes_namespace.test.metadata.0.name
}
spec {
selector = {
app = kubernetes_deployment.test.metadata.0.name
}
# resource "kubernetes_service" "test" {
# metadata {
# name = "test-service"
# namespace = kubernetes_namespace.test.metadata.0.name
# }
# spec {
# selector = {
# app = kubernetes_deployment.test.metadata.0.name
# }

port {
port = 5678
}
}
}
# port {
# port = 5678
# }
# }
# }

resource "helm_release" "nginx_ingress" {
name = "nginx-ingress-controller"
namespace = kubernetes_namespace.test.metadata.0.name
# resource "helm_release" "nginx_ingress" {
# name = "nginx-ingress-controller"
# namespace = kubernetes_namespace.test.metadata.0.name

repository = "https://charts.bitnami.com/bitnami"
chart = "nginx-ingress-controller"
# repository = "https://charts.bitnami.com/bitnami"
# chart = "nginx-ingress-controller"

set {
name = "service.type"
value = "LoadBalancer"
}
set {
name = "service.annotations.service\\.beta\\.kubernetes\\.io/do-loadbalancer-name"
value = format("%s-nginx-ingress", var.cluster_name)
}
}
# set {
# name = "service.type"
# value = "LoadBalancer"
# }
# set {
# name = "service.annotations.service\\.beta\\.kubernetes\\.io/do-loadbalancer-name"
# value = format("%s-nginx-ingress", var.cluster_name)
# }
# }

resource "kubernetes_ingress_v1" "test_ingress" {
wait_for_load_balancer = true
metadata {
name = "test-ingress"
namespace = kubernetes_namespace.test.metadata.0.name
annotations = {
"kubernetes.io/ingress.class" = "nginx"
"ingress.kubernetes.io/rewrite-target" = "/"
}
}
# resource "kubernetes_ingress_v1" "test_ingress" {
# wait_for_load_balancer = true
# metadata {
# name = "test-ingress"
# namespace = kubernetes_namespace.test.metadata.0.name
# annotations = {
# "kubernetes.io/ingress.class" = "nginx"
# "ingress.kubernetes.io/rewrite-target" = "/"
# }
# }

spec {
rule {
http {
path {
backend {
service {
name = kubernetes_service.test.metadata.0.name
port {
number = 5678
}
}
}
# spec {
# rule {
# http {
# path {
# backend {
# service {
# name = kubernetes_service.test.metadata.0.name
# port {
# number = 5678
# }
# }
# }

path = "/test"
}
}
}
}
}
# path = "/test"
# }
# }
# }
# }
# }
20 changes: 10 additions & 10 deletions examples/kubernetes/kubernetes-config/variables.tf
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
variable "cluster_name" {
type = string
}
# variable "cluster_name" {
# type = string
# }

variable "cluster_id" {
type = string
}
# variable "cluster_id" {
# type = string
# }

variable "write_kubeconfig" {
type = bool
default = false
}
# variable "write_kubeconfig" {
# type = bool
# default = false
# }
33 changes: 11 additions & 22 deletions examples/kubernetes/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,17 @@ terraform {
}
}

resource "random_id" "cluster_name" {
byte_length = 5
resource "digitalocean_database_cluster" "postgres-example" {
name = "example-postgres-cluster"
engine = "pg"
version = "13"
size = "db-s-1vcpu-1gb"
region = "nyc1"
node_count = 1
}

locals {
cluster_name = "tf-k8s-${random_id.cluster_name.hex}"
}

module "doks-cluster" {
source = "./doks-cluster"
cluster_name = local.cluster_name
cluster_region = "nyc3"
cluster_version = var.cluster_version

worker_size = var.worker_size
worker_count = var.worker_count
}

module "kubernetes-config" {
source = "./kubernetes-config"
cluster_name = module.doks-cluster.cluster_name
cluster_id = module.doks-cluster.cluster_id

write_kubeconfig = var.write_kubeconfig
resource "digitalocean_database_user" "user-example" {
cluster_id = digitalocean_database_cluster.postgres-example.id
name = "${count.index}-app"
count = 270
}
12 changes: 6 additions & 6 deletions examples/kubernetes/outputs.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
output "cluster_name" {
value = module.doks-cluster.cluster_name
}
# output "cluster_name" {
# value = module.doks-cluster.cluster_name
# }

output "kubeconfig_path" {
value = var.write_kubeconfig ? abspath("${path.root}/kubeconfig") : "none"
}
# output "kubeconfig_path" {
# value = var.write_kubeconfig ? abspath("${path.root}/kubeconfig") : "none"
# }
Loading

0 comments on commit d61d02a

Please sign in to comment.