All checks were successful
CI / CUDA type-check (push) Successful in 1m32s
CI / Format (push) Successful in 57s
CI / Clippy (push) Successful in 2m51s
CI / Test (push) Successful in 8m0s
CI / Build cortex SRPM (push) Has been skipped
CI / Build neuron SRPM (push) Has been skipped
CI / Publish cortex to COPR (push) Has been skipped
CI / Publish neuron to COPR (push) Has been skipped
CI / Bump version in source (push) Has been skipped
Ships the mesh authority as an RPM on the same prebuilt-binary pipeline as
helexa-bench.
- rpm/helexa-upstream-prerelease.spec: wraps the CI-built binary; installs
the systemd unit, sysusers, firewalld service (tcp/8090), and
/etc/helexa-upstream/helexa-upstream.toml (config noreplace).
- data/helexa-upstream.{service,sysusers.conf,firewalld.xml}: Type=simple
unit (serve --config), dedicated system user with a StateDirectory home,
inbound 8090 (/authz/v1 + /web/v1). PostgreSQL is reached outbound; the
schema migrates on startup.
- build-prerelease.yml: build-upstream + package-upstream jobs with
change-detection over crates/helexa-upstream/ (UPSTREAM_RE), gated into
publish. SQLX_OFFLINE=true is set defensively — helexa-upstream uses the
sqlx runtime query API (no compile-time macros), so it builds with no
database and no .sqlx cache; DB integration tests stay gated behind
UPSTREAM_TEST_DATABASE_URL.
Validated: workflow YAML parses, rpmspec expands, and
`SQLX_OFFLINE=true cargo build --release -p helexa-upstream` succeeds.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F6o3ddqmYNh9kzdwq6eowh
23 lines
804 B
Desktop File
23 lines
804 B
Desktop File
[Unit]
|
|
Description=helexa-upstream — mesh account + budget authority (accounts, API keys, allocation ledger, top-up codes)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/bin/helexa-upstream serve --config /etc/helexa-upstream/helexa-upstream.toml
|
|
# HTTP authority for cortex (/authz/v1) and the frontend (/web/v1); restart
|
|
# unconditionally if it ever exits. It connects out to PostgreSQL (the
|
|
# system of record) and runs schema migrations on startup.
|
|
Restart=always
|
|
RestartSec=10
|
|
User=helexa-upstream
|
|
Group=helexa-upstream
|
|
# Service user home; no local state (PostgreSQL holds everything), but
|
|
# StateDirectory gives the user a writable, correctly-owned home.
|
|
StateDirectory=helexa-upstream
|
|
StateDirectoryMode=0755
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|