diff --git a/services/Calckey/_namespace-calckey.yml b/services/Calckey/_namespace-calckey.yml new file mode 100644 index 0000000..267a62e --- /dev/null +++ b/services/Calckey/_namespace-calckey.yml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: calckey diff --git a/services/Calckey/configmap-calckey-redis-configuration.yaml b/services/Calckey/configmap-calckey-redis-configuration.yaml new file mode 100644 index 0000000..d082f42 --- /dev/null +++ b/services/Calckey/configmap-calckey-redis-configuration.yaml @@ -0,0 +1,31 @@ +# Source: calckey/charts/redis/templates/configmap.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: calckey-redis-configuration + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm +data: + redis.conf: |- + # User-supplied common configuration: + # Enable AOF https://redis.io/topics/persistence#append-only-file + appendonly yes + # Disable RDB persistence, AOF persistence already enabled. + save "" + # End of common configuration + master.conf: |- + dir /data + # User-supplied master configuration: + rename-command FLUSHDB "" + rename-command FLUSHALL "" + # End of master configuration + replica.conf: |- + dir /data + # User-supplied replica configuration: + rename-command FLUSHDB "" + rename-command FLUSHALL "" + # End of replica configuration diff --git a/services/Calckey/configmap-calckey-redis-health.yaml b/services/Calckey/configmap-calckey-redis-health.yaml new file mode 100644 index 0000000..ee8dae4 --- /dev/null +++ b/services/Calckey/configmap-calckey-redis-health.yaml @@ -0,0 +1,106 @@ +# Source: calckey/charts/redis/templates/health-configmap.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: calckey-redis-health + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm +data: + ping_readiness_local.sh: |- + #!/bin/bash + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h localhost \ + -p $REDIS_PORT \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + if [ "$response" != "PONG" ]; then + echo "$response" + exit 1 + fi + ping_liveness_local.sh: |- + #!/bin/bash + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h localhost \ + -p $REDIS_PORT \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}') + if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ] && [ "$responseFirstWord" != "MASTERDOWN" ]; then + echo "$response" + exit 1 + fi + ping_readiness_master.sh: |- + #!/bin/bash + + [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" + [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h $REDIS_MASTER_HOST \ + -p $REDIS_MASTER_PORT_NUMBER \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + if [ "$response" != "PONG" ]; then + echo "$response" + exit 1 + fi + ping_liveness_master.sh: |- + #!/bin/bash + + [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" + [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" + response=$( + timeout -s 3 $1 \ + redis-cli \ + -h $REDIS_MASTER_HOST \ + -p $REDIS_MASTER_PORT_NUMBER \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}') + if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ]; then + echo "$response" + exit 1 + fi + ping_readiness_local_and_master.sh: |- + script_dir="$(dirname "$0")" + exit_status=0 + "$script_dir/ping_readiness_local.sh" $1 || exit_status=$? + "$script_dir/ping_readiness_master.sh" $1 || exit_status=$? + exit $exit_status + ping_liveness_local_and_master.sh: |- + script_dir="$(dirname "$0")" + exit_status=0 + "$script_dir/ping_liveness_local.sh" $1 || exit_status=$? + "$script_dir/ping_liveness_master.sh" $1 || exit_status=$? + exit $exit_status diff --git a/services/Calckey/configmap-calckey-redis-scripts.yaml b/services/Calckey/configmap-calckey-redis-scripts.yaml new file mode 100644 index 0000000..a823e08 --- /dev/null +++ b/services/Calckey/configmap-calckey-redis-scripts.yaml @@ -0,0 +1,78 @@ +# Source: calckey/charts/redis/templates/scripts-configmap.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: calckey-redis-scripts + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm +data: + start-master.sh: | + #!/bin/bash + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + if [[ ! -f /opt/bitnami/redis/etc/master.conf ]];then + cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf + fi + if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then + cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf + fi + ARGS=("--port" "${REDIS_PORT}") + ARGS+=("--requirepass" "${REDIS_PASSWORD}") + ARGS+=("--masterauth" "${REDIS_PASSWORD}") + ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") + ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf") + exec redis-server "${ARGS[@]}" + start-replica.sh: | + #!/bin/bash + + get_port() { + hostname="$1" + type="$2" + + port_var=$(echo "${hostname^^}_SERVICE_PORT_$type" | sed "s/-/_/g") + port=${!port_var} + + if [ -z "$port" ]; then + case $type in + "SENTINEL") + echo 26379 + ;; + "REDIS") + echo 6379 + ;; + esac + else + echo $port + fi + } + + get_full_hostname() { + hostname="$1" + echo "${hostname}.${HEADLESS_SERVICE}" + } + + REDISPORT=$(get_port "$HOSTNAME" "REDIS") + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" + if [[ ! -f /opt/bitnami/redis/etc/replica.conf ]];then + cp /opt/bitnami/redis/mounted-etc/replica.conf /opt/bitnami/redis/etc/replica.conf + fi + if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then + cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf + fi + + echo "" >> /opt/bitnami/redis/etc/replica.conf + echo "replica-announce-port $REDISPORT" >> /opt/bitnami/redis/etc/replica.conf + echo "replica-announce-ip $(get_full_hostname "$HOSTNAME")" >> /opt/bitnami/redis/etc/replica.conf + ARGS=("--port" "${REDIS_PORT}") + ARGS+=("--replicaof" "${REDIS_MASTER_HOST}" "${REDIS_MASTER_PORT_NUMBER}") + ARGS+=("--requirepass" "${REDIS_PASSWORD}") + ARGS+=("--masterauth" "${REDIS_MASTER_PASSWORD}") + ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") + ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf") + exec redis-server "${ARGS[@]}" diff --git a/services/Calckey/deployment-calckey.yaml b/services/Calckey/deployment-calckey.yaml new file mode 100644 index 0000000..0df4e3e --- /dev/null +++ b/services/Calckey/deployment-calckey.yaml @@ -0,0 +1,68 @@ +# Source: calckey/templates/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: calckey + labels: + helm.sh/chart: calckey-0.1.2 + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey + app.kubernetes.io/version: "rc" + app.kubernetes.io/managed-by: Helm +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey + template: + metadata: + annotations: + checksum/secret-config: "fad5c186c2a77a5e28ea2a2b0d1818921d43b93ea6a67def51da8c8f64ba21de" + labels: + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey + spec: + serviceAccountName: calckey + securityContext: + {} + volumes: + - name: config-volume + secret: + secretName: calckey-config + containers: + - name: calckey + securityContext: + {} + image: "docker.io/thatonecalculator/calckey:rc" + imagePullPolicy: IfNotPresent + command: + - pnpm + - run + - start + env: + - name: "NODE_ENV" + value: "production" + volumeMounts: + - name: config-volume + mountPath: /calckey/.config + ports: + - name: http + containerPort: 3000 + protocol: TCP + startupProbe: + httpGet: + path: / + port: http + failureThreshold: 30 + periodSeconds: 10 + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: + {} diff --git a/services/Calckey/ingressroute-calckey.yaml b/services/Calckey/ingressroute-calckey.yaml new file mode 100644 index 0000000..a0a2750 --- /dev/null +++ b/services/Calckey/ingressroute-calckey.yaml @@ -0,0 +1,17 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: calckey + namespace: calckey +spec: + entryPoints: + - websecure + routes: + - match: Host(`rest.itch.fyi`) + kind: Rule + services: + - name: calckey + port: 80 + middlewares: + - name: security-headers@file + - name: compression@file diff --git a/services/Calckey/job-calckey-db-migrate.yaml b/services/Calckey/job-calckey-db-migrate.yaml new file mode 100644 index 0000000..bbd7b3f --- /dev/null +++ b/services/Calckey/job-calckey-db-migrate.yaml @@ -0,0 +1,44 @@ +# Source: calckey/templates/job-db-migrate.yaml +apiVersion: batch/v1 +kind: Job +metadata: + name: calckey-db-migrate + labels: + helm.sh/chart: calckey-0.1.2 + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey + app.kubernetes.io/version: "rc" + app.kubernetes.io/managed-by: Helm + annotations: + "helm.sh/hook": post-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + "helm.sh/hook-weight": "-2" +spec: + template: + metadata: + name: calckey-db-migrate + spec: + restartPolicy: Never + serviceAccountName: calckey + securityContext: + {} + volumes: + - name: config-volume + secret: + secretName: calckey-config + containers: + - name: calckey + securityContext: + {} + image: "docker.io/thatonecalculator/calckey:rc" + imagePullPolicy: IfNotPresent + command: + - pnpm + - run + - migrate + env: + - name: "NODE_ENV" + value: "production" + volumeMounts: + - name: config-volume + mountPath: /calckey/.config diff --git a/services/Calckey/pod-calckey-test-connection.yaml b/services/Calckey/pod-calckey-test-connection.yaml new file mode 100644 index 0000000..bb27bdc --- /dev/null +++ b/services/Calckey/pod-calckey-test-connection.yaml @@ -0,0 +1,20 @@ +# Source: calckey/templates/tests/test-connection.yaml +apiVersion: v1 +kind: Pod +metadata: + name: "calckey-test-connection" + labels: + helm.sh/chart: calckey-0.1.2 + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey + app.kubernetes.io/version: "rc" + app.kubernetes.io/managed-by: Helm + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget'] + args: ['calckey:80'] + restartPolicy: Never diff --git a/services/Calckey/sealedsecret-calckey-config.yaml b/services/Calckey/sealedsecret-calckey-config.yaml new file mode 100644 index 0000000..2da8dd3 --- /dev/null +++ b/services/Calckey/sealedsecret-calckey-config.yaml @@ -0,0 +1,21 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: calckey-config + namespace: default +spec: + encryptedData: + default.yml: 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 + template: + metadata: + creationTimestamp: null + labels: + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: calckey + app.kubernetes.io/version: rc + helm.sh/chart: calckey-0.1.2 + name: calckey-config + namespace: default + type: Opaque diff --git a/services/Calckey/sealedsecret-calckey-postgresql.yaml b/services/Calckey/sealedsecret-calckey-postgresql.yaml new file mode 100644 index 0000000..29b3c63 --- /dev/null +++ b/services/Calckey/sealedsecret-calckey-postgresql.yaml @@ -0,0 +1,21 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: calckey-postgresql + namespace: default +spec: + encryptedData: + password: AgCPBAQc6EkNlgJWK2+RXluS/AKwbAo40YSfmAj0xOcG5P3JF8rGQpftUJygMsLoad+wcvp2z50s0IOSIZrBNsXhtUX1svnEadTK8eANXGdU/GB+K3hzl1HdR8yy5fFzQVKt5fa77lEjCqrnbZXoLunTMODgCsaq+DitbeuUB000cWjHPwSpBOICM0gRbSHRfN5nA3PR4oNMyN++HfUN1cN2N4ClF5d59lXcYMM4nqhDkm7paQMDdwah4o5tZCYaIfif7jZc5ODTRjrsokkdJP4d5/rAlwcjus9wiBNx9BTwj1RGW/UAKaMaZ+iUVE4dfYI40Q6YmheEpv/gb6FMTeEy6rsWB8GN39V6CCrDGpwPu4dl7ecmYxE53CpEc29EYIGPufaS7ajSYFXTOIYJf7vZKTA/NYy30P43sJczRzLFK4JLjfVghrtPBcvAogqU1ShA8UShZ1ukmqFYCEmT1E2Mf2oGLtyJm4jXRaFN7mPYhSnJamfzyDTCD1Bt6Ds/w4N2sTfP78UzJMK8EeFttRaMIRJulV9ZnxMozup8M07tVOKewQze+ieEnDd020D/RrjPr2velDuwyzr4bdxBYK1ZDczc52wd5Q15XYCZ/mXU9Hj8n6HyA7+JEhWr5QHkBjdWhiARFsAJH9p6kXwll6IGurWB0J4Xlg7VQzF7xwnosK5nbLApymhT/fHSiL20MV2PAADTOPxztq2gO7baa4CCDYGEreMB0STx/Sj9J26l8A== + postgres-password: AgCqBGTE0FzeJYf8zGhx+SsDq1t563++64x1blUiGg12tB7GF8U27zHy0oY99gza2P5Dy0e/ta2ILkkcuA+uqtqnYfKgfTL4Py5j2TdFJqvy45LYaxfALCni8IrLoLhtN3c4iPyA8GZn77emwqIXB4JJ/Naz6oRG5aWhj7GkZNm5X++LOxTKyNM7G437YH3fyluCwvCczefMc+2Efa9zkqBpwFoGz9SgqP1DeFBlDo4q/DGcm52BtInE2iNxJ2OSE25UcAC+md/z/6WXJvQohkZvHRyWqSnuBm4jICFDgrNGy9S8TVg9z5PpT80XPV8SWRRM0MeOyS6nwL/pmIkhS1miGpv+VzadPD9Ic4mzMKp8/x8wtErgT+3zjwVUDU8SSt3J4kaCCeMuEi9Q2+lp2f3nLKIFkGN9o7Slkj/0lOSPFtdpWO8jFrOZlXoZkXnDaD6QPo0t10VFjWCr5bvImivfxAzzvDH2833FHuG8YcYp8TBla9/ZKPbhDpFjdbzoILmX2qpczx1/T4o2s4ND497xnJ5N+DOnu3peEqqDPnhqn9Jgfec+C9x4vOIhf6WgrBFPsIVtle4F3NZkXtKSS2Niq819SPmEZghb6XNz3OjBulQewGX70AKXYhiBI5Qv800B55Bl45mn6PEDluzgd0XaVKAjq0k7tLjiXnNXDxLKoVE9zdunuMfpiO3uaKKkI5L1rv++PfEVQk052jShfhP4df1a+VR+8z5trEuIiL5B/g== + template: + metadata: + creationTimestamp: null + labels: + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-11.1.3 + name: calckey-postgresql + namespace: default + type: Opaque diff --git a/services/Calckey/sealedsecret-calckey-redis.yaml b/services/Calckey/sealedsecret-calckey-redis.yaml new file mode 100644 index 0000000..652c325 --- /dev/null +++ b/services/Calckey/sealedsecret-calckey-redis.yaml @@ -0,0 +1,20 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: calckey-redis + namespace: default +spec: + encryptedData: + redis-password: AgALj5kkS+4PMDMO1RAC8E2Vzzexhm/vyfatlw4BpQAAa4KOyVztDQkX+YaaDMve944/feKArH6L80ndighgrjxLiNHDh3/da/XLmB+27hr8994qvE4xy0YQzCo/2D5hOMDOHdTTmDnsqoIoY1Ly1GGiDBKPplXwgLW9Nw0m7JKHWEurlrYRrISmy5pdngwiXoX1UTa0DbyPxZt3IsbernaX1bPZ2si8ebxftKWv/+V2kyH5i5cIDh6XjU7chT7nX0QDXmQpJ2ebUdCqc7EbAwsxZwEO0348m71OW+DJsDh3gFOYs+bgFiPuH/tow4qccXbTOUHObpB85Hq5iDPIeWJhi3nFjxmeJ49rRnt1hSpGQT+W7Vc/IdXqapehtrTPVKABM4lo88Evqz09wbm+JViIC1LLE9u5tT1wNNPDbvOjl1m8hPNj7CslGoXUqv1sa67ZZueVp4Jn3WnhBJaCzXSVj2bMPH5xMX/G6TAJF76gDHhhxMHdh/61k2hIg3LWYElV4fkU8DrSznicPxg48w+Z+6EqMwlhQhAdlrX3snTuV3/tKxjjix8PVCMXDT3rZtmaQXrFA0xKg4QnebNF81j/AjD3OS/LwGcCN0+HAVqwkbscgxOkGvcrfyDjm8p1TQYgUajqqqqhyLSwrUES2K3MYlRwFHrLG8Dix6oLnfx5ao3kDO4D6lhUxLTnXLtrMpox1aJlv0BNmfKDQz8/qNjP5NhYH6qcpBhvEOOODv2APA== + template: + metadata: + creationTimestamp: null + labels: + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + name: calckey-redis + namespace: default + type: Opaque diff --git a/services/Calckey/service-calckey-postgresql-hl.yaml b/services/Calckey/service-calckey-postgresql-hl.yaml new file mode 100644 index 0000000..bb80eff --- /dev/null +++ b/services/Calckey/service-calckey-postgresql-hl.yaml @@ -0,0 +1,32 @@ +# Source: calckey/charts/postgresql/templates/primary/svc-headless.yaml +apiVersion: v1 +kind: Service +metadata: + name: calckey-postgresql-hl + namespace: default + labels: + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-11.1.3 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: primary + # Use this annotation in addition to the actual publishNotReadyAddresses + # field below because the annotation will stop being respected soon but the + # field is broken in some versions of Kubernetes: + # https://github.com/kubernetes/kubernetes/issues/58662 + service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" +spec: + type: ClusterIP + clusterIP: None + # We want all pods in the StatefulSet to have their addresses published for + # the sake of the other Postgresql pods even before they're ready, since they + # have to be able to talk to each other in order to become ready. + publishNotReadyAddresses: true + ports: + - name: tcp-postgresql + port: 5432 + targetPort: tcp-postgresql + selector: + app.kubernetes.io/name: postgresql + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: primary diff --git a/services/Calckey/service-calckey-postgresql.yaml b/services/Calckey/service-calckey-postgresql.yaml new file mode 100644 index 0000000..0ae4b3d --- /dev/null +++ b/services/Calckey/service-calckey-postgresql.yaml @@ -0,0 +1,24 @@ +# Source: calckey/charts/postgresql/templates/primary/svc.yaml +apiVersion: v1 +kind: Service +metadata: + name: calckey-postgresql + namespace: default + labels: + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-11.1.3 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: primary + annotations: +spec: + type: ClusterIP + ports: + - name: tcp-postgresql + port: 5432 + targetPort: tcp-postgresql + nodePort: null + selector: + app.kubernetes.io/name: postgresql + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: primary diff --git a/services/Calckey/service-calckey-redis-headless.yaml b/services/Calckey/service-calckey-redis-headless.yaml new file mode 100644 index 0000000..b913e33 --- /dev/null +++ b/services/Calckey/service-calckey-redis-headless.yaml @@ -0,0 +1,23 @@ +# Source: calckey/charts/redis/templates/headless-svc.yaml +apiVersion: v1 +kind: Service +metadata: + name: calckey-redis-headless + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + annotations: + +spec: + type: ClusterIP + clusterIP: None + ports: + - name: tcp-redis + port: 6379 + targetPort: redis + selector: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey diff --git a/services/Calckey/service-calckey-redis-master.yaml b/services/Calckey/service-calckey-redis-master.yaml new file mode 100644 index 0000000..43f4c53 --- /dev/null +++ b/services/Calckey/service-calckey-redis-master.yaml @@ -0,0 +1,25 @@ +# Source: calckey/charts/redis/templates/master/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: calckey-redis-master + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: master +spec: + type: ClusterIP + internalTrafficPolicy: Cluster + sessionAffinity: None + ports: + - name: tcp-redis + port: 6379 + targetPort: redis + nodePort: null + selector: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: master diff --git a/services/Calckey/service-calckey-redis-replicas.yaml b/services/Calckey/service-calckey-redis-replicas.yaml new file mode 100644 index 0000000..2c94b9c --- /dev/null +++ b/services/Calckey/service-calckey-redis-replicas.yaml @@ -0,0 +1,25 @@ +# Source: calckey/charts/redis/templates/replicas/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: calckey-redis-replicas + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: replica +spec: + type: ClusterIP + internalTrafficPolicy: Cluster + sessionAffinity: None + ports: + - name: tcp-redis + port: 6379 + targetPort: redis + nodePort: null + selector: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: replica diff --git a/services/Calckey/service-calckey.yaml b/services/Calckey/service-calckey.yaml new file mode 100644 index 0000000..ae640eb --- /dev/null +++ b/services/Calckey/service-calckey.yaml @@ -0,0 +1,21 @@ +# Source: calckey/templates/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: calckey + labels: + helm.sh/chart: calckey-0.1.2 + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey + app.kubernetes.io/version: "rc" + app.kubernetes.io/managed-by: Helm +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: http + protocol: TCP + name: http + selector: + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey diff --git a/services/Calckey/serviceaccount-calckey-redis.yaml b/services/Calckey/serviceaccount-calckey-redis.yaml new file mode 100644 index 0000000..b8e428e --- /dev/null +++ b/services/Calckey/serviceaccount-calckey-redis.yaml @@ -0,0 +1,12 @@ +# Source: calckey/charts/redis/templates/serviceaccount.yaml +apiVersion: v1 +kind: ServiceAccount +automountServiceAccountToken: true +metadata: + name: calckey-redis + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm diff --git a/services/Calckey/serviceaccount-calckey.yaml b/services/Calckey/serviceaccount-calckey.yaml new file mode 100644 index 0000000..9ec72bf --- /dev/null +++ b/services/Calckey/serviceaccount-calckey.yaml @@ -0,0 +1,11 @@ +# Source: calckey/templates/serviceaccount.yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: calckey + labels: + helm.sh/chart: calckey-0.1.2 + app.kubernetes.io/name: calckey + app.kubernetes.io/instance: calckey + app.kubernetes.io/version: "rc" + app.kubernetes.io/managed-by: Helm diff --git a/services/Calckey/statefulset-calckey-postgresql.yaml b/services/Calckey/statefulset-calckey-postgresql.yaml new file mode 100644 index 0000000..d4dc77a --- /dev/null +++ b/services/Calckey/statefulset-calckey-postgresql.yaml @@ -0,0 +1,165 @@ +# Source: calckey/charts/postgresql/templates/primary/statefulset.yaml +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: calckey-postgresql + namespace: default + labels: + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-11.1.3 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: primary + annotations: +spec: + replicas: 1 + serviceName: calckey-postgresql-hl + updateStrategy: + rollingUpdate: {} + type: RollingUpdate + selector: + matchLabels: + app.kubernetes.io/name: postgresql + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: primary + template: + metadata: + name: calckey-postgresql + labels: + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-11.1.3 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: primary + annotations: + spec: + serviceAccountName: default + + affinity: + podAffinity: + + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: postgresql + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: primary + namespaces: + - "default" + topologyKey: kubernetes.io/hostname + weight: 1 + nodeAffinity: + + securityContext: + fsGroup: 1001 + hostNetwork: false + hostIPC: false + initContainers: + containers: + - name: postgresql + image: docker.io/bitnami/postgresql:14.2.0-debian-10-r14 + imagePullPolicy: "IfNotPresent" + securityContext: + runAsUser: 1001 + env: + - name: BITNAMI_DEBUG + value: "false" + - name: POSTGRESQL_PORT_NUMBER + value: "5432" + - name: POSTGRESQL_VOLUME_DIR + value: "/bitnami/postgresql" + - name: PGDATA + value: "/bitnami/postgresql/data" + # Authentication + - name: POSTGRES_USER + value: "calckey" + - name: POSTGRES_POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: calckey-postgresql + key: postgres-password + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: calckey-postgresql + key: password + - name: POSTGRES_DB + value: "calckey_production" + # Replication + # Initdb + # Standby + # LDAP + - name: POSTGRESQL_ENABLE_LDAP + value: "no" + # TLS + - name: POSTGRESQL_ENABLE_TLS + value: "no" + # Audit + - name: POSTGRESQL_LOG_HOSTNAME + value: "false" + - name: POSTGRESQL_LOG_CONNECTIONS + value: "false" + - name: POSTGRESQL_LOG_DISCONNECTIONS + value: "false" + - name: POSTGRESQL_PGAUDIT_LOG_CATALOG + value: "off" + # Others + - name: POSTGRESQL_CLIENT_MIN_MESSAGES + value: "error" + - name: POSTGRESQL_SHARED_PRELOAD_LIBRARIES + value: "pgaudit" + ports: + - name: tcp-postgresql + containerPort: 5432 + livenessProbe: + failureThreshold: 6 + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + exec: + command: + - /bin/sh + - -c + - exec pg_isready -U "calckey" -d "dbname=calckey_production" -h 127.0.0.1 -p 5432 + readinessProbe: + failureThreshold: 6 + initialDelaySeconds: 5 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + exec: + command: + - /bin/sh + - -c + - -e + + - | + exec pg_isready -U "calckey" -d "dbname=calckey_production" -h 127.0.0.1 -p 5432 + [ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ] + resources: + limits: {} + requests: + cpu: 250m + memory: 256Mi + volumeMounts: + - name: dshm + mountPath: /dev/shm + - name: data + mountPath: /bitnami/postgresql + volumes: + - name: dshm + emptyDir: + medium: Memory + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: "25Gi" + storageClassName: longhorn diff --git a/services/Calckey/statefulset-calckey-redis-master.yaml b/services/Calckey/statefulset-calckey-redis-master.yaml new file mode 100644 index 0000000..603287a --- /dev/null +++ b/services/Calckey/statefulset-calckey-redis-master.yaml @@ -0,0 +1,158 @@ +# Source: calckey/charts/redis/templates/master/application.yaml +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: calckey-redis-master + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: master +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: master + serviceName: calckey-redis-headless + updateStrategy: + rollingUpdate: {} + type: RollingUpdate + template: + metadata: + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: master + annotations: + checksum/configmap: 704277d4ad2a6b119bddb0231d8e367729adc7969d2cf18690f74d9f4fcc1002 + checksum/health: 5bce17c7b4d3099300dec41326b077bb3e748d146175eb1d7e078f3768ebfe41 + checksum/scripts: 6b7dad2abd637e7811a0dc9e66ebd8217bfcd41606216ff69782a5bd044c4cd3 + checksum/secret: c636eaa1a6b4db1149e57a7f5ac501956a8e872ece7921014fb33593394734ab + spec: + + securityContext: + fsGroup: 1001 + serviceAccountName: calckey-redis + affinity: + podAffinity: + + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: master + namespaces: + - "default" + topologyKey: kubernetes.io/hostname + weight: 1 + nodeAffinity: + + terminationGracePeriodSeconds: 30 + containers: + - name: redis + image: docker.io/bitnami/redis:6.2.7-debian-11-r11 + imagePullPolicy: "IfNotPresent" + securityContext: + runAsUser: 1001 + command: + - /bin/bash + args: + - -c + - /opt/bitnami/scripts/start-scripts/start-master.sh + env: + - name: BITNAMI_DEBUG + value: "false" + - name: REDIS_REPLICATION_MODE + value: master + - name: ALLOW_EMPTY_PASSWORD + value: "no" + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: calckey-redis + key: redis-password + - name: REDIS_TLS_ENABLED + value: "no" + - name: REDIS_PORT + value: "6379" + ports: + - name: redis + containerPort: 6379 + livenessProbe: + initialDelaySeconds: 20 + periodSeconds: 5 + # One second longer than command timeout should prevent generation of zombie processes. + timeoutSeconds: 6 + successThreshold: 1 + failureThreshold: 5 + exec: + command: + - sh + - -c + - /health/ping_liveness_local.sh 5 + readinessProbe: + initialDelaySeconds: 20 + periodSeconds: 5 + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 5 + exec: + command: + - sh + - -c + - /health/ping_readiness_local.sh 1 + resources: + limits: {} + requests: {} + volumeMounts: + - name: start-scripts + mountPath: /opt/bitnami/scripts/start-scripts + - name: health + mountPath: /health + - name: redis-data + mountPath: /data + subPath: + - name: config + mountPath: /opt/bitnami/redis/mounted-etc + - name: redis-tmp-conf + mountPath: /opt/bitnami/redis/etc/ + - name: tmp + mountPath: /tmp + volumes: + - name: start-scripts + configMap: + name: calckey-redis-scripts + defaultMode: 0755 + - name: health + configMap: + name: calckey-redis-health + defaultMode: 0755 + - name: config + configMap: + name: calckey-redis-configuration + - name: redis-tmp-conf + emptyDir: {} + - name: tmp + emptyDir: {} + volumeClaimTemplates: + - metadata: + name: redis-data + labels: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: master + spec: + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: "10Gi" diff --git a/services/Calckey/statefulset-calckey-redis-replicas.yaml b/services/Calckey/statefulset-calckey-redis-replicas.yaml new file mode 100644 index 0000000..87bc8e3 --- /dev/null +++ b/services/Calckey/statefulset-calckey-redis-replicas.yaml @@ -0,0 +1,170 @@ +# Source: calckey/charts/redis/templates/replicas/statefulset.yaml +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: calckey-redis-replicas + namespace: "default" + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: replica +spec: + replicas: 0 + selector: + matchLabels: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: replica + serviceName: calckey-redis-headless + updateStrategy: + rollingUpdate: {} + type: RollingUpdate + template: + metadata: + labels: + app.kubernetes.io/name: redis + helm.sh/chart: redis-16.13.2 + app.kubernetes.io/instance: calckey + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/component: replica + annotations: + checksum/configmap: 704277d4ad2a6b119bddb0231d8e367729adc7969d2cf18690f74d9f4fcc1002 + checksum/health: 5bce17c7b4d3099300dec41326b077bb3e748d146175eb1d7e078f3768ebfe41 + checksum/scripts: 6b7dad2abd637e7811a0dc9e66ebd8217bfcd41606216ff69782a5bd044c4cd3 + checksum/secret: c636eaa1a6b4db1149e57a7f5ac501956a8e872ece7921014fb33593394734ab + spec: + + securityContext: + fsGroup: 1001 + serviceAccountName: calckey-redis + affinity: + podAffinity: + + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: replica + namespaces: + - "default" + topologyKey: kubernetes.io/hostname + weight: 1 + nodeAffinity: + + terminationGracePeriodSeconds: 30 + containers: + - name: redis + image: docker.io/bitnami/redis:6.2.7-debian-11-r11 + imagePullPolicy: "IfNotPresent" + securityContext: + runAsUser: 1001 + command: + - /bin/bash + args: + - -c + - /opt/bitnami/scripts/start-scripts/start-replica.sh + env: + - name: BITNAMI_DEBUG + value: "false" + - name: REDIS_REPLICATION_MODE + value: slave + - name: REDIS_MASTER_HOST + value: calckey-redis-master-0.calckey-redis-headless.default.svc.cluster.local + - name: REDIS_MASTER_PORT_NUMBER + value: "6379" + - name: ALLOW_EMPTY_PASSWORD + value: "no" + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: calckey-redis + key: redis-password + - name: REDIS_MASTER_PASSWORD + valueFrom: + secretKeyRef: + name: calckey-redis + key: redis-password + - name: REDIS_TLS_ENABLED + value: "no" + - name: REDIS_PORT + value: "6379" + ports: + - name: redis + containerPort: 6379 + startupProbe: + failureThreshold: 22 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + tcpSocket: + port: redis + livenessProbe: + initialDelaySeconds: 20 + periodSeconds: 5 + timeoutSeconds: 6 + successThreshold: 1 + failureThreshold: 5 + exec: + command: + - sh + - -c + - /health/ping_liveness_local_and_master.sh 5 + readinessProbe: + initialDelaySeconds: 20 + periodSeconds: 5 + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 5 + exec: + command: + - sh + - -c + - /health/ping_readiness_local_and_master.sh 1 + resources: + limits: {} + requests: {} + volumeMounts: + - name: start-scripts + mountPath: /opt/bitnami/scripts/start-scripts + - name: health + mountPath: /health + - name: redis-data + mountPath: /data + subPath: + - name: config + mountPath: /opt/bitnami/redis/mounted-etc + - name: redis-tmp-conf + mountPath: /opt/bitnami/redis/etc + volumes: + - name: start-scripts + configMap: + name: calckey-redis-scripts + defaultMode: 0755 + - name: health + configMap: + name: calckey-redis-health + defaultMode: 0755 + - name: config + configMap: + name: calckey-redis-configuration + - name: redis-tmp-conf + emptyDir: {} + volumeClaimTemplates: + - metadata: + name: redis-data + labels: + app.kubernetes.io/name: redis + app.kubernetes.io/instance: calckey + app.kubernetes.io/component: replica + spec: + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: "8Gi" diff --git a/services/Mastodon/_namespace-mastodon.yml b/services/_archived/Mastodon/_namespace-mastodon.yml similarity index 100% rename from services/Mastodon/_namespace-mastodon.yml rename to services/_archived/Mastodon/_namespace-mastodon.yml diff --git a/services/Mastodon/configMap-Mastodon.yml b/services/_archived/Mastodon/configMap-Mastodon.yml similarity index 100% rename from services/Mastodon/configMap-Mastodon.yml rename to services/_archived/Mastodon/configMap-Mastodon.yml diff --git a/services/Mastodon/deployment-mastodon.yaml b/services/_archived/Mastodon/deployment-mastodon.yaml similarity index 100% rename from services/Mastodon/deployment-mastodon.yaml rename to services/_archived/Mastodon/deployment-mastodon.yaml diff --git a/services/Mastodon/ingressroute-mastodon.yaml b/services/_archived/Mastodon/ingressroute-mastodon.yaml similarity index 100% rename from services/Mastodon/ingressroute-mastodon.yaml rename to services/_archived/Mastodon/ingressroute-mastodon.yaml diff --git a/services/Mastodon/persistentvolume-flexvolsmb-mastodon-db.yaml b/services/_archived/Mastodon/persistentvolume-flexvolsmb-mastodon-db.yaml similarity index 100% rename from services/Mastodon/persistentvolume-flexvolsmb-mastodon-db.yaml rename to services/_archived/Mastodon/persistentvolume-flexvolsmb-mastodon-db.yaml diff --git a/services/Mastodon/persistentvolume-flexvolsmb-mastodon-redis.yaml b/services/_archived/Mastodon/persistentvolume-flexvolsmb-mastodon-redis.yaml similarity index 100% rename from services/Mastodon/persistentvolume-flexvolsmb-mastodon-redis.yaml rename to services/_archived/Mastodon/persistentvolume-flexvolsmb-mastodon-redis.yaml diff --git a/services/Mastodon/persistentvolume-flexvolsmb-mastodon-system.yaml b/services/_archived/Mastodon/persistentvolume-flexvolsmb-mastodon-system.yaml similarity index 100% rename from services/Mastodon/persistentvolume-flexvolsmb-mastodon-system.yaml rename to services/_archived/Mastodon/persistentvolume-flexvolsmb-mastodon-system.yaml diff --git a/services/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-db.yaml b/services/_archived/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-db.yaml similarity index 100% rename from services/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-db.yaml rename to services/_archived/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-db.yaml diff --git a/services/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-redis.yaml b/services/_archived/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-redis.yaml similarity index 100% rename from services/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-redis.yaml rename to services/_archived/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-redis.yaml diff --git a/services/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-system.yaml b/services/_archived/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-system.yaml similarity index 100% rename from services/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-system.yaml rename to services/_archived/Mastodon/persistentvolumeclaim-flexvolsmb-mastodon-system.yaml diff --git a/services/Mastodon/sealedsecret-secret-mastodon.yaml b/services/_archived/Mastodon/sealedsecret-secret-mastodon.yaml similarity index 100% rename from services/Mastodon/sealedsecret-secret-mastodon.yaml rename to services/_archived/Mastodon/sealedsecret-secret-mastodon.yaml diff --git a/services/Mastodon/sealedsecret-smb-secret.yaml b/services/_archived/Mastodon/sealedsecret-smb-secret.yaml similarity index 100% rename from services/Mastodon/sealedsecret-smb-secret.yaml rename to services/_archived/Mastodon/sealedsecret-smb-secret.yaml diff --git a/services/Mastodon/service-mastodon.yaml b/services/_archived/Mastodon/service-mastodon.yaml similarity index 100% rename from services/Mastodon/service-mastodon.yaml rename to services/_archived/Mastodon/service-mastodon.yaml