feat: add docker runner and set runner dashboards
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
88
runner.tf
88
runner.tf
@@ -1,7 +1,70 @@
|
||||
resource "helm_release" "drone_runner" {
|
||||
name = "runner"
|
||||
resource "helm_release" "drone_runner_docker" {
|
||||
name = "runner-docker"
|
||||
chart = "drone-runner-docker"
|
||||
repository = "https://charts.drone.io"
|
||||
version = "0.6.0"
|
||||
namespace = kubernetes_namespace.server.metadata.0.name
|
||||
create_namespace = false
|
||||
|
||||
values = [jsonencode({
|
||||
serviceAccount = {
|
||||
create = true
|
||||
}
|
||||
}),
|
||||
jsonencode({
|
||||
env = {
|
||||
DRONE_SERVER_HOST = "https://${local.drone_domain}"
|
||||
DRONE_RPC_HOST = "${helm_release.drone_server.name}.${helm_release.drone_server.namespace}.svc.cluster.local:8080"
|
||||
DRONE_RPC_PROTO = "http"
|
||||
DRONE_UI_USERNAME = local.runner_dashboard_user
|
||||
}
|
||||
}),
|
||||
jsonencode({
|
||||
dind = {
|
||||
resources = {
|
||||
requests = {
|
||||
cpu = "250m"
|
||||
memory = "1G"
|
||||
"ephemeral-storage" = upper(local.runner_cache_size)
|
||||
}
|
||||
limits = {
|
||||
cpu = "1"
|
||||
memory = "3G"
|
||||
"ephemeral-storage" = upper(local.runner_cache_size)
|
||||
}
|
||||
}
|
||||
}
|
||||
}),
|
||||
jsonencode({
|
||||
ingress = {
|
||||
enabled = false
|
||||
}
|
||||
}),
|
||||
jsonencode({
|
||||
gc = {
|
||||
enabled = true
|
||||
env = {
|
||||
GC_INTERVAL = local.runner_gc_interval
|
||||
GC_CACHE = "${lower(local.runner_cache_size)}b"
|
||||
}
|
||||
}
|
||||
}),
|
||||
]
|
||||
set_sensitive {
|
||||
name = "env.DRONE_RPC_SECRET"
|
||||
value = random_password.drone_rpc_secret.result
|
||||
}
|
||||
set_sensitive {
|
||||
name = "env.DRONE_UI_PASSWORD"
|
||||
value = random_password.runner_dashboard.result
|
||||
}
|
||||
}
|
||||
|
||||
resource "helm_release" "drone_runner_kube" {
|
||||
name = "runner-kube"
|
||||
chart = "drone-runner-kube"
|
||||
repository = "https://charts.drone.io"
|
||||
version = "0.1.10"
|
||||
namespace = kubernetes_namespace.server.metadata.0.name
|
||||
create_namespace = false
|
||||
|
||||
@@ -14,10 +77,23 @@ resource "helm_release" "drone_runner" {
|
||||
}),
|
||||
jsonencode({
|
||||
env = {
|
||||
DRONE_SERVER_HOST = "https://${local.ingress_domain}"
|
||||
DRONE_RPC_HOST = "${helm_release.drone_server.name}.${helm_release.drone_server.namespace}.svc.cluster.local"
|
||||
DRONE_SERVER_HOST = "https://${local.drone_domain}"
|
||||
DRONE_RPC_HOST = "${helm_release.drone_server.name}.${helm_release.drone_server.namespace}.svc.cluster.local:8080"
|
||||
DRONE_RPC_PROTO = "http"
|
||||
DRONE_NAMESPACE_DEFAULT = kubernetes_namespace.jobs.metadata.0.name
|
||||
DRONE_UI_USERNAME = local.runner_dashboard_user
|
||||
}
|
||||
}),
|
||||
jsonencode({
|
||||
resources = {
|
||||
requests = {
|
||||
cpu = "100m"
|
||||
memory = "50Mi"
|
||||
}
|
||||
limits = {
|
||||
cpu = "300m"
|
||||
memory = "200Mi"
|
||||
}
|
||||
}
|
||||
}),
|
||||
jsonencode({
|
||||
@@ -30,4 +106,8 @@ resource "helm_release" "drone_runner" {
|
||||
name = "env.DRONE_RPC_SECRET"
|
||||
value = random_password.drone_rpc_secret.result
|
||||
}
|
||||
set_sensitive {
|
||||
name = "env.DRONE_UI_PASSWORD"
|
||||
value = random_password.runner_dashboard.result
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user