Add README, sync workflow, and courses scaffold

Captures the boilerplate shared by all existing <client>-eec-courses
repos (README + sync.yml), parameterized with __CLIENT__/__DOMAIN__
placeholders for use via Gitea's Generate Repo.
This commit is contained in:
2026-07-24 07:35:45 -04:00
parent 9494ded6aa
commit af6f6ee17d
3 changed files with 64 additions and 2 deletions
+38 -2
View File
@@ -1,3 +1,39 @@
# eec-courses-template
# __CLIENT__-eec-courses
Template for per-client eec course repos (welcome/nurture/lead-magnet email courses synced to an eec instance)
Course content for [eec](https://gitea.reground.org/will/eec), the self-paced
email course engine — this instance served at eec.__DOMAIN__. Push to
`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.
Full reference for course/step file format, `course.yml` fields, the
readiness step, drip-triggered courses, and sync guardrails lives in the
[`eec-courses`](https://gitea.reground.org/will/eec-courses) README — the
format is identical, only the target instance differs.
## Layout
```
courses/
<slug>/
course.yml
day-0.md
day-1.md
...
```
## Deploying
Push to `master``.gitea/workflows/sync.yml` tars up `courses/` and
`POST`s it to this domain's `eec-__CLIENT__` container over the internal
Docker network, authenticated with `__CLIENT___EEC_SYNC_TOKEN` (a Gitea
Actions secret shared with the `eec-__CLIENT__` Ansible role's copy). No
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.