external-dns username as secret
This commit is contained in:
parent
6056b8b411
commit
3ed6f2de26
|
|
@ -17,6 +17,12 @@
|
||||||
path: /spec/template/spec/containers/0/env
|
path: /spec/template/spec/containers/0/env
|
||||||
value:
|
value:
|
||||||
- name: AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
value: "AKIA2SXEHOQFBQRGCSST"
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: aws-user-external-dns
|
||||||
|
key: username
|
||||||
- name: AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
value: "lj85CIIik/83V980VKEPfqlOWtutEM3s7bSqMZNH"
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: aws-user-external-dns
|
||||||
|
key: password
|
||||||
|
|
@ -1,6 +1,42 @@
|
||||||
# This file is maintained automatically by "terraform init".
|
# This file is maintained automatically by "terraform init".
|
||||||
# Manual edits may be lost in future updates.
|
# Manual edits may be lost in future updates.
|
||||||
|
|
||||||
|
provider "registry.terraform.io/hashicorp/aws" {
|
||||||
|
version = "3.63.0"
|
||||||
|
hashes = [
|
||||||
|
"h1:Z+2GvXLgqQ/uPMH8dv+dXJ/t+jd6sriYjhCJS6kSO6g=",
|
||||||
|
"zh:42c6c98b294953a4e1434a331251e539f5372bf6779bd61ab5df84cac0545287",
|
||||||
|
"zh:5493773762a470889c9a23db97582d3a82035847c8d3bd13323b4c3012abf325",
|
||||||
|
"zh:550d22ff9fed4d817a922e7b84bd9d1f2ef8d3afa00832cf66b8cd5f0e6dc748",
|
||||||
|
"zh:632cb5e2d9d5041875f57174236eafe5b05dbf26750c1041ab57eb08c5369fe2",
|
||||||
|
"zh:7cfeaf5bde1b28bd010415af1f3dc494680a8374f1a26ec19db494d99938cc4e",
|
||||||
|
"zh:99d871606b67c8aefce49007315de15736b949c09a9f8f29ad8af1e9ce383ed3",
|
||||||
|
"zh:c4fc8539ffe90df5c7ae587fde495fac6bc0186fec2f2713a8988a619cef265f",
|
||||||
|
"zh:d0a26493206575c99ca221d78fe64f96a8fbcebe933af92eea6b39168c1f1c1d",
|
||||||
|
"zh:e156fdc964fdd4a7586ec15629e20d2b06295b46b4962428006e088145db07d6",
|
||||||
|
"zh:eb04fc80f652b5c92f76822f0fec1697581543806244068506aed69e1bb9b2af",
|
||||||
|
"zh:f5638a533cf9444f7d02b5527446cdbc3b2eab8bcc4ec4b0ca32035fe6f479d3",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "registry.terraform.io/hashicorp/kubernetes" {
|
||||||
|
version = "2.6.1"
|
||||||
|
hashes = [
|
||||||
|
"h1:DWgawNO2C7IuXC2v9IjTSsqs1vZHSAbP4ilWQ0LdbwI=",
|
||||||
|
"zh:081fbaf9441ebb278753dcf05f318fa7d445e9599a600d7c525e9a18b871d4c8",
|
||||||
|
"zh:143bfbe871c628981d756ead47486e807fce876232d05607e0b8852ebee4eed8",
|
||||||
|
"zh:34f413a644eb952e3f041d67ef19200f4c286d374eae87b60fafdd8bf6bb5654",
|
||||||
|
"zh:370562be70233be730e1876d565710c3ef477e047f209cb3dff8a4a3217a6461",
|
||||||
|
"zh:443021df6d56e59e4d8dda8e57b506affff32b8a22de09661d21b98bc781fefb",
|
||||||
|
"zh:51a9501360b58adf9ee6e09fb81f555042ebc909ab36e06ccfc5e701e91f9923",
|
||||||
|
"zh:7d41d48b8291b98e0a4b7a1f79a9d1fe140a2e0d8df422c5b48cbae4c3fa615a",
|
||||||
|
"zh:881b3e44814d7d49a5820e2e4b13ee3d000b5baf7957df774a909f17472ece8a",
|
||||||
|
"zh:b860ff68a944de63fbe0a624c41f2e373711a2da4298c0f0cb151e00fb32a6b3",
|
||||||
|
"zh:c4ab48ea6e0f8d4a6db1abab1877addb2b21ecd126e505c74b8c85804bd92cbe",
|
||||||
|
"zh:e96589575dfd31eab48fcc85466dd49895925473c60c802b346cdb4037953350",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
provider "registry.terraform.io/linode/linode" {
|
provider "registry.terraform.io/linode/linode" {
|
||||||
version = "1.18.0"
|
version = "1.18.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
|
||||||
|
provider "aws" {
|
||||||
|
region = "us-east-1"
|
||||||
|
}
|
||||||
|
resource "aws_iam_user" "lke-external-dns" {
|
||||||
|
name = "lke-external-dns"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_iam_access_key" "lke-external-dns" {
|
||||||
|
user = aws_iam_user.lke-external-dns.name
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_iam_user_policy" "lke-external-dns" {
|
||||||
|
name = "route-53"
|
||||||
|
user = aws_iam_user.lke-external-dns.name
|
||||||
|
policy = <<EOF
|
||||||
|
{
|
||||||
|
"Version": "2012-10-17",
|
||||||
|
"Statement": [
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"route53:ChangeResourceRecordSets"
|
||||||
|
],
|
||||||
|
"Resource": [
|
||||||
|
"arn:aws:route53:::hostedzone/*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"route53:ListHostedZones",
|
||||||
|
"route53:ListResourceRecordSets"
|
||||||
|
],
|
||||||
|
"Resource": [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
@ -22,6 +22,31 @@ resource "linode_lke_cluster" "stg-video-cluster" {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
provider "kubernetes" {
|
||||||
|
config_path = "../k8s/stg-video-cluster-kubeconfig.yaml"
|
||||||
|
alias = "cluster-staging"
|
||||||
|
}
|
||||||
|
# resource "kubernetes_namespace" "example" {
|
||||||
|
# metadata {
|
||||||
|
# name = "my-first-namespace"
|
||||||
|
# }
|
||||||
|
# provider = kubernetes.cluster-staging
|
||||||
|
# }
|
||||||
|
|
||||||
|
resource "kubernetes_secret" "aws_user_external_dns" {
|
||||||
|
metadata {
|
||||||
|
name = "aws-user-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"
|
||||||
|
provider = kubernetes.cluster-staging
|
||||||
|
}
|
||||||
|
|
||||||
resource "linode_lke_cluster" "prd-video-cluster" {
|
resource "linode_lke_cluster" "prd-video-cluster" {
|
||||||
label = "prd-video-cluster"
|
label = "prd-video-cluster"
|
||||||
k8s_version = "1.21"
|
k8s_version = "1.21"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue