From 9d9a2a2350c402a106c28b2e6080d75d2d91b815 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 17:51:24 -0500 Subject: [PATCH 01/11] feat((squadquest-supabase): add helm chart --- .../squadquest-supabase/helm-chart.toml | 11 ++++ .holo/lenses/squadquest-supabase.toml | 19 +++++++ .holo/sources/supabase.toml | 3 + squadquest-supabase/release-values.yaml | 57 +++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 .holo/branches/k8s-manifests/squadquest-supabase/helm-chart.toml create mode 100644 .holo/lenses/squadquest-supabase.toml create mode 100644 .holo/sources/supabase.toml create mode 100644 squadquest-supabase/release-values.yaml diff --git a/.holo/branches/k8s-manifests/squadquest-supabase/helm-chart.toml b/.holo/branches/k8s-manifests/squadquest-supabase/helm-chart.toml new file mode 100644 index 0000000..8afa560 --- /dev/null +++ b/.holo/branches/k8s-manifests/squadquest-supabase/helm-chart.toml @@ -0,0 +1,11 @@ +[holomapping] +holosource = "supabase" +root = "charts/supabase" +files = [ + "**", + "!ci/**", + "!docker/**", + "!**/.DS_Store", + "README.md", + "values.example.yaml" +] diff --git a/.holo/lenses/squadquest-supabase.toml b/.holo/lenses/squadquest-supabase.toml new file mode 100644 index 0000000..2910097 --- /dev/null +++ b/.holo/lenses/squadquest-supabase.toml @@ -0,0 +1,19 @@ +[hololens] +package = "holo/lens-helm3/1.22" + +[hololens.input] +root = "squadquest-supabase" +files = "**" + +[hololens.output] +merge = "replace" + +[hololens.helm] +namespace = "squadquest-supabase" +release_name = "squadquest-supabase" +namespace_fill = true + +chart_path = "helm-chart" +value_files = [ + "release-values.yaml" +] diff --git a/.holo/sources/supabase.toml b/.holo/sources/supabase.toml new file mode 100644 index 0000000..24c485f --- /dev/null +++ b/.holo/sources/supabase.toml @@ -0,0 +1,3 @@ +[holosource] +url = "https://github.com/supabase-community/supabase-kubernetes" +ref = "refs/heads/main" diff --git a/squadquest-supabase/release-values.yaml b/squadquest-supabase/release-values.yaml new file mode 100644 index 0000000..b245eef --- /dev/null +++ b/squadquest-supabase/release-values.yaml @@ -0,0 +1,57 @@ +# See: https://github.com/supabase-community/supabase-kubernetes/blob/main/charts/supabase/values.yaml + +db: + enabled: true + image: + tag: 15.6.1.143 + livenessProbe: + exec: + command: + - pg_isready + - -U + - postgres + initialDelaySeconds: 3 + +studio: + image: + tag: 20241111-d7c6eb1 + +auth: + image: + tag: v2.164.0 + +rest: + image: + tag: v12.2.3 + +realtime: + image: + tag: v2.33.61 + +meta: + image: + tag: v0.84.3 + +storage: + image: + tag: v1.13.3 + +imgproxy: + image: + tag: v3 + +kong: + image: + tag: 2.8.5 + +analytics: + image: + tag: 1.10.0 + +vector: + image: + tag: 0.42.X-alpine + +functions: + image: + tag: v1.65.3 From 685b52fa71278a68ab5159d7feecaeea51830d57 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 18:16:26 -0500 Subject: [PATCH 02/11] feat(squadquest-supabase): configure Linode storage backend --- squadquest-supabase.secrets/linode-storage.yaml | 17 +++++++++++++++++ squadquest-supabase/release-values.yaml | 9 +++++++++ 2 files changed, 26 insertions(+) create mode 100644 squadquest-supabase.secrets/linode-storage.yaml diff --git a/squadquest-supabase.secrets/linode-storage.yaml b/squadquest-supabase.secrets/linode-storage.yaml new file mode 100644 index 0000000..6252254 --- /dev/null +++ b/squadquest-supabase.secrets/linode-storage.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: linode-storage + namespace: code-for-philly +spec: + encryptedData: + accessKey: AgAGvQizwgUfVI1SaWRtFqV2MTMttDWBDyAtFUoNmQiYuBKnqCatGXYQb73E//ACYKIuD6We4a9eP9d7yJOx3Xw5i95KRy4b2hOzFdKFTG2BD6RCW3VnwVmIMqQSUx6AxjMDLEWPXDE08aTFXnOnN093UE6bYZOa7ijHQMVoXXo3ba7BauQ7+27yiDTW0rgczP1ggfxRQW1VVdXjNw0KLPcYGATyX25vT5pUkrzXc7xJ1GJQlVyz5aI47AN5CtMa9Yrbexg1O2C9dyzcCVM+ifAlOZCvv085vjS3JkrcocKzaatpdSIrtDuGTvxDR4AbqVHfhV4J2vBm5TPDHTTAVPSrDKbSTxtnSYwXvLB56jjRPncpUV78NPwc51pHdzxFzAWpi3tFtvNNEXj/2mLIADwLrB2jpE//RZVRmWYsvJbJ2WnSqyNGmipYOordH6TeT4Ev/Q+QoxwD7UpmxEwE5uUkHGf974v6S5UqgnhqjQYVsAylxBy+lipK/qocvjH17NXao3Coci4AYwMutRwEU52DOB8bRuKXPsNEy+aeiYNahR+StforPSvl3WRML5sk3OCtq5ZMiy/Qxs8DsQzE4QrMmyi1pSaghuHyaL3I0CqBoo5pcd/1kbOtwXDFv0CPD0GTu9zEwLUdbvaQldAAgJRNU00oqRroSYhulIiKFk5YDk3ew9d65UlWfdcpbwWVDGuvJifhnbo5OOHkSNE96oHiAyU7sdK8uA5K7N1XxpOWKBOKrNKRrTI9 + keyId: AgCcAWi3TRu6oK+fB4nKJ6lHWFopOIfqbcCvXBfdpQPTn9wrN7rDMq46p1tIycT0dSMuYw+LvuPvspL6Qi4ivUBfGYOKNSDT+AdGypgfEtt3EcjQ5GfXr3NrnZnCMC7Lg+jgoYSwD3oPQR3N5jGUnnWJUcbKiQfAmsmWRUrhZWKo93cf6GmumTokA5zDEZeglCX0iOH5iOQJPxqdWsbq+tSvEEnfG4DThC49dcpeNZ7r8+d50drjmQxC3f3dn3vWIvmOosx8l4E6UV8cM5hmpX/WpGrek54v7KS7gQsxB3ELkEILy3vVwHF/9rwB6f64LwRAtiqcpW2UkIvdlpAZIROGljQL4iVaFp9YKmOa9q0thqy0oohFn5/eCpqEef5jsBBXViVJp5b6PL94Kud6uyRzrGuiOnByfvG+eIhoUh5Jz1PTtmKHZ9EzZljpZkQG7xHchJhpsEfoTnVZ1KlgpgcVOxUyw5X86JRmkarclOQTNO/FHbBRDrgGZyvFja6uWoLug+ouMtgUlLLbUdShfUQrVOmA79JTY7NcYwheev2ix0BLP+EwMC4ZfC0QIqCF0wftU1p1DOYiXZ8e6B4sEXxJQOiAWtwLlCmewsyBnsMjkJU7qKHHwSXekBKZ5lyJ9fJE5hCHABE8QLYuKc6Tlta4b1HkfOFAENeccHrM+flrfQvLMrK5Sw2ok/qUqygVekgWsELDiV++We99MtIVkJ3pN5hTxQ== + template: + metadata: + creationTimestamp: null + name: linode-storage + namespace: code-for-philly + type: Opaque diff --git a/squadquest-supabase/release-values.yaml b/squadquest-supabase/release-values.yaml index b245eef..e14a4e0 100644 --- a/squadquest-supabase/release-values.yaml +++ b/squadquest-supabase/release-values.yaml @@ -1,5 +1,9 @@ # See: https://github.com/supabase-community/supabase-kubernetes/blob/main/charts/supabase/values.yaml +secret: + s3: + secretRef: linode-storage + db: enabled: true image: @@ -35,6 +39,11 @@ meta: storage: image: tag: v1.13.3 + environment: + STORAGE_BACKEND: s3 + GLOBAL_S3_BUCKET: squadquest-supabase-storage + GLOBAL_S3_ENDPOINT: us-east-1.linodeobjects.com + GLOBAL_S3_PROTOCOL: https imgproxy: image: From 4e7b9ca7c3d006357c9c6e3a4ccc72d180117c7c Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 18:24:03 -0500 Subject: [PATCH 03/11] chore(deps): bump civic-cloud to v1.7.6 --- .holo/sources/civic-cloud.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.holo/sources/civic-cloud.toml b/.holo/sources/civic-cloud.toml index 8de7afc..5e326c9 100644 --- a/.holo/sources/civic-cloud.toml +++ b/.holo/sources/civic-cloud.toml @@ -1,3 +1,3 @@ [holosource] url = "https://github.com/CodeForPhilly/civic-cloud" -ref = "refs/tags/v1.7.5" +ref = "refs/tags/v1.7.6" From a52b216611d056ca70b80024fa68bad1b484ff7e Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 18:25:36 -0500 Subject: [PATCH 04/11] fix(squadquest-supabase): correct namespace on secret --- squadquest-supabase.secrets/linode-storage.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/squadquest-supabase.secrets/linode-storage.yaml b/squadquest-supabase.secrets/linode-storage.yaml index 6252254..bd08328 100644 --- a/squadquest-supabase.secrets/linode-storage.yaml +++ b/squadquest-supabase.secrets/linode-storage.yaml @@ -4,14 +4,14 @@ kind: SealedSecret metadata: creationTimestamp: null name: linode-storage - namespace: code-for-philly + namespace: squadquest-supabase spec: encryptedData: - accessKey: AgAGvQizwgUfVI1SaWRtFqV2MTMttDWBDyAtFUoNmQiYuBKnqCatGXYQb73E//ACYKIuD6We4a9eP9d7yJOx3Xw5i95KRy4b2hOzFdKFTG2BD6RCW3VnwVmIMqQSUx6AxjMDLEWPXDE08aTFXnOnN093UE6bYZOa7ijHQMVoXXo3ba7BauQ7+27yiDTW0rgczP1ggfxRQW1VVdXjNw0KLPcYGATyX25vT5pUkrzXc7xJ1GJQlVyz5aI47AN5CtMa9Yrbexg1O2C9dyzcCVM+ifAlOZCvv085vjS3JkrcocKzaatpdSIrtDuGTvxDR4AbqVHfhV4J2vBm5TPDHTTAVPSrDKbSTxtnSYwXvLB56jjRPncpUV78NPwc51pHdzxFzAWpi3tFtvNNEXj/2mLIADwLrB2jpE//RZVRmWYsvJbJ2WnSqyNGmipYOordH6TeT4Ev/Q+QoxwD7UpmxEwE5uUkHGf974v6S5UqgnhqjQYVsAylxBy+lipK/qocvjH17NXao3Coci4AYwMutRwEU52DOB8bRuKXPsNEy+aeiYNahR+StforPSvl3WRML5sk3OCtq5ZMiy/Qxs8DsQzE4QrMmyi1pSaghuHyaL3I0CqBoo5pcd/1kbOtwXDFv0CPD0GTu9zEwLUdbvaQldAAgJRNU00oqRroSYhulIiKFk5YDk3ew9d65UlWfdcpbwWVDGuvJifhnbo5OOHkSNE96oHiAyU7sdK8uA5K7N1XxpOWKBOKrNKRrTI9 - keyId: AgCcAWi3TRu6oK+fB4nKJ6lHWFopOIfqbcCvXBfdpQPTn9wrN7rDMq46p1tIycT0dSMuYw+LvuPvspL6Qi4ivUBfGYOKNSDT+AdGypgfEtt3EcjQ5GfXr3NrnZnCMC7Lg+jgoYSwD3oPQR3N5jGUnnWJUcbKiQfAmsmWRUrhZWKo93cf6GmumTokA5zDEZeglCX0iOH5iOQJPxqdWsbq+tSvEEnfG4DThC49dcpeNZ7r8+d50drjmQxC3f3dn3vWIvmOosx8l4E6UV8cM5hmpX/WpGrek54v7KS7gQsxB3ELkEILy3vVwHF/9rwB6f64LwRAtiqcpW2UkIvdlpAZIROGljQL4iVaFp9YKmOa9q0thqy0oohFn5/eCpqEef5jsBBXViVJp5b6PL94Kud6uyRzrGuiOnByfvG+eIhoUh5Jz1PTtmKHZ9EzZljpZkQG7xHchJhpsEfoTnVZ1KlgpgcVOxUyw5X86JRmkarclOQTNO/FHbBRDrgGZyvFja6uWoLug+ouMtgUlLLbUdShfUQrVOmA79JTY7NcYwheev2ix0BLP+EwMC4ZfC0QIqCF0wftU1p1DOYiXZ8e6B4sEXxJQOiAWtwLlCmewsyBnsMjkJU7qKHHwSXekBKZ5lyJ9fJE5hCHABE8QLYuKc6Tlta4b1HkfOFAENeccHrM+flrfQvLMrK5Sw2ok/qUqygVekgWsELDiV++We99MtIVkJ3pN5hTxQ== + accessKey: AgA4195agsusz8QcOFtq6HV9336SRkhLAlTfjtj2okIqLEkywCEObpBCqjXWtSZFtQAlxtrUaHtBVXvMj4ELb8dFMzYY/PqqRHIwOxWxmI/b7ycx9Q5avYWpOdPmL5jhYv/H1LZAYPQlFIgX350F8OSeAuCDTbvVip2ejfBbCGwTQW2Dd/dhK5xJf2Jmp9fiF7TScUtC8m7OIV0Ua1cY/v481Bz+X/IcC3fBqTZGiTOlRR3hUZysVc+746cpeTv2M6p6TvrjjKJ+3QuvFEJkXbQNO6p5BR564WU6rFLXtgu4mc6wsRekmNE9ThZ7w0ISLEYoxUnSh5oAD8C+Lu6kmtFZgCJ4fF9ERcQt33TSuSCtVd95b/sl+otP8xuUlVS0nvNtdefQgx05FxFW47HBXCc5ZioC3yGB3Evj/Y52oO2+vz6/PXKb023D7o4kptozLX5FyNdCeqM6UTQJqilMB7el3Xxr95KrNwL086Hyz574CY89d0mvotyuk9iLzBs4w2fsjQpXxBcmbE4kpjXWwQl5KunCChOSUJbZAipCL5wrRa3REH3vO91VX2PHefsKv5odkFhb1oTeQ1mo8R3zHhzYW9mHfnOJxhcndY68YkRqnezplTzmPieCZp24DhBt6ucIupytHtKAJ1FdhdlkHcMicUWnc+UNDX5aEzU9xJisscF+Ep23x2dmRDpFXrFm2cdYCtSnwEzBydr6W+LAthvlIFPKThOOosqomZhc4qZLNoFt7bOe468Z + keyId: AgC4KdEaX7bjblIqygOwBGA5xijraaYERYWWxb6txC5zw096l5f1OnBja0lQbPXO+LtGEq17ox0dOxxy7zqiMw8QmRheJITpIKVWX5NFPCaQmFPrkxletv0c4RSz/k/vpz/yjoqnGGPp7tAH+nivAV0ufpBPZyaLsfyAKcPYsyGIFA2AGjQBkjtALUUEkrWa1OVTJoJfH4+9lFzpgoU81on1nfnMHw/vYGcdHhiaGAP0rAJLJCpolETFOMS0BTOmuptFcYTUdPLNqlISr8EKa79xJUpSGa9s7UrObfKP0V2wW/c5aEN0cuBjSfnnUO42vxd7yQE+iCyLi2m0BRwpWZeuurI0Tkxu+1JpCEJANcewDtO7slOyEGQZqGVL1ANofidQz759PU/yBmtD0z7HCj3rsF3yFpqOHDVSlLaNUYLdvT3dkXMM2YIIP7Lyh7ZJnLDeYpH5iG/xVXzLjuTg8aK/DO02j+UPuUfnB/DDF1BsiKIZvt/2WNawyO1ApObjVi5yDQa5CZCgFkpN/sVA6p7T8JfPNAufXzwEA6+m+SPb/AOnZr8Gk7LRrGPufEnd7cz/aT/lb1IwMCrI+jrXmIj3aK7Yr0vnoBB+AB9WdQDpNuknw5V1NJGV6x8ZirfGBFHBPHXnCD4IoIFzGCUKk6T/nYo9gNbmozaWI0T7AqTCo/XAywJz/hMpW0GsYJCJm+PSKhJCP+LXE5BwCybDKH+PkoCGGA== template: metadata: creationTimestamp: null name: linode-storage - namespace: code-for-philly + namespace: squadquest-supabase type: Opaque From d748fc6e8a4ec97cc627f5dd771c9f23e1afbc51 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 18:39:41 -0500 Subject: [PATCH 05/11] chore(choose-native-plants): pin helm chart source to last deployment before syntax error introduced --- .holo/sources/choose-native-plants.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.holo/sources/choose-native-plants.toml b/.holo/sources/choose-native-plants.toml index dbd489f..8187d0d 100644 --- a/.holo/sources/choose-native-plants.toml +++ b/.holo/sources/choose-native-plants.toml @@ -1,3 +1,3 @@ [holosource] url = "https://github.com/CodeForPhilly/pa-wildflower-selector" -ref = "refs/heads/main" +ref = "1df726b8e13f120fd3c215cf8a785a975a2516a2" From cb218975c834f6afc15a17a6ea2566b71679d55b Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 18:50:45 -0500 Subject: [PATCH 06/11] fix(choose-native-plants): pin chart to v1.1.0 --- .holo/sources/choose-native-plants.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.holo/sources/choose-native-plants.toml b/.holo/sources/choose-native-plants.toml index 8187d0d..0fd88e6 100644 --- a/.holo/sources/choose-native-plants.toml +++ b/.holo/sources/choose-native-plants.toml @@ -1,3 +1,3 @@ [holosource] url = "https://github.com/CodeForPhilly/pa-wildflower-selector" -ref = "1df726b8e13f120fd3c215cf8a785a975a2516a2" +ref = "refs/tags/v1.1.0" From 8fa52b78d969cb4ff189c0701193ef27d0d02e61 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 19:07:36 -0500 Subject: [PATCH 07/11] feat(squadquest-supabase): configure secrets --- squadquest-supabase.secrets/dashboard.yaml | 17 +++++++++++++++++ squadquest-supabase.secrets/jwt.yaml | 18 ++++++++++++++++++ squadquest-supabase.secrets/logflare.yaml | 16 ++++++++++++++++ squadquest-supabase.secrets/postgres.yaml | 18 ++++++++++++++++++ squadquest-supabase.secrets/postmark.yaml | 17 +++++++++++++++++ squadquest-supabase/release-values.yaml | 10 ++++++++++ 6 files changed, 96 insertions(+) create mode 100644 squadquest-supabase.secrets/dashboard.yaml create mode 100644 squadquest-supabase.secrets/jwt.yaml create mode 100644 squadquest-supabase.secrets/logflare.yaml create mode 100644 squadquest-supabase.secrets/postgres.yaml create mode 100644 squadquest-supabase.secrets/postmark.yaml diff --git a/squadquest-supabase.secrets/dashboard.yaml b/squadquest-supabase.secrets/dashboard.yaml new file mode 100644 index 0000000..af44d9a --- /dev/null +++ b/squadquest-supabase.secrets/dashboard.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: dashboard + namespace: squadquest-supabase +spec: + encryptedData: + password: AgBzC3T0anZfXLw99/Wyeq3D4tJgX7JPzUGHXopfnEKJnZHIZ+gVeNIbvdAIzKSi7B5A9ZwDyErglLo6abKR4fsB2NUdHBjb+VsNNwS+ldg6mkZ9N8i+r7JSzJXsK7ctUFPNvgfZ8o5RepePfFhxBBY3l3sR+PrOYK+P0TBu2o5gFixWC+9mrv6npcrKQROVMC7Dg2+y9LB2+q/eHMSxpDeM7d5x2eeR0hs6Vwa4+GuAcPOkYpmbaMYK+bvaqV+doVr4/pQ608fo3sm32bbnXInkf2kfO/6QNRqTM/dLVg+neTxgEJL4ZTl8UgkX/cqGUFN4W9n+oV+OII+cRM8Wu1RwKJUTtvC8V8TuvsJJ8OLelpSu7w5WpB61GtaHZqU//fk/Dnf4UMWRT8Mfu+dkmhl4gusNaNnVi+tujAgf2zh/Z4ETFTN/ZQJrJ/dzlXoOcAm0FyF0BvjJSWLK10LuaIIi/eamLrHEGZA19CXqKeO3GpUjiCqe342RA43Nw9dsIbtvLSkUJi9ylTZ99Bv415h6HY4OS4ohS9LoKVZyhltukfnMH31iNcwa3EjtOkXO+zosTmlYPKod6j1BsvLq+0Kno8NSBV+9rlo6O8KtBk7nV+nrJtgeeu5d/4kp2AEbwxQGMSMPgNDpkDmrX/s2a7+HWi1Oe8SCpxzHH86dSwil8mhHcgBcVRRk272RzvSM5u8Ue7R4TPZDpwjC0sCgmDyLoBtX2Os5lw16u7w6v/UGEw== + username: AgC1mVSU4R+TgcjnN8372+P702xKxZt1ITZFIlBPQrJrE7DruNIpRX2JwJhF6+LjVlmj1v7nrYvkjfUDGpYxmN9oBRMXuB+jWOeLW/LRqlSvOogsWJRHoGuxTg/B7JPJ7FFTmnGoeOj+DNjVcKoLa6tBtoAV2fuufloXSba9LEbixDOx9CXCDsBMdPFYJhBEav0eCPrLttDBTtstywJSRFfRDYZE49bVw9IM+aJpGQWhzigohLlLoeC/GUL9+y+najaxh8zciUDt2A7peYcJgKFihWpk9cPtkOXJnArAMIGu74WGW8q9rJjnWtZxcmNMSm6ttuKsi3cfKINgdMBapVX18G6XllMXYvnB9XRVYHdCtyRA7PYtY3csecxXqao+rzY1OelpZFpgDIbzde2HhC212rNi4BLoUo4rVdkiWgy/dHI88ujjIyPbw4R5XndQXOkx6+Npp31nM/UzB7EFo1c8S0s1yZlb42rLXyWoXeUmjLxtMTIG7RjIej1iz3n/lc0lYTF/tzxrO5ZbpvCL2MOmD/wVcbClz8js63Ttzc1DlZPzxFQrqurD10Vr2QDx0/Dd3l6QkqrWYWHVY6O2wj/rJwP//jN2NHUfhgoGmQXRo9j7QxkiV+FpoTOXMbzPLfxaL23UA/JrykghcW8SWT47ASH+d/eEkLDN7Vgi7ZFIywn1lqUh2NTPRQvspmG3xLsTLlgIAA== + template: + metadata: + creationTimestamp: null + name: dashboard + namespace: squadquest-supabase + type: Opaque diff --git a/squadquest-supabase.secrets/jwt.yaml b/squadquest-supabase.secrets/jwt.yaml new file mode 100644 index 0000000..c4165eb --- /dev/null +++ b/squadquest-supabase.secrets/jwt.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: jwt + namespace: squadquest-supabase +spec: + encryptedData: + anonKey: AgAEMfwHhao0ajRL6SAnLqvgDtPSZJIXv54spbSDVAGCbgHuJVW87OjnFr8nIS9gxHRVGJ4DtozEHJAlusPL7TCpp0SbFWMjHxrEkUJpmzHiwpwk/RsaZ9bLWv76OHmNEH8DwLB60uqffdDLxWfcu/9B77XzfFJ/uggZtjlAujhs/G5aaDaVCye7T29Bhao0TacwfZ1MxxWTfZ5cv/W2IpGdF2wj45Kdw3L9AnuhMi3yuRYuYDwYKpy9bxiW2kDBh0NPm54tmsY5aOFwXxbSQG2/yyT5CvW9A+dJihbAbL4mBpSlsnjPIlp4ZfvMCJZXZFp5AbBdSid6wEPWGwxJPwFbQM0QRSQ2eCB9U5NokL3J9HaKhmXWzInpJSROj4sVjscqY9teTCzLi1FGmhFd0uOKPg641oR5eqFDvg0tVdf6zaCMyAhJ1ZC+qIJAwbHnWaeA0n0/eVay5skrvPjiXLV0UKwpBaR79c6K3VMgnbsJBrPt5DdV49guxeCYgmbXrCZensaVE1aYnsuikuKDySHBZpHqmV+IeVXKteVWBeQkoL2SiSOVCI2MxavIvXiv4HZkr26wlXLDIBNUZqBXub7xgzaoU+jImIY/uO3qG3cpl1FJjfrDItJrQ6ZawGKcTNCt+DNcikG9kc4QQH8CJ39z+So3OGNS3jVePE54M+7bvh60qyeorSbrR7zL/MNDfXsITWbGxAlgHdW2kKxX+yvwg9StuKbfWoACboo6NOGIvq6286sPNnf9HpADyVTt8pypUzWeqYrB2SYmYN4INjItjSBGvblNJ609nik2iLHxQUowugawsEddBHsokbGKRlZDSLh127XzhLcYfhuCQjlC7f8AgnTOQsQ0CE1WDzuibmuP3lKjS5qMhXFHxQpIGnsDqO7lcH0HSlqJ+mwUrc4X0UWJhL8JaKe1daeGXIS0LoFT/Q8sdHKxGfe1lJzKyls= + secret: AgCxJylNQZbwWtfEImR7rE8Aaig3pZ+tieA6ZIX1rgXZ8+OjAlAWckXlbHv0lfRHQfz5HpVtCUVoV8BKTfrMdzqEmMqVaqdoMa2xuiIObv0sp4RE3t5NI8bMnATIywPxB/Mj488q3XzCSpN2G7czjkXVsQ7CONl750fQ6SLZXEQr0JEhYFtcimJIzX4RbzMCn/1jrP/Toljqntwfsfe9ApnbuR9uV3oauXc4XgzgM0JvM1ADRMhurygMOoGVTKUAQdqCpVIV+OD/HbforDLvXPu3zWj2FRTNOI8GNBkrpG6psJbkQsFZhraP06+xL3OXnvDtSxWzFHF/r+NGanTmXn4z+4pxK5+gQGQoEuts4ihkVF/dPn7SDr1uRtzisbV/fUY8CsSmDaRCklMyQ++Dopc5stRUpdjST71UMmfsLcbY0SVoMpSrzgJ9HSHdfJ3a/1xlow/VUZ/l6uwN5W6VnnjyyKn2AVtMSv9UPAvWy2YhDMTr+ghLnFpvt88hehSYMkDs2CtZ11M0vLHD5Vd+AVyi+pxcOL88kcigWgOlZ8U+pkG6jfAlHJHlmITjoBjKzJRpGXQ0aHNi11hZJ6Z5TMsJhhEpA1FfCWjzpZ+Zj6EAz+q02JkZj74DhoOJxDkYiHAKth3T1asPw1Ehx756scnGRhqVlknoSVaMR0rELHt7YCRGjozMDEDRuO2zYiore1vnDmTIto4J+YnUjxOSK8ckW9HrNcdNtgGMISCVxatvjEsP1Qsrcudk + serviceKey: AgBrLpZciRZqt5Tx0+irMNMbI7ia0hd4vDE//XVMV/PT27LLff1WuHP/i82dK5Ozjc3GJKZAUE/IS8vu4EF9IAF6LK/xXnmQmn9sE4I7aFG4EUWjQwxMN/DMUeyWQ9xGsg0JGJLJ5i6elKynuq2PRLCUNfDaAjAQwgZ1K47Rrx+2K7CEYg7fmrPhnpz4l1036JHphDBvN7ZxIt5WGmHEugyEXrJTTV5zEFxCWAgp3t5KD0YFy+neqY8Qt86oC9wQjyUH7OKL5nBFAz65udKk+/+xVcXxX+etZkodWsDVn1He2UC8kVpmf340gnz1dje/wDRQ27oN5LWfNlxtulIBMXDd0x4LMgnhyRQ0gXxTki170TP4azRNDd4ilC3ZxBY1f8VCsq/liGK6PUiIn1kvdYFEUd0DWUztK6JJz7OC/k2zMZd6oVVhNlayDVhA0bwpNgiPX/W7MWiBA2jcjRYkwWpVB3ROAxCvWpfP/w92ZPoSCcvXM7dqSDoeA46P1S46Q9/jMnElsymuu20fveoK2Ty8GpgYyAAPx5wK1ulbQqmk2I8cX+JQnVm6LyJtPGUFGkoCF0F3lmTukN0u85S1HEp5WSPkVprR+uzP4znNcIhKYUkRFm+Bsh7V8VMyEFNARrk/1weciFlskbisARkJaY9gbzcf/Z/JEINq0ugt5OaA6CZZNWUZcSYjG9R2MeEoLNzxvUwLkQz1KjJsWNKKahvEvSdtB2o/8EgxCEHKQSDHRF/WQ/YocE7AYDbQajcFsKz+/OqMtOdpt6u4BH37a1rl2Ys/ADiRlSePgECykTqehEt7R1bJb+S0WDb4YUJw0f9wtv1WhEvYAL9iO+bp2iTfUSrDZZ7ILZyJWMcacxGZVlteL6u46qnJkiaGYOmStYRMlbgXG4kSFMnSgSNSZ7by3sWINSuKFGGvkYNr7t3qs8WmerCZH31zUbfCjFfL3TWCF0HuJ/GI913NCg== + template: + metadata: + creationTimestamp: null + name: jwt + namespace: squadquest-supabase + type: Opaque diff --git a/squadquest-supabase.secrets/logflare.yaml b/squadquest-supabase.secrets/logflare.yaml new file mode 100644 index 0000000..d01c078 --- /dev/null +++ b/squadquest-supabase.secrets/logflare.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: logflare + namespace: squadquest-supabase +spec: + encryptedData: + apiKey: AgCHdNMjC+fLO9RbdoBO4fe0q13t3btreUbOJ8/mmEPtDbs4QjILom0QF3r+GSEYTO6Yaowrtnn77hyAO7qsXIIU3qoA4xs10FVByXZi5BcqI3TREGExZCId/M1OhY5mdsOWYcNkZNXqAgdln5k1FyODjm1zwmHwieCTAsiz2cDHmLhkD4MTF+dE542HJrrgxyG9dgl+PdqknbhzhfxFH675zP5A7wPMCncowYmbK4TQgm4/JqOs+xOiYizwh8En286RQPYcxePGm7uRKJj0sQ9VwwS4sdjAz2bzYKMrcdpckimUdZgZcAYpktmjhKEN6ixf/2piYCMOguIbs46q6Qs+o8mhtL9OGX9b2/fXPYNxcZh3BiDAPEiKgzT5PPq+8bOpBIAPvP9/BnI88dSD92Ahlv3s4kQGPOqI4u7iJCkG7ZYFqjVxA8AdwcDoGaZgmaciFlKxSHH4Aif3TsMN0UaM8thlmGukMKfAf04jYr9MhJdnSIMTCr9KaNqH5xTg7BYNrWVnv+HOi0gO9esoJPY6xiB5naoidp8Nm42A6G0DfSxlTsMPBrY25gLsH/D4GHxAK3OeMhGcK/o//YIBWVXTqlaz6z5sjuG6sR68LU/f2XHdcX8xlVbTjaMAQKX/saZcak8yIrk4gIfVZGiRr1JKlkYGpDvZwRZUawR2IzsqSvrg8nTM1OFR1KJWanbgfToelcp00Kjx0e6SHWcWsyzdwNKQf8St/LMkAMoMQyV+cA== + template: + metadata: + creationTimestamp: null + name: logflare + namespace: squadquest-supabase + type: Opaque diff --git a/squadquest-supabase.secrets/postgres.yaml b/squadquest-supabase.secrets/postgres.yaml new file mode 100644 index 0000000..ebe162b --- /dev/null +++ b/squadquest-supabase.secrets/postgres.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: postgres + namespace: squadquest-supabase +spec: + encryptedData: + database: AgCzeLUPQowBByEdWakB/4EEy5LTEoWBtG8N9xKCT6aQihV0WwcAIqzg0ah2LaZlfslaedPI8OVvK0w706JLY9LH6eerQz1CyIb3zLAhWJmI/HVdcZ/xXUmdF2Vhn2wad72wf5fxtf9QaUzmnVO8LVyEZGBkQ1y6qOGRJUU7+DajYE2TUIzyjX+8NUZdeNPWBaiHD61WfiXUmVsTO1wZ9iSykaZEejYUDTbQ+hwrnh3Gn6RQA56L7Mcw9JpLdk7ezlbj7tWhKX0mg7qHk2WpNacC9h0pcQOSCNUtOsQSWdNCQC/7F0yGVuDRzueah4+NqSAPsnftSoXkrNU/IgiJegNirvbqvciePb1CXbcUXHwXTFzAJ9Xo2jcttRUKTF1zMWi++cLBFiY0tz/HQ1vn5L4dvcxGLVm8oRs2QXMV7NY9qXioo5XBjAq+cLKce2lPND1cdrOTg+Vd47J850zhBlFvmwz/9bfZ4YqO59w5HlkFSBPGhvn33+ujDx+/9BpufYblZhRMo4UQzHF8/E1FpoY7tPzDvh+q55AZDmJA0uFb2mGo166UbtsjVoDPCV2C55diBuR8z0ZBepQg9a/g01EqFq0QlOQcPEA37VFCUfbsOLuKTRGBHIzMsZCXWION+uvP3B8RqZ03aJWUCRTIoNcbh+qtPVcLbYFqhhq4ohHD9JMyHNWWMKWDy2svuYig4Am3uGQDfDhOOw== + password: AgAkEFMZG4Us7E/oy0LNjagnSjWSwdlgXJhlaPkggT5QAyWmcwUifY6J4xDXmw3mFZJ6amjju8MHX0wxnRQYv26fjBfJyQ9ytOOYlplMdMPU/hDtdje+7T1txeL3SrcACvUiZ1bQxsiiNHxp7lm0eM4x62votwrJnuZ5/JQ3aO73IAFrfXana+59hItzUq2iuDQPvS/B4yxf4zmMFrS61/zyrxSzsYV7Um9s6e6g5zUMTlHrw/nNeNH+edx+UOvqjIQ/C50Ctwj88A5MSzDyGCzw6aUfkyzIqlnotDab1GEb9BBLnPQVqFD9uDHoQORnTW56b8TSYVKTjY4DonxhXX5p/VVSXO6R9BzVDCHT0MjHA8zS/BGgGUJ/s+WyzyGFJD3Qz+4seiEkHDJRxHchgMY3fmdwdV4NjkIH6RgDNpYM3hxFOT+dfaolNZG6X9+b6AghcdibvKLLrgzWPDZkl17mPoSKR452GYHv+HNMxY84HbOKEE2SEliwrX7/A+X8sDqFDJdYjZSsE4iwnknLymSbrEl6/cwDxGJDn08IfrXMYXZcT9ZvbnOHw6xEL1iJE15bw3fJGSrG+0zrXD7hoj/Ty4pHTgVCScpCDsAwngmgPD5u+4rRY6c+AtJhVeGSt8vJOmEettUu1+Wb5CCrR08J9p9PhkHfdY33VdX3jYMT+5rsRfXsnz+KT7cjbdBeGKhfWU1LOvkPII7AAxg6DuYZAvE4PbFWuQU+UrptHp3w5w== + username: AgACiPErgsHdCTceFpqAy543tXhyFi6UPTYy3Bspxb9Ofk4DvNBIOdfMgPQ44rYRZ33fS89zrABcpZSex5TdOLxeEOQq1CZLMOE4gQePPeoNtld/ZYPHNy/K4kx1gO6eLdnmCyEkhzzIUlucgUbLGXBSsVz7tbcHYlkmzF5901aJAUWmrPxfUayb0guZxybOvk0wAcs5nDtj/KswtIyGfQV5m+9F8aDOQJ3zqAUFgaUSPgr5TydBmAIXCzCqdPxR/FHFNN1NFRzaEphC3SYdLfZtm/PzifJmvbwUMmvAIprOYPkSE4pgjQxKSbvnHWTnn3TnGOTBSOIe997AW12shvDbDoLbm6WfdvOFOlj2XzDl4RvvPCdj62Gug4ZiPI1UXjkiuF3hahQeK3FSoQk2vNnZbQXLh6TWQ50tluDXLJSdkXtmRQ2szWj6ik1EYgg7OT/xQvEpbW83P4nv+mpFn91+cuUFSg+J5c+Rwjxfqq4OjxWkrY2HV0vg3jRf7g36tvPCWbGDlKL1iqnDif1qxH3gbMWLeKR0QMNYAZi6cmtZw5cfxJdYfDYAhKH1UyuWauLVkZCUjPqEPss4ri1riAdizmkrKDxhzDGvf+tJOjhC3U/WKqfu4Mud9hfNC4eitwXrGU7LbQriC86RyJvWt4ChDK/S0n7Z4MxdfvsERGpM1jUP+SPjtY7Ex47Tzr6N2Uoq797ap+80WA== + template: + metadata: + creationTimestamp: null + name: postgres + namespace: squadquest-supabase + type: Opaque diff --git a/squadquest-supabase.secrets/postmark.yaml b/squadquest-supabase.secrets/postmark.yaml new file mode 100644 index 0000000..7350ef8 --- /dev/null +++ b/squadquest-supabase.secrets/postmark.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: postmark + namespace: squadquest-supabase +spec: + encryptedData: + password: AgBT5twNm4hD9wqlv8rTVkgfySrCBiO96lQjpDeYzwNSB8FwETzXAQTVlgR5lBk7a6JwArnxEh4MWKa4UGtwtsvGYgAr2o3TXOFlbPS1bVDaYa5rZI6fHcFzVB4/MiGVahdqE16yFO/jSinaxFyTchHm4+Zd7ws3edvWnory2ikKZHhXDvD7Yc40vk0AV/BcRxw+Yenbz2uUwHgM/e32AeRTuHfX0vo8xo0pEC3z5QzlqlUo3GvSloSlpy56KNnve7+x4Gk99Z5A3WcrZ3vwRC+2IUqiHSg8duBTTivx6/OhtE0e6cp86E6iCe9xbBjZj7nIwASSIm5ME6bI+WD1Rgv8m95saU8rlS1alZB1ZOsGBwEefnWdtbutGn6yl12+5aJBmgOpdodRLa0UGikHAVIb2fBJp7SZ3t8S8BwBiZ2PU1lpFtfeHtG6IejCeAcRKaA+Y0d2UdagQlnYgzWUkj5kHnj8LaWbhJrZHLDlPFAVremCJmwkOYFycbyadhU1lIEweZ/LaSF3zXi8S4cwDA+rlSA9b+HFZdvbb+lmicRsmzchw/64WiootzQ+W5hht8BE4r9rIPq76074NDBVUFNTiNFEuBKJeMSkzJzcxLsMzPBAVyULhSugUcrSJSVa3ZjCtBnlNDTfq8TNjnO7HXqvBYj9d8TJVzbXpbt1IacbnFJV6mLfx8U7oa+qzM65zNdjTeVTx8Xw+q1ZhpqFaJ2AiEEp31Z2Wc9TlJ3l56prRfRr2S4= + username: AgByO5Wn/9Of5HsXv3hh6Je40zQxQGArutmC4/UzAJauCZMBP099+IZFP7VnlpJmGlyiX1oUdtJAZ2az99hg1yTJPOGSv0u4AGKQcXIGuWkHZ2Qk7Rc1ikJmNGaSUqQhVFbu6dlO9F7KajPv45l3BrxH/W8h/GbVfAYsnGKIoRBXF3MEQc6iRdartwimECh385xywQFafGd7KvzpHZF0YX53miljjUNemfdpZQfGJ/TTBwdjVCQf4a4YzQMMODsTM+RB9F3rG25rGOLWvdx18Q4ad50TvhDuDD9rB7e0EM39Hmc5oa63UueowxIldGNH+jzrnrlYDoFkcw9RT/vBabR95blTmPCEehrxanZGl8Vf3ZMogmCqI7OFStzjkgUOKCMCwfIoSmgrqPMNhxXSaw7qp+fJicW/q19pjcRoJakBDya8dQARfFpT4qrWLu63mzOCujqDXvXt3cvny81VyqR5BGR9cLmG7KBBOfvWZwUFqydP0GEHEQUzLHyC1Q2ELnOge48la0x/evPB6k3xmo9uWhk3eoYGVwVKrbEiyQ7F2NIAp4tb0KtHrrZddwUaQE9cfCz4/nSkBUA3Kh9yNdcPPo0Zt8pdKJlxPa2NDgyZ7u57T+eWnW9wnSI3Vo1UGpkR9GgwcrInG0LCHp7P4LArOw/btZLkcHUGVjhOwRAvnztMWTgBqYxMVYQTlrXZo7EabrMt5LNNLciKJfyEWwIW9+3ASGj8Iif/QuEm3Ls6TiNnaBU= + template: + metadata: + creationTimestamp: null + name: postmark + namespace: squadquest-supabase + type: Opaque diff --git a/squadquest-supabase/release-values.yaml b/squadquest-supabase/release-values.yaml index e14a4e0..11f3ccb 100644 --- a/squadquest-supabase/release-values.yaml +++ b/squadquest-supabase/release-values.yaml @@ -1,6 +1,16 @@ # See: https://github.com/supabase-community/supabase-kubernetes/blob/main/charts/supabase/values.yaml secret: + jwt: + secretRef: jwt + smtp: + secretRef: postmark + dashboard: + secretRef: dashboard + db: + secretRef: postgres + analytics: + secretRef: logflare s3: secretRef: linode-storage From bf779ff924ca1296b6725fe7aa6261f9fe8dc191 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 19:25:12 -0500 Subject: [PATCH 08/11] feat(squadquest-supabase): configure liveness probes --- squadquest-supabase/release-values.yaml | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/squadquest-supabase/release-values.yaml b/squadquest-supabase/release-values.yaml index 11f3ccb..c490c17 100644 --- a/squadquest-supabase/release-values.yaml +++ b/squadquest-supabase/release-values.yaml @@ -41,6 +41,11 @@ rest: realtime: image: tag: v2.33.61 + livenessProbe: + httpGet: + path: / + port: 4000 + initialDelaySeconds: 3 meta: image: @@ -54,10 +59,21 @@ storage: GLOBAL_S3_BUCKET: squadquest-supabase-storage GLOBAL_S3_ENDPOINT: us-east-1.linodeobjects.com GLOBAL_S3_PROTOCOL: https + livenessProbe: + httpGet: + path: /status + port: 5000 + initialDelaySeconds: 3 imgproxy: image: tag: v3 + livenessProbe: + exec: + command: + - imgproxy + - health + initialDelaySeconds: 3 kong: image: @@ -66,10 +82,20 @@ kong: analytics: image: tag: 1.10.0 + livenessProbe: + httpGet: + path: /health + port: 4000 + initialDelaySeconds: 3 vector: image: tag: 0.42.X-alpine + livenessProbe: + httpGet: + path: /health + port: 9001 + initialDelaySeconds: 3 functions: image: From 501bda44d146ecc4eacde6c941a6a22f179c4818 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 19:25:37 -0500 Subject: [PATCH 09/11] feat(squadquest-supabase): configure storage --- squadquest-supabase/release-values.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/squadquest-supabase/release-values.yaml b/squadquest-supabase/release-values.yaml index c490c17..32debb5 100644 --- a/squadquest-supabase/release-values.yaml +++ b/squadquest-supabase/release-values.yaml @@ -64,6 +64,8 @@ storage: path: /status port: 5000 initialDelaySeconds: 3 + persistence: + enabled: false imgproxy: image: @@ -96,6 +98,16 @@ vector: path: /health port: 9001 initialDelaySeconds: 3 + ## Vector requires logs from the control plane to function. + ## This is normally stored in /var/log/pods + ## Modify these values according to your environment. + volumeMounts: + - name: pod-logs + mountPath: /var/log/pods + volumes: + - name: pod-logs + hostPath: + path: /var/log/pods functions: image: From 32a98a2413066aaf8e23b1ec18f76de7dade93aa Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 19:25:54 -0500 Subject: [PATCH 10/11] feat(squadquest-supabase): configure environments --- squadquest-supabase/release-values.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/squadquest-supabase/release-values.yaml b/squadquest-supabase/release-values.yaml index 32debb5..5984166 100644 --- a/squadquest-supabase/release-values.yaml +++ b/squadquest-supabase/release-values.yaml @@ -33,6 +33,15 @@ studio: auth: image: tag: v2.164.0 + environment: + API_EXTERNAL_URL: https://squadquest-supabase.live.k8s.phl.io + GOTRUE_SITE_URL: https://squadquest-supabase.live.k8s.phl.io + GOTRUE_EXTERNAL_EMAIL_ENABLED: "true" + GOTRUE_SMTP_ADMIN_EMAIL: "admin@squadquest.app" + GOTRUE_SMTP_HOST: "smtp.postmarkapp.com" + GOTRUE_SMTP_PORT: "587" + GOTRUE_SMTP_SENDER_NAME: "auth@squadquest.app" + rest: image: @@ -70,6 +79,8 @@ storage: imgproxy: image: tag: v3 + environment: + IMGPROXY_ENABLE_WEBP_DETECTION: "true" livenessProbe: exec: command: From 710c6adc434b319c3c389232d1ced8e75befd155 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Sun, 1 Dec 2024 19:26:06 -0500 Subject: [PATCH 11/11] feat(squadquest-supabase): configure ingress --- squadquest-supabase/release-values.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/squadquest-supabase/release-values.yaml b/squadquest-supabase/release-values.yaml index 5984166..9aa3f8f 100644 --- a/squadquest-supabase/release-values.yaml +++ b/squadquest-supabase/release-values.yaml @@ -91,6 +91,21 @@ imgproxy: kong: image: tag: 2.8.5 + ingress: + enabled: true + className: "nginx" + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/rewrite-target: / + tls: + - secretName: squadquest-supabase-internal-tls + hosts: + - squadquest-supabase.live.k8s.phl.io + hosts: + - host: squadquest-supabase.live.k8s.phl.io + paths: + - path: / + pathType: Prefix analytics: image: