@cyc-seattle/platform 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +7 -5
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -11,7 +11,7 @@ app owns. The apps that run on it live in their own repos, such as
11
11
  | [`bootstrap`](stacks/bootstrap) | Service accounts and project IAM, the Pulumi state buckets and KMS keys, and the org's GitHub repos and settings | A human with project Owner and `gh` `admin:org`. Never CI. |
12
12
  | [`infra`](stacks/infra) | The VPC, the cluster subnet and its Cloud NAT on a static address, the private services peering, the prod and dev Cloud SQL instances, the DNS zones, Artifact Registry, the GKE Autopilot cluster, the shared Gateway, its address, certificates, and dev's DNS records, the `dev` and `prod` namespaces with their quotas and network policies, dev's RBAC, the prod Job alerts, and each environment's `platform/outputs.json` | `deploy-runner`, from Actions after approval. A deployer, with `mise run deploy`, when breaking glass. |
13
13
  | [`smoke`](stacks/smoke) | One `WebService` in dev, at `smoke.dev.cycsail.team`, for the integration tests | `deploy-dev`, from Actions on every PR. A deployer, with `PULUMI_STACK=dev mise run deploy`, when breaking glass. |
14
- | [`backend`](stacks/backend) | Directus, with the schema apply from `schemas/`, its roles, policies, and permission rules, the sync machine users, its OIDC client, and MCP, and the clubspot-sync and gsuite-sync CronJobs, with dev's Clubspot and Workspace fakes | `deploy-dev`, from Actions on every PR. Dev only, until prod cuts over (cyc-seattle/workplace#6 step 6). |
14
+ | [`backend`](stacks/backend) | Directus, with the schema apply from `schemas/`, its roles, policies, and permission rules, the sync machine users, its OIDC client, and MCP, and the clubspot-sync and gsuite-sync CronJobs, with dev's Clubspot and Workspace fakes | `deploy-dev`, from Actions on every PR, and `deploy-runner` on a push to `main`, after `infra`. |
15
15
 
16
16
  ## @cyc-seattle/platform
17
17
 
@@ -102,11 +102,13 @@ GitHub environment that holds its identity and state bucket:
102
102
 
103
103
  `prod-preview` runs `mise run preview` as `deploy-runner` and writes the diff to the job summary.
104
104
  `prod` runs `mise run deploy` on the same commit once approved. It runs only when the preview shows
105
- changes in `infra`, so a merge that changes nothing in prod asks for no approval. A PR from a fork gets no OIDC token,
106
- so its `dev` job is skipped.
105
+ changes, so a merge that changes nothing in prod asks for no approval. Dev builds the sync images
106
+ for every commit, and prod's CronJobs run the one built for theirs, so until cyc-seattle/isthmia#258
107
+ every merge previews `backend`'s CronJobs as changed. A PR from a fork gets no OIDC token, so its
108
+ `dev` job is skipped.
107
109
 
108
110
  `PULUMI_STACK` picks what the tasks run (`scripts/each-stack`): `dev` is `smoke`, then `backend`, and
109
- `prod` is `infra`. `integration` is dev only.
111
+ `prod` is `infra`, then `backend`. `integration` is dev only.
110
112
 
111
113
  `bootstrap` is never deployed from Actions (cyc-seattle/isthmia#118). It holds the identities that
112
114
  CI assumes, and a human with project Owner and `gh` `admin:org` applies it with the tasks below.
@@ -123,7 +125,7 @@ mise run deploy
123
125
  PULUMI_STACK=dev mise run deploy
124
126
  ```
125
127
 
126
- `mise run deploy` applies `infra`. isthmia's prod stacks read its outputs through a StackReference.
128
+ `mise run deploy` applies `infra`, then `backend`. isthmia's prod stacks read its outputs through a StackReference.
127
129
  Dev stacks can't read prod state, so `infra` writes each environment's platform
128
130
  values to `platform/outputs.json` in that environment's state bucket.
129
131
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyc-seattle/platform",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Pulumi components for CYC's shared Google Cloud platform: WebService, the platform outputs reader, and the stacks that build the platform",
5
5
  "author": "CYC Community Sailing Center",
6
6
  "license": "Apache-2.0",