diff --git a/admin/deployment.yaml b/admin/deployment.yaml new file mode 100644 index 0000000..98e3e23 --- /dev/null +++ b/admin/deployment.yaml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: powerdns-admin + namespace: pdns + labels: + app: powerdns-admin +spec: + replicas: 1 + selector: + matchLabels: + app: powerdns-admin + strategy: + type: Recreate + template: + metadata: + labels: + app: powerdns-admin + spec: + containers: + - image: ngoduykhanh/powerdns-admin:latest + name: powedns-admin + ports: + - name: http-port + containerPort: 80 + env: + - name: SECRET_KEY + valueFrom: + secretKeyRef: + name: pdns-admin-secrets + key: secret_key + volumeMounts: + - name: pdns-admin-vol + mountPath: /data + securityContext: + fsGroup: 1000 + volumes: + - name: pdns-admin-vol + persistentVolumeClaim: + claimName: pdns-admin-claim diff --git a/admin/ingress.yaml b/admin/ingress.yaml new file mode 100644 index 0000000..f5b6b85 --- /dev/null +++ b/admin/ingress.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: pdns-admin-ingress + namespace: pdns + annotations: + kubernetes.io/ingress.class: "traefik" +spec: + rules: + - host: pdns.home.thejimnicholson.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: pdns-admin + port: + number: 80 \ No newline at end of file diff --git a/admin/kustomization.yaml b/admin/kustomization.yaml new file mode 100644 index 0000000..309b295 --- /dev/null +++ b/admin/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- namespace.yaml +- volume.yaml +- secrets.yaml +- deployment.yaml +- service.yaml +- ingress.yaml \ No newline at end of file diff --git a/admin/namespace.yaml b/admin/namespace.yaml new file mode 100644 index 0000000..a24c5eb --- /dev/null +++ b/admin/namespace.yaml @@ -0,0 +1,6 @@ + +--- +kind: Namespace +apiVersion: v1 +metadata: + name: pdns \ No newline at end of file diff --git a/admin/secrets.yaml b/admin/secrets.yaml new file mode 100644 index 0000000..0580b6f --- /dev/null +++ b/admin/secrets.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: pdns-admin-secrets + namespace: pdns + annotations: + secret-generator.v1.mittwald.de/autogenerate: secret_key \ No newline at end of file diff --git a/admin/service.yaml b/admin/service.yaml new file mode 100644 index 0000000..3ad960a --- /dev/null +++ b/admin/service.yaml @@ -0,0 +1,13 @@ + +apiVersion: v1 +kind: Service +metadata: + name: pdns-admin + namespace: pdns +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 80 + selector: + app: powerdns-admin \ No newline at end of file diff --git a/admin/volume.yaml b/admin/volume.yaml new file mode 100644 index 0000000..d21f600 --- /dev/null +++ b/admin/volume.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: pdns-admin-claim + namespace: pdns +spec: + accessModes: + - ReadWriteOnce + storageClassName: longhorn + resources: + requests: + storage: 1Gi \ No newline at end of file