production
This commit is contained in:
parent
66114a5cd9
commit
8b3f459971
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
environment: "staging"
|
||||
environment: "production"
|
||||
|
|
@ -1,84 +1,27 @@
|
|||
resource "kubernetes_namespace" "external-dns" {
|
||||
depends_on = [local_file.kubeconfig]
|
||||
|
||||
metadata {
|
||||
name = "external-dns"
|
||||
}
|
||||
|
||||
module "kubernetes_stg" {
|
||||
|
||||
source = "./modules/kubernetes"
|
||||
providers = {
|
||||
kubernetes = kubernetes.staging
|
||||
}
|
||||
|
||||
resource "kubernetes_secret" "aws_user_external_dns" {
|
||||
depends_on = [kubernetes_namespace.external-dns]
|
||||
|
||||
metadata {
|
||||
name = "aws-user-external-dns"
|
||||
namespace = "external-dns"
|
||||
}
|
||||
|
||||
data = {
|
||||
username = aws_iam_access_key.lke-external-dns.id
|
||||
password = aws_iam_access_key.lke-external-dns.secret
|
||||
}
|
||||
|
||||
type = "kubernetes.io/basic-auth"
|
||||
|
||||
}
|
||||
|
||||
resource "kubernetes_namespace" "argocd" {
|
||||
depends_on = [local_file.kubeconfig]
|
||||
|
||||
metadata {
|
||||
name = "argocd"
|
||||
}
|
||||
}
|
||||
|
||||
data "aws_secretsmanager_secret" "bitbucket_ssh_argocd_key" {
|
||||
name = "bitbucket-ssh-argocd-key"
|
||||
}
|
||||
|
||||
data "aws_secretsmanager_secret_version" "bitbucket_ssh_argocd_key" {
|
||||
secret_id = data.aws_secretsmanager_secret.bitbucket_ssh_argocd_key.id
|
||||
}
|
||||
|
||||
resource "kubernetes_secret" "bitbucket_ssh_argocd_key" {
|
||||
depends_on = [kubernetes_namespace.argocd]
|
||||
|
||||
metadata {
|
||||
name = "bitbucket-ssh-argocd-key"
|
||||
namespace = "argocd"
|
||||
labels = {
|
||||
"argocd.argoproj.io/secret-type" = "repository"
|
||||
}
|
||||
}
|
||||
|
||||
data = {
|
||||
url = "git@bitbucket.org:jamkazam/video-iac"
|
||||
sshPrivateKey = base64decode(jsondecode(data.aws_secretsmanager_secret_version.bitbucket_ssh_argocd_key.secret_string)["private"])
|
||||
}
|
||||
access_key = aws_iam_access_key.lke-external-dns.id
|
||||
secret_key = aws_iam_access_key.lke-external-dns.secret
|
||||
|
||||
}
|
||||
|
||||
|
||||
resource "kubernetes_namespace" "coturn-dns" {
|
||||
depends_on = [local_file.kubeconfig]
|
||||
module "kubernetes_prd" {
|
||||
|
||||
metadata {
|
||||
name = "coturn-dns"
|
||||
}
|
||||
source = "./modules/kubernetes"
|
||||
providers = {
|
||||
kubernetes = kubernetes.production
|
||||
}
|
||||
|
||||
resource "kubernetes_secret" "aws_user_coturn_dns" {
|
||||
depends_on = [kubernetes_namespace.coturn-dns]
|
||||
|
||||
metadata {
|
||||
name = "aws-user-coturn-dns"
|
||||
namespace = "coturn-dns"
|
||||
}
|
||||
|
||||
data = {
|
||||
username = aws_iam_access_key.lke-external-dns.id
|
||||
password = aws_iam_access_key.lke-external-dns.secret
|
||||
}
|
||||
|
||||
type = "kubernetes.io/basic-auth"
|
||||
access_key = aws_iam_access_key.lke-external-dns.id
|
||||
secret_key = aws_iam_access_key.lke-external-dns.secret
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,10 +24,9 @@ resource "local_file" "kubeconfig" {
|
|||
|
||||
provider "kubernetes" {
|
||||
config_path = local_file.kubeconfig.filename
|
||||
alias = "staging"
|
||||
}
|
||||
|
||||
|
||||
|
||||
resource "linode_lke_cluster" "prd-video-cluster" {
|
||||
label = "prd-video-cluster"
|
||||
k8s_version = "1.21"
|
||||
|
|
@ -52,3 +51,12 @@ resource "linode_lke_cluster" "prd-video-cluster" {
|
|||
|
||||
}
|
||||
|
||||
resource "local_file" "kubeconfig_prd" {
|
||||
filename = "prd-kubeconfig.yaml"
|
||||
content = base64decode(linode_lke_cluster.prd-video-cluster.kubeconfig)
|
||||
}
|
||||
|
||||
provider "kubernetes" {
|
||||
config_path = local_file.kubeconfig_prd.filename
|
||||
alias = "production"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
resource "kubernetes_namespace" "argocd" {
|
||||
metadata {
|
||||
name = "argocd"
|
||||
}
|
||||
}
|
||||
|
||||
data "aws_secretsmanager_secret" "bitbucket_ssh_argocd_key" {
|
||||
name = "bitbucket-ssh-argocd-key"
|
||||
}
|
||||
|
||||
data "aws_secretsmanager_secret_version" "bitbucket_ssh_argocd_key" {
|
||||
secret_id = data.aws_secretsmanager_secret.bitbucket_ssh_argocd_key.id
|
||||
}
|
||||
|
||||
resource "kubernetes_secret" "bitbucket_ssh_argocd_key" {
|
||||
depends_on = [kubernetes_namespace.argocd]
|
||||
|
||||
metadata {
|
||||
name = "bitbucket-ssh-argocd-key"
|
||||
namespace = "argocd"
|
||||
labels = {
|
||||
"argocd.argoproj.io/secret-type" = "repository"
|
||||
}
|
||||
}
|
||||
|
||||
data = {
|
||||
url = "git@bitbucket.org:jamkazam/video-iac"
|
||||
sshPrivateKey = base64decode(jsondecode(data.aws_secretsmanager_secret_version.bitbucket_ssh_argocd_key.secret_string)["private"])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
resource "kubernetes_namespace" "coturn-dns" {
|
||||
|
||||
metadata {
|
||||
name = "coturn-dns"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_secret" "aws_user_coturn_dns" {
|
||||
depends_on = [kubernetes_namespace.coturn-dns]
|
||||
|
||||
metadata {
|
||||
name = "aws-user-coturn-dns"
|
||||
namespace = "coturn-dns"
|
||||
}
|
||||
|
||||
data = {
|
||||
username = var.access_key
|
||||
password = var.secret_key
|
||||
}
|
||||
|
||||
type = "kubernetes.io/basic-auth"
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
resource "kubernetes_namespace" "external-dns" {
|
||||
metadata {
|
||||
name = "external-dns"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_secret" "aws_user_external_dns" {
|
||||
depends_on = [kubernetes_namespace.external-dns]
|
||||
|
||||
metadata {
|
||||
name = "aws-user-external-dns"
|
||||
namespace = "external-dns"
|
||||
}
|
||||
|
||||
data = {
|
||||
username = var.access_key
|
||||
password = var.secret_key
|
||||
}
|
||||
|
||||
type = "kubernetes.io/basic-auth"
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
kubernetes = {
|
||||
source = "hashicorp/kubernetes"
|
||||
version = ">= 2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
variable "access_key" {
|
||||
type = string
|
||||
}
|
||||
variable "secret_key" {
|
||||
type = string
|
||||
}
|
||||
Loading…
Reference in New Issue