UNPKG

@catladder/pipeline

Version:

Panter workflow for cloud CI/CD and DevOps

104 lines (100 loc) 2.66 kB
import type { Config } from "../src"; const config = { appName: "test-app", customerName: "pan", components: { api: { dir: "api", build: { type: "node", }, deploy: { type: "google-cloudrun", projectId: "google-project-id", region: "europe-west6", // optional, set min and max instances // defaults to 0-100 service: { minInstances: 0, maxInstances: 5, }, cloudSql: { type: "unmanaged", instanceConnectionName: "projectId:region:instancename", dbUser: "my-user", }, jobs: { migrate: { command: "yarn migrate", }, reset: { command: "yarn reset", }, ["send-reminders"]: { command: "yarn job:send-reminders", args: ["--verbose=false"], }, }, execute: { migrate: { type: "job", job: "migrate", when: "preDeploy", waitForCompletion: true, args: ["--verbose=true", "--create-db"], }, ["send-reminders-admins"]: { type: "job", when: "schedule", job: "send-reminders", args: ["--only-admins", "--verbose=true"], schedule: "0 * * * *", }, ["send-reminders"]: { type: "job", when: "schedule", job: "send-reminders", schedule: "0 * * * *", }, ["call-http-endpoint"]: { type: "http", url: "${ROOT_URL}/myEndpoint", when: "schedule", schedule: "0 * * * *", method: "GET", }, }, }, env: { review: { deploy: { execute: { reset: { type: "job", job: "reset", when: "preDeploy", waitForCompletion: true, }, "send-reminders": null, // disable on this env }, }, }, prod: { deploy: { jobs: { // prevernt running the reset job on prod // technically, this isn't needed, because we only execute it on review // but we still set up a job that can be executed on prod // setting it to null doesn't even deploy it reset: null, }, }, }, }, }, }, } satisfies Config; export default config; export const information = { title: "Cloud Run: With SQL", };