diff --git a/baikal/baikal-deployment.yaml b/baikal/baikal-deployment.yaml new file mode 100644 index 0000000..960fc62 --- /dev/null +++ b/baikal/baikal-deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: baikal + namesapce: baikal +spec: + selector: + matchLabels: + app: baikal + template: + metadata: + labels: + app: baikal + spec: + containers: + - name: baikal + image: ckulka/baikal:nginx + ports: + - containerPort: 80 + name: http + protocol: TCP + volumeMounts: + - mountPath: /var/www/baikal/config + name: config + - mountPath: /var/www/baikal/Specific + name: data + restartPolicy: Always + volumes: + - name: config + persistentVolumeClaim: + claimName: config + - name: data + persistentVolumeClaim: + claimName: data diff --git a/baikal/baikal-dns-endpoint.yaml b/baikal/baikal-dns-endpoint.yaml new file mode 100644 index 0000000..5773c20 --- /dev/null +++ b/baikal/baikal-dns-endpoint.yaml @@ -0,0 +1,15 @@ +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: baikal.michaelthomson.dev + namespace: baikal +spec: + endpoints: + - dnsName: baikal.michaelthomson.dev + recordTTL: 180 + recordType: CNAME + targets: + - michaelthomson.ddns.net + providerSpecific: + - name: external-dns.alpha.kubernetes.io/cloudflare-proxied + value: "true" diff --git a/baikal/baikal-ingress.yaml b/baikal/baikal-ingress.yaml new file mode 100644 index 0000000..1e31269 --- /dev/null +++ b/baikal/baikal-ingress.yaml @@ -0,0 +1,25 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: baikal + namespace: baikal + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + # traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd + traefik.ingress.kubernetes.io/router.tls: "true" +spec: + rules: + - host: baikal.michaelthomson.dev + http: + paths: + - pathType: ImplementationSpecific + path: / + backend: + service: + name: baikal + port: + name: http + tls: + - hosts: + - baikal.michaelthomson.dev + secretName: letsencrypt-wildcard-cert-michaelthomson.dev diff --git a/baikal/baikal-pvc-config.yaml b/baikal/baikal-pvc-config.yaml new file mode 100644 index 0000000..a7bc4a4 --- /dev/null +++ b/baikal/baikal-pvc-config.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config + namespace: baikal +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi diff --git a/baikal/baikal-pvc-data.yaml b/baikal/baikal-pvc-data.yaml new file mode 100644 index 0000000..04288dd --- /dev/null +++ b/baikal/baikal-pvc-data.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data + namespace: baikal +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi diff --git a/baikal/baikal-service.yaml b/baikal/baikal-service.yaml new file mode 100644 index 0000000..8911474 --- /dev/null +++ b/baikal/baikal-service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: baikal + namesapce: baikal +spec: + selector: + app: baikal + ports: + - name: http + port: 80 + targetPort: http diff --git a/bootstrap/kustomizations/kustomization-baikal.yaml b/bootstrap/kustomizations/kustomization-baikal.yaml new file mode 100644 index 0000000..acf3179 --- /dev/null +++ b/bootstrap/kustomizations/kustomization-baikal.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: baikal + namespace: flux-system +spec: + interval: 15m + path: ./baikal + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + healthChecks: + - apiVersion: apps/v1 + kind: Deployment + name: baikal + namespace: baikal diff --git a/bootstrap/namespaces/namespace-baikal.yaml b/bootstrap/namespaces/namespace-baikal.yaml new file mode 100644 index 0000000..cb9e5d5 --- /dev/null +++ b/bootstrap/namespaces/namespace-baikal.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: baikal