Add welcome course, finish template substitution for west575
Sync courses / sync (push) Successful in 5s

This commit is contained in:
2026-08-27 06:44:48 -04:00
parent 622d5d1166
commit aba4071718
6 changed files with 69 additions and 17 deletions
+3 -3
View File
@@ -13,8 +13,8 @@ jobs:
run: | run: |
tar czf /tmp/courses.tar.gz courses tar czf /tmp/courses.tar.gz courses
status=$(curl -s -o /tmp/sync-response.json -w '%{http_code}' \ status=$(curl -s -o /tmp/sync-response.json -w '%{http_code}' \
-X POST "http://eec-__CLIENT__:8080/admin/sync" \ -X POST "http://eec-west575:8080/admin/sync" \
-H "Authorization: Bearer ${__CLIENT___EEC_SYNC_TOKEN}" \ -H "Authorization: Bearer ${WEST575_EEC_SYNC_TOKEN}" \
--data-binary @/tmp/courses.tar.gz) --data-binary @/tmp/courses.tar.gz)
cat /tmp/sync-response.json cat /tmp/sync-response.json
echo echo
@@ -23,4 +23,4 @@ jobs:
exit 1 exit 1
fi fi
env: env:
__CLIENT___EEC_SYNC_TOKEN: ${{ secrets.__CLIENT___EEC_SYNC_TOKEN }} WEST575_EEC_SYNC_TOKEN: ${{ secrets.WEST575_EEC_SYNC_TOKEN }}
+11 -14
View File
@@ -1,7 +1,7 @@
# __CLIENT__-eec-courses # west575-eec-courses
Course content for [eec](https://gitea.reground.org/will/eec), the self-paced Course content for [eec](https://gitea.reground.org/will/eec), the self-paced
email course engine — this instance served at eec.__DOMAIN__. Push to email course engine — this instance served at eec.west575.org. Push to
`master` and CI syncs `courses/` straight to production — there's no staging `master` and CI syncs `courses/` straight to production — there's no staging
step, so treat a push here the same as a push to `eec` itself. step, so treat a push here the same as a push to `eec` itself.
@@ -21,19 +21,16 @@ courses/
... ...
``` ```
## Courses
| slug | how people get in |
|---|---|
| `welcome` | entered automatically on newsletter signup (`SUBSCRIBE_ENROLL_COURSE_SLUG` on the `eec-west575` deployment) — never linked publicly on its own |
## Deploying ## Deploying
Push to `master``.gitea/workflows/sync.yml` tars up `courses/` and Push to `master``.gitea/workflows/sync.yml` tars up `courses/` and
`POST`s it to this domain's `eec-__CLIENT__` container over the internal `POST`s it to this domain's `eec-west575` container over the internal
Docker network, authenticated with `__CLIENT___EEC_SYNC_TOKEN` (a Gitea Docker network, authenticated with `WEST575_EEC_SYNC_TOKEN` (a Gitea
Actions secret shared with the `eec-__CLIENT__` Ansible role's copy). No Actions secret shared with the `eec-west575` Ansible role's copy). No
separate deploy step, no staging — a push here goes live immediately. separate deploy step, no staging — a push here goes live immediately.
---
**Generating a new client repo from this template:**
1. Gitea → "Generate Repo" from this template repo's page, named `<client>-eec-courses`.
2. Find/replace `__CLIENT__` → the client's slug (must match the `eec-<client>` container name) and `__DOMAIN__` → the client's domain, in this README and in `.gitea/workflows/sync.yml`.
3. Add the `<CLIENT>_EEC_SYNC_TOKEN` Actions secret to the new repo (Gitea does not carry secrets over from a template) — value must match the `eec-<client>` Ansible role's copy.
4. Delete this "Generating a new client repo" section from the new repo's README once done.
+15
View File
@@ -0,0 +1,15 @@
active: true
slug: welcome
name: "Going West — welcome"
from_email: hello@west575.org
ceiling_hours: 72
# Entered only via SUBSCRIBE_ENROLL_COURSE_SLUG on the eec-west575
# deployment (see reground-infrastructure's eec-west575 role) — never
# linked publicly on its own. Every newsletter signup on west575.org
# lands here automatically the moment they join the list.
steps:
- file: day-0.md
- file: day-1.md
- file: day-2.md
+13
View File
@@ -0,0 +1,13 @@
---
subject: "Hi — you're on the list"
---
Hi, I'm Will.
Thanks for subscribing to **Going West**. This isn't a newsletter with a theme — it's just where I write down what I'm actually working on and thinking about, in roughly the order it happens: infrastructure and small-business tooling, a short story or a submission log, whatever else seemed worth saying at the time.
No content calendar, no funnel, no "in this issue" formula. When I publish something worth your inbox, you'll hear about it. That's the whole deal.
I'll send a couple more short notes over the next few days — mostly so this doesn't feel like a black box you signed up for and forgot. After that, it's just posts as they happen.
— Will
+16
View File
@@ -0,0 +1,16 @@
---
subject: "What actually ends up here"
redirect_url: "https://west575.org/posts/"
---
A quick note on what to expect, since "I write about whatever" is a little unhelpful on its own.
In practice it lands in a few overlapping piles: the infrastructure and ops work I do for a living (the unglamorous, mostly-invisible plumbing that keeps small businesses' sites and email actually running), fiction I'm working on or sending out, and the occasional post that's really about neither — just something I noticed or worked through.
I'm Catholic, and that shows up here the way it shows up in the rest of my life — as a lens I'm looking through, not a label on the content. You won't find a separate "faith" section. If it's relevant to what I'm writing about, it's in there; if it's not, it isn't.
If you want to see what that actually looks like in practice rather than in the abstract, here's what's up on the site right now:
[Read the latest]({{.AdvanceLink}})
— Will
+11
View File
@@ -0,0 +1,11 @@
---
subject: "That's it for the intro"
---
Last one of these — from here it's just posts as I write them, nothing scheduled or padded out to fill a sequence.
If something ever lands in your inbox and you want to argue with it, ask about it, or just say hi, reply to this email. I read everything that comes back, and I'd rather hear from an actual person than watch an open rate.
Thanks for being here.
— Will