301770321e
Multi-site join wiring (server + UI landed in theta-directory v2.3.0): - bootstrap/site-join.js: runs inside the sso-manager container (same self-contained rule as bootstrap.js); logs in as the bootstrap admin and calls /api/site/join. Idempotent: an already-joined node reports 'already a spoke'. - setup.sh step 5b: if setup.env sets CFG_MASTER_DIRECTORY_URL + CFG_MASTER_DIRECTORY_JOIN_KEY, run the join after the bootstrap. Only honored on first run (ensure_config reads setup.env once and ignores it once ./config/ exists), so an already-populated directory can never be merged. - setup.env.example documents both vars. - lint.yml also node --check's site-join.js.
49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
name: Lint
|
|
|
|
# theta-suite has no app code of its own to unit-test (it orchestrates the
|
|
# proxy/sso-manager-node submodules) -- this checks the one thing that can
|
|
# actually break silently: setup.sh and bootstrap.js, plus a static
|
|
# consistency check on the config bootstrap.js generates for jump-host
|
|
# (test/check_jump_ldap_tls.js).
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
push:
|
|
branches-ignore:
|
|
- master
|
|
|
|
jobs:
|
|
shellcheck:
|
|
name: Shellcheck setup.sh
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Syntax check
|
|
run: bash -n setup.sh
|
|
|
|
- name: Shellcheck
|
|
run: shellcheck -S warning setup.sh
|
|
|
|
bootstrap-syntax:
|
|
name: Syntax check bootstrap scripts
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22.x
|
|
|
|
- name: Syntax check
|
|
run: |
|
|
node --check bootstrap/bootstrap.js
|
|
node --check bootstrap/site-join.js
|
|
|
|
- name: Jump-host LDAP config consistency
|
|
run: node test/check_jump_ldap_tls.js
|