Skip to content
This repository was archived by the owner on Mar 21, 2025. It is now read-only.

Commit 247b094

Browse files
committed
feat(init): add new cluster (#56)
1 parent 0f277b1 commit 247b094

File tree

7 files changed

+280
-0
lines changed

7 files changed

+280
-0
lines changed

playground-cluster/.terraform.lock.hcl

Lines changed: 102 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

playground-cluster/main.tf

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
module "argocd" {
2+
source = "../bootstrap/modules/argocd"
3+
4+
cluster_name = var.cluster_name
5+
}
6+
7+
module "cert-manager" {
8+
source = "../bootstrap/modules/cert-manager"
9+
}
10+
11+
module "dex" {
12+
source = "../bootstrap/modules/dex"
13+
14+
cluster_name = var.cluster_name
15+
16+
depends_on = [
17+
module.argocd
18+
]
19+
}
20+
21+
module "dns" {
22+
source = "../bootstrap/modules/external-dns"
23+
24+
cluster_name = var.cluster_name
25+
dns_managed_zone = "adorsys.io."
26+
}
27+
28+
module "external-secrets" {
29+
source = "../bootstrap/modules/external-secrets"
30+
31+
cluster_name = var.cluster_name
32+
33+
# we need the default psp deployed
34+
depends_on = [
35+
module.argocd
36+
]
37+
}
38+
39+
module "ingress" {
40+
source = "../bootstrap/modules/ingress-nginx"
41+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
apiVersion: policy/v1beta1
2+
kind: PodSecurityPolicy
3+
metadata:
4+
name: default
5+
annotations:
6+
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default'
7+
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default'
8+
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
9+
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
10+
spec:
11+
privileged: false
12+
allowPrivilegeEscalation: false
13+
allowedCapabilities: [] # default set of capabilities are implicitly allowed
14+
volumes:
15+
- 'configMap'
16+
- 'emptyDir'
17+
- 'projected'
18+
- 'secret'
19+
- 'downwardAPI'
20+
- 'persistentVolumeClaim'
21+
hostNetwork: false
22+
hostIPC: false
23+
hostPID: false
24+
runAsUser:
25+
rule: 'RunAsAny'
26+
seLinux:
27+
rule: 'RunAsAny'
28+
supplementalGroups:
29+
rule: 'RunAsAny'
30+
fsGroup:
31+
rule: 'RunAsAny'
32+
---
33+
kind: ClusterRole
34+
apiVersion: rbac.authorization.k8s.io/v1
35+
metadata:
36+
name: default-psp
37+
rules:
38+
- apiGroups: ['policy']
39+
resources: ['podsecuritypolicies']
40+
verbs: ['use']
41+
resourceNames: ['default']
42+
- apiGroups: ['extensions']
43+
resources: ['podsecuritypolicies']
44+
verbs: ['use']
45+
resourceNames: ['default']
46+
---
47+
kind: ClusterRoleBinding
48+
apiVersion: rbac.authorization.k8s.io/v1
49+
metadata:
50+
name: default-psp
51+
roleRef:
52+
kind: ClusterRole
53+
name: default-psp
54+
apiGroup: rbac.authorization.k8s.io
55+
subjects:
56+
- kind: Group
57+
name: system:authenticated
58+
apiGroup: rbac.authorization.k8s.io

playground-cluster/output.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
output "cluster_id" {
2+
value = var.cluster_id
3+
}

playground-cluster/provider.tf

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
provider "helm" {
2+
kubernetes {
3+
config_path = ".kubeconfig"
4+
}
5+
}
6+
7+
provider "aws" {
8+
region = "eu-central-1"
9+
profile = ""
10+
11+
default_tags {
12+
tags = {
13+
cluster = "playground"
14+
service = "kaas"
15+
Owner = "ops"
16+
Name = "ops-k8s-bootstrap"
17+
}
18+
}
19+
}
20+
21+
provider "kubectl" {
22+
load_config_file = true
23+
config_path = ".kubeconfig"
24+
}
25+
26+
provider "kubernetes" {
27+
config_path = ".kubeconfig"
28+
}
29+
30+
terraform {
31+
required_providers {
32+
aws = {
33+
source = "hashicorp/aws"
34+
version = "4.47.0"
35+
}
36+
helm = {
37+
source = "hashicorp/helm"
38+
version = "2.8.0"
39+
}
40+
kubectl = {
41+
source = "gavinbunney/kubectl"
42+
version = "1.14.0"
43+
}
44+
kubernetes = {
45+
source = "hashicorp/kubernetes"
46+
version = "2.16.1"
47+
}
48+
random = {
49+
source = "hashicorp/random"
50+
version = "3.4.3"
51+
}
52+
}
53+
}

playground-cluster/terraform.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
terraform {
2+
3+
backend "s3" {
4+
bucket = "ops-kaas-tfstate"
5+
region = "eu-central-1"
6+
key = "playground-cluster.tfstate"
7+
8+
encrypt = true
9+
}
10+
}

playground-cluster/variables.tf

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
variable "cluster_name" {
2+
type = string
3+
description = "The commonly referred name of the cluster"
4+
5+
default = "playground"
6+
}
7+
8+
variable "cluster_id" {
9+
type = string
10+
description = "The commonly referred id of the cluster"
11+
12+
default = "z2zn272rbb"
13+
}

0 commit comments

Comments
 (0)