License & contributing¶
Licensing¶
Each of the four repos carries its own LICENSE file, which is the authoritative
statement of terms. alpstack is deployment configuration — it stands up software that
carries its own, independent licenses.
alpstack is a separate work from what it deploys
Licensing follows the layers. openDesk's own deployment tooling — the analogue of alpstack — is Apache-2.0; the applications it installs (Nextcloud, Element/Synapse, OX App Suite, Nubus, …) are variously copyleft (mostly AGPL/GPL). alpstack is an independent work: deploying copyleft software imposes no license obligation on the config that deploys it, so alpstack's license is its own choice.
Licensing at a glance
The four deployment repos — talos-cluster, platform-argocd, addons-argocd,
opendesk-argocd — are licensed under the GNU Affero General Public License,
version 3 (SPDX AGPL-3.0-only), signalling reciprocity to the
sovereign-workplace / Public Money Public Code community that is alpstack's
natural audience. This site and the user handbook are
prose, so they're licensed CC BY-SA 4.0. Each repo's LICENSE file is
authoritative.
The upstream opendesk/ clone is not ours — it stays under its own license
(Apache-2.0 for the deployment repo) and we never relicense or modify it.
Contributing¶
alpstack is maintained primarily for our own production use. That said:
- Issues and pull requests are welcome. If you've deployed the stack and hit a gap in these docs or a genuine bug, open an issue on the relevant repo.
- Response time is best-effort. This is a two-person project run alongside operating the cluster — not a staffed product.
- No Code of Conduct yet — small project, no community to govern. That changes if one forms.
Tracking upstream¶
The reference-architecture update model is fork + manual merge (the same way we consume openDesk):
git remote add upstream https://codeberg.org/alpstack/<repo>.git
git fetch upstream
git merge upstream/main
Your customizations cluster in values/global.yaml, your sealed secrets, and the
clusters/<name>/ overlay — so merges mostly bring chart-structure changes, not
conflicts with your values. See Track upstream for the full
model.