generated from will/eec-courses-template
Add welcome course, finish template substitution for west575
Sync courses / sync (push) Successful in 5s
Sync courses / sync (push) Successful in 5s
This commit is contained in:
@@ -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 }}
|
||||||
|
|||||||
@@ -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.
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user