No description
  • Shell 39.1%
  • Go 39%
  • Makefile 14.6%
  • Dockerfile 4.5%
  • Python 2.8%
Find a file
zemdregon 317948a4ed
Some checks are pending
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
chore(deps): bump actions/setup-go to v7 (#18)
* chore(deps): bump actions/setup-go to v7

Self-hosted CI workflows.

* ci: setup-go v7 + cache false
2026-08-12 09:47:37 -05:00
.github chore(deps): bump actions/setup-go to v7 (#18) 2026-08-12 09:47:37 -05:00
cmd/module chore: refresh starter docs and module bootstrap 2026-07-22 19:10:04 -05:00
cookiecutter ci: drop -race from cookiecutter module template 2026-08-10 11:35:02 -05:00
deploy Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
internal Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
scripts fix(starter): cookiecutter docs, new-module, CI without sibling tree 2026-08-10 10:09:25 -05:00
test Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
.dockerignore Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
.env.example chore: refresh starter docs and module bootstrap 2026-07-22 19:10:04 -05:00
.gitignore Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
.golangci.yml Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
CHANGELOG.md fix(starter): cookiecutter docs, new-module, CI without sibling tree 2026-08-10 10:09:25 -05:00
COMPATIBILITY.md fix(starter): cookiecutter docs, new-module, CI without sibling tree 2026-08-10 10:09:25 -05:00
CONTRIBUTING.md fix(starter): cookiecutter docs, new-module, CI without sibling tree 2026-08-10 10:09:25 -05:00
Dockerfile Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
go.mod chore: pin core@v0.5.0 and drop sibling replace 2026-08-09 16:09:07 -05:00
go.sum chore: pin core@v0.5.0 and drop sibling replace 2026-08-09 16:09:07 -05:00
LICENSE Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
Makefile fix(starter): cookiecutter docs, new-module, CI without sibling tree 2026-08-10 10:09:25 -05:00
muxcore.json Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00
README.md fix(starter): cookiecutter docs, new-module, CI without sibling tree 2026-08-10 10:09:25 -05:00
ROADMAP.md fix(starter): cookiecutter docs, new-module, CI without sibling tree 2026-08-10 10:09:25 -05:00
SECURITY.md Initial scaffold: MuxCore module starter template 2026-06-11 20:05:04 -05:00

muxcore-module-starter

CI Go Version License: GPL-3.0

Cookiecutter template and reference scaffold for MuxCore sidecar modules.

Pins published core@v0.5.0 (no local replace, no sibling checkout). Self-hosted CI fetches private modules with MUXCORE_CI_TOKEN.


Create a new module

From a checkout of this repo:

make new-module NAME=my-module
# optional: OUT=/path/to/my-module ORG=Muxcore-Media

Or:

./scripts/new-module.sh NAME=my-module
# if you have cookiecutter installed:
cookiecutter ./cookiecutter --no-input module_slug=my-module module_name="My Module"

The generator writes a ready-to-push module (Go module path, muxcore.json, Makefile, self-hosted CI without a sibling core tree).

Verify the template locally:

./scripts/check-cookiecutter.sh

Then in the new repo:

cd ../my-module   # default OUT
make build
make test

See Writing Modules for the full authoring guide.


Reference scaffold (this repo)

Root files are the live reference module (your-module placeholders). Prefer make new-module / cookiecutter/ when starting a real module; keep this tree as the smoke-tested baseline.

Configuration

Core connection is resolved by the module SDK (Config → env → CLI → Info().ID).

Variable / flag Default Description
MUXCORE_GRPC_ADDR / --muxcore-mesh-addr (required) Core gRPC address (host:port)
MUXCORE_MODULE_ID / --muxcore-module-id Info().ID Module ID override
MUXCORE_INSECURE_DISABLE_TLS Dev-only; scaffold sets Insecure from this env

Build & test

make build
make test
make ci     # lint + test + build

Run against local core

# Terminal 1
MUXCORE_INSECURE_DISABLE_TLS=true muxcored

# Terminal 2
export MUXCORE_GRPC_ADDR=localhost:9090
export MUXCORE_INSECURE_DISABLE_TLS=true
./your-module

Deploy

make docker
docker compose -f deploy/docker-compose.yml up
# or: sudo cp deploy/systemd/muxcore-module.service /etc/systemd/system/

License

GPL-3.0