mirror of
https://github.com/apricote/home-cloud.git
synced 2026-01-13 21:11:02 +00:00
feat: output working kubeconfig for new cluster
This commit is contained in:
parent
70a986913c
commit
9e528c9b7b
6 changed files with 71 additions and 13 deletions
|
|
@ -53,38 +53,38 @@ provider "kubernetes" {
|
|||
client_key = module.k3s.kubernetes.client_key
|
||||
}
|
||||
|
||||
resource "kubernetes_service_account" "bootstrap" {
|
||||
resource "kubernetes_service_account" "admin" {
|
||||
depends_on = [module.k3s.kubernetes_ready]
|
||||
|
||||
metadata {
|
||||
name = "bootstrap"
|
||||
name = "admin"
|
||||
namespace = "default"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_cluster_role_binding" "boostrap" {
|
||||
resource "kubernetes_cluster_role_binding" "admin" {
|
||||
depends_on = [module.k3s.kubernetes_ready]
|
||||
|
||||
metadata {
|
||||
name = "bootstrap"
|
||||
name = "admin"
|
||||
}
|
||||
|
||||
subject {
|
||||
kind = "ServiceAccount"
|
||||
name = "bootstrap"
|
||||
name = "admin"
|
||||
namespace = "default"
|
||||
}
|
||||
|
||||
role_ref {
|
||||
api_group = "rbac.authorization.k8s.io"
|
||||
kind = "ClusterRole"
|
||||
name = "admin"
|
||||
name = "cluster-admin"
|
||||
}
|
||||
}
|
||||
|
||||
data "kubernetes_secret" "sa_credentials" {
|
||||
metadata {
|
||||
name = kubernetes_service_account.bootstrap.default_secret_name
|
||||
name = kubernetes_service_account.admin.default_secret_name
|
||||
namespace = "default"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,17 @@ output "summary" {
|
|||
value = module.k3s.summary
|
||||
}
|
||||
|
||||
output "bootstrap_sa" {
|
||||
description = "Bootstrap ServiceAccount. Can be used by Terraform to provision this cluster."
|
||||
value = data.kubernetes_secret.sa_credentials.data
|
||||
sensitive = true
|
||||
output "kubernetes" {
|
||||
description = "Authentication credentials of Kubernetes (full administrator)."
|
||||
value = {
|
||||
token = data.kubernetes_secret.sa_credentials.data.token
|
||||
cluster_ca_certificate = module.k3s.kubernetes.cluster_ca_certificate
|
||||
api_endpoint = "https://${var.domain}:6443"
|
||||
}
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "kubernetes_ready" {
|
||||
description = "Dependency endpoint to synchronize k3s installation and provisioning."
|
||||
value = module.k3s.kubernetes_ready
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue