Skip to content

FreeSynergy/Node.Store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

FreeSynergy.Node.Store

The official module registry for FreeSynergy.Node.

This repository contains all deployable service modules for the FSN platform: container definitions, Ansible templates, environment schemas, healthchecks, and i18n strings. The Node CLI fetches this catalog at runtime to populate the service browser and drive deployments.


Repository layout

Node/
  index.toml        Legacy offline fallback index (used by bundled FSN binary)
  catalog.toml      Primary machine-readable catalog (fetched by StoreClient)
  store.toml        Store metadata (name, description, icon)
  catalog.toml      Full catalog with all module entries

  modules/          One directory per service module
    proxy/zentinel/
    iam/kanidm/
    mail/stalwart/
    git/forgejo/
    wiki/outline/
    chat/tuwunel/
    collab/cryptpad/
    tasks/vikunja/
    tickets/pretix/
    maps/umap/
    monitoring/openobserver/
    database/postgres/
    cache/dragonfly/

  i18n/             UI and manifest translations
    de.toml
    en.toml
    index.toml

Module structure

Each module lives under Node/modules/{type}/{name}/ and contains:

{name}.yml          Container definition (Podman Quadlet + Ansible vars)
{name}.svg          Module icon
templates/          Jinja2 config templates
hooks/              Pre/post deploy hooks (optional)

Container definition format

module:
  id: "cache/dragonfly"
  name: "Dragonfly"
  version: "0.1.0"
  service_type: "cache"

container:
  image: "docker.dragonflydb.io/dragonflydb/dragonfly:latest"
  healthcheck: "CMD /usr/local/bin/healthcheck"   # mandatory
  published_ports: []                              # empty except Zentinel

environment:
  DRAGONFLY_THREADS: "{{ dragonfly_threads | default('2') }}"

Adding a new module

  1. Create Node/modules/{type}/{name}/ with {name}.yml and {name}.svg
  2. Add an entry to Node/catalog.toml (and Node/index.toml for offline fallback)
  3. Add i18n strings to Node/i18n/de.toml and Node/i18n/en.toml
  4. Open a PR — CI validates the YAML schema and TOML structure

Live URL (used by FSN CLI)

https://raw.githubusercontent.com/FreeSynergy/Node.Store/main/Node/catalog.toml

Default store config in FSN:

[[stores]]
name     = "FSN Official"
url      = "https://raw.githubusercontent.com/FreeSynergy/Node.Store/main"
git_url  = "https://github.com/FreeSynergy/Node.Store.git"
enabled  = true

License

MIT — see LICENSE. by KalEl / FreeSynergy.Net

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors