Add terraform deployment method to contrib/examples (#1559)
Co-authored-by: Mike Joseph <mike@Mikes-MacBook-Pro-5618.local>
This commit is contained in:
parent
3ca96557a6
commit
3c4ab2d479
|
|
@ -0,0 +1,60 @@
|
|||
### Deploying with exposed github token
|
||||
|
||||
resource "kubernetes_namespace" "arc" {
|
||||
metadata {
|
||||
name = "actions-runner-system"
|
||||
}
|
||||
}
|
||||
|
||||
resource "helm_release" "actions-runner-controller" {
|
||||
count = var.actions_runner_controller
|
||||
name = "actions-runner-controller"
|
||||
namespace = kubernetes_namespace.arc.metadata[0].name
|
||||
create_namespace = true
|
||||
chart = "actions-runner-controller"
|
||||
repository = "https://actions-runner-controller.github.io/actions-runner-controller"
|
||||
version = "v0.19.1"
|
||||
values = [<<EOF
|
||||
authSecret:
|
||||
github_token: hdjasyd7das7d7asd78as87dasdas
|
||||
create: true
|
||||
EOF
|
||||
]
|
||||
depends_on = [resource.helm_release.cm]
|
||||
}
|
||||
|
||||
#============================================================================================================================================
|
||||
### Deploying with secret manager like AWS's
|
||||
# make sure the name of the secret is the same as secret_id
|
||||
|
||||
data "aws_secretsmanager_secret_version" "creds" {
|
||||
secret_id = "github/access_token"
|
||||
}
|
||||
locals {
|
||||
github_creds = jsondecode(
|
||||
data.aws_secretsmanager_secret_version.creds.secret_string
|
||||
)
|
||||
}
|
||||
|
||||
resource "kubernetes_namespace" "arc" {
|
||||
metadata {
|
||||
name = "actions-runner-system"
|
||||
}
|
||||
}
|
||||
|
||||
resource "helm_release" "actions-runner-controller" {
|
||||
count = var.actions_runner_controller
|
||||
name = "actions-runner-controller"
|
||||
namespace = kubernetes_namespace.arc.metadata[0].name
|
||||
create_namespace = true
|
||||
chart = "actions-runner-controller"
|
||||
repository = "https://actions-runner-controller.github.io/actions-runner-controller"
|
||||
version = "v0.19.1"
|
||||
values = [<<EOF
|
||||
authSecret:
|
||||
github_token: ${local.github_creds.github_token}
|
||||
create: true
|
||||
EOF
|
||||
]
|
||||
depends_on = [resource.helm_release.cm]
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
# cert-manager must be deployed or included via the deployment process
|
||||
|
||||
resource "kubernetes_namespace" "cm" {
|
||||
metadata {
|
||||
name = "cert-manager"
|
||||
}
|
||||
}
|
||||
|
||||
resource "helm_release" "cm" {
|
||||
count = var.actions_runner_controller
|
||||
name = "cm"
|
||||
namespace = kubernetes_namespace.cm.metadata[0].name
|
||||
create_namespace = true
|
||||
chart = "cert-manager"
|
||||
repository = "https://charts.jetstack.io"
|
||||
version = "v1.8.0"
|
||||
values = [<<EOF
|
||||
global:
|
||||
podSecurityPolicy:
|
||||
enabled: true
|
||||
useAppArmor: true
|
||||
prometheus:
|
||||
enabled: false
|
||||
installCRDs: true
|
||||
EOF
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue