Christian Galo 943e20b29b Seed FedWiki fixtures from Keycloak
Add a fedwiki-render compose service and render.sh to resolve real
Keycloak user UUIDs and render .tpl templates into testdata on compose
up.
Convert hardcoded FedWiki testdata into templates, add seed-stack.sh
helper,
and update compose/env and .gitignore to run seeding before starting
fedwiki.
2026-04-29 15:55:40 -05:00
2026-03-31 01:48:08 -05:00
2026-03-31 01:48:08 -05:00
2026-02-02 22:19:16 -06:00
2026-04-06 03:15:20 -05:00
2026-04-29 15:55:40 -05:00
2026-04-29 03:28:43 -05:00
2026-04-29 03:28:43 -05:00
2026-04-29 03:28:43 -05:00
2026-04-29 15:55:40 -05:00
2026-04-29 15:55:40 -05:00
2026-04-29 03:28:43 -05:00
2026-04-03 19:25:24 -05:00

member-console

Member console application for users to create, acccess, and manage their accounts associated with the Wiki Cafe MSC (multi-stakeholder co-operative).

Database Management

See docs/database-management.md for migrations, per-module schema ownership, and sqlc code generation.

Building and publishing container image

Building and publishing the container image is done using Docker Buildx. This allows us to build multi-platform images for both ARM64 and AMD64 architectures.

docker buildx build \
  --platform linux/arm64,linux/amd64 \
  -t git.coopcloud.tech/wiki-cafe/member-console:latest \
  -t git.coopcloud.tech/wiki-cafe/member-console:$(date +%Y-%m-%d) \
  --push \
  .

Deploying image to production

Generating Secrets

To generate secure values for session-secret and csrf-secret, use the following commands:

For session-secret (a base64-encoded random string):

openssl rand -base64 32

Example output:

rJcniy2aWl3vwBcrMJfqsTL+Wys7EwDx/RC+DRrKcYg=

For csrf-secret (a 32-character hexadecimal string):

openssl rand -hex 16

Example output:

e157b42a5b608882179cb4ac69c12f84

Ensure these secrets are securely stored and persisted for application use.

Development

Building

Compile to ./member-console

make build

Linting

Ensure no handler bypasses SafeTemplates by writing directly to ResponseWriter

make lint-templates

lint-templates scans internal/server/ for .ExecuteTemplate(w, in any file. All template rendering must go through h.Templates.Render() — see internal/server/render.go for why.

Database

Regenerate sqlc query code after schema changes

make sqlc-generate

Development status

See status/ for the development roadmap, milestones, and notes.

Description
Member console application for users to create, acccess, and manage their accounts associated with the Wiki Cafe MSC.
Readme AGPL-3.0 12 MiB
Languages
Go 76.5%
HTML 16.6%
Shell 4.1%
JavaScript 1.2%
PLpgSQL 1.1%
Other 0.4%