From 3ed8f4a41ad52058cff7f534dfdabe3679382fcd Mon Sep 17 00:00:00 2001 From: Julien Bouquillon Date: Fri, 18 Sep 2020 12:09:50 +0200 Subject: [PATCH] fix(hasura): handle deployment options (#184) * fix(hasura): handle deployment options * lint * lint --- .../__tests__/__snapshots__/--env dev.ts.snap | 2 ++ .../__snapshots__/--env preprod.ts.snap | 2 ++ .../__snapshots__/--env prod.ts.snap | 2 ++ src/components/hasura/index.ts | 21 ++++++++++++++----- templates/simple/components/hasura.ts | 3 +++ 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env dev.ts.snap b/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env dev.ts.snap index fe2c60c768..92ff8c66a8 100644 --- a/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env dev.ts.snap +++ b/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env dev.ts.snap @@ -51,6 +51,8 @@ spec: team: sample-next-app cert: wildcard spec: + imagePullSecrets: + - name: regcred containers: - image: >- registry.gitlab.factory.social.gouv.fr/socialgouv/sample-next-app/hasura:8843083edb7f873cad1d1420731a60773594ffae diff --git a/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env preprod.ts.snap b/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env preprod.ts.snap index 25f22d45c3..e6992599cd 100644 --- a/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env preprod.ts.snap +++ b/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env preprod.ts.snap @@ -51,6 +51,8 @@ spec: team: sample-next-app cert: wildcard spec: + imagePullSecrets: + - name: regcred containers: - image: >- registry.gitlab.factory.social.gouv.fr/socialgouv/sample-next-app/hasura:1.2.3 diff --git a/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env prod.ts.snap b/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env prod.ts.snap index 43b7973fe5..3a5f708535 100644 --- a/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env prod.ts.snap +++ b/e2e/templates/simple/kosko generate/__tests__/__snapshots__/--env prod.ts.snap @@ -33,6 +33,8 @@ spec: team: sample-next-app cert: wildcard spec: + imagePullSecrets: + - name: regcred containers: - image: >- registry.gitlab.factory.social.gouv.fr/socialgouv/sample-next-app/hasura:1.2.3 diff --git a/src/components/hasura/index.ts b/src/components/hasura/index.ts index 7fa37b9c97..05bacfe6df 100644 --- a/src/components/hasura/index.ts +++ b/src/components/hasura/index.ts @@ -1,3 +1,4 @@ +/* eslint-disable simple-import-sort/sort */ import { Environment } from "@kosko/env"; import { merge } from "@socialgouv/kosko-charts/utils/merge"; import { ok } from "assert"; @@ -6,12 +7,21 @@ import { Deployment } from "kubernetes-models/apps/v1/Deployment"; import { addPostgresUserSecret } from "../../utils/addPostgresUserSecret"; import { addWaitForPostgres } from "../../utils/addWaitForPostgres"; import { AppConfig, create as createApp } from "../app"; +import { DeploymentParams } from "../../utils/createDeployment"; type CreateResult = unknown[]; export const create = ( // eslint-disable-next-line @typescript-eslint/ban-types - { env, config = {} }: { env: Environment; config?: Partial } + { + env, + config = {}, + deployment = {}, + }: { + env: Environment; + config?: Partial; + deployment?: Partial; + } ): CreateResult => { ok(process.env.CI_REGISTRY_IMAGE); ok(process.env.CI_ENVIRONMENT_URL); @@ -46,18 +56,19 @@ export const create = ( }, config ), + deployment, env, }); // DEV: add secret to access DB - const deployment = manifests.find( + const hasuraDeployment = manifests.find( (manifest): manifest is Deployment => manifest.kind === "Deployment" ); - ok(deployment); + ok(hasuraDeployment); - addPostgresUserSecret(deployment); + addPostgresUserSecret(hasuraDeployment); - addWaitForPostgres(deployment); + addWaitForPostgres(hasuraDeployment); // diff --git a/templates/simple/components/hasura.ts b/templates/simple/components/hasura.ts index e7c6eff580..3121ab2f23 100644 --- a/templates/simple/components/hasura.ts +++ b/templates/simple/components/hasura.ts @@ -6,6 +6,9 @@ const manifests = create({ ingress: false, }, env, + deployment: { + imagePullSecrets: [{ name: "regcred" }], + }, }); export default manifests;