ACS |
Auto-Configuration Server. The core FTACS service (ftacs in the compose bundles). |
Active Choices |
Jenkins plugin (uno-choice) powering reactive parameters. All UI panels in this library go through it. |
Agent / Runner |
A Jenkins worker. In this codebase "runner" is the same thing as an "agent" except master and built-in. |
Audit log |
NDJSON file at ${MASTER_ENVS_DIR}/.audit-log.ndjson. Append-only; one line per privileged mutating action. |
Bundle |
The consolidated resources/services/compose-{mysql,oracle}.yml file — every service block for a given DB flavour in a single place. |
call()
|
Entry point of a Jenkins shared-library step. vars/foo.groovy must export def call(Map config = [:]). |
CascadeChoice |
CascadeChoiceParameter — Active Choices plugin class that serves as a cascade source. Contrast with DRP.
|
CPS |
Continuation-Passing Style. The Jenkins Pipeline interpreter that requires every local variable on the stack to be serialisable. See CPS Limitations. |
DRP |
DynamicReferenceParameter — Active Choices plugin class for display-only panels. Cannot drive a cascade.
|
FTACS |
The product name ("Friendly Tech ACS"). Also the name of the primary compose service. |
Gate / gated UI |
Pattern where an Active Choices panel shows a "pick something first" banner until its prerequisites are bound. Implemented by qaUiScripts.envGateHtml. |
Harbor |
Private Docker registry at hub.friendly-tech.com. Jenkins credential id: harbor-cred. |
LazyMap |
groovy.json.internal.LazyMap. SnakeYAML’s default map implementation. Not serialisable by Jenkins CPS — must be converted via utils.toBasic before crossing a stash / node(…) boundary.
|
manage-owners
|
The Manage-Environment action that rewrites meta.owners[]. The only action that bypasses the duplicate-audit code path and does not change lifecycle state. |
Manifest |
The rendered meta.json for an env. Always written via utils.atomicWriteMeta. |
Master |
Jenkins master / controller node. Hosts the shared-library loader, MASTER_ENVS_DIR, and every Active Choices script evaluation. |
Meta / meta.json |
Per-env manifest under ${MASTER_ENVS_DIR}/<env>/meta.json. Carries state, ownership, TTL, image tags, and audit pointers. |
@NonCPS
|
Groovy annotation that bypasses the CPS interpreter for a method. Used in utils.groovy for file I/O, YAML parsing, regex, and heavy closures. |
Overlay |
JSON blob submitted by the SERVICE_VARIABLES Active Choices parameter, applied by utils.applyServiceVarsOverlay onto per-service .env files. |
Partial |
An Antora include::partial$<file>.adoc[] block. Lives under docs/modules/ROOT/partials/. |
Profile (Compose) |
services.<name>.profiles: — Compose V2 feature that keeps the service out of compose up unless the profile is active. The library strips profiles: from services it plans to start.
|
RBAC |
Role-based access control enforced via QAConfig.RBAC.canModify and utils.checkOwnership. Roles: creator, co-owner, admin, anyone else. See RBAC & Ownership. |
Runner |
See Agent. |
Sandbox (Active Choices) |
Separate Groovy evaluation context where Active Choices parameter scripts run. Does not have access to the shared library. |
setupParameters()
|
Private helper inside each *Step.groovy that writes the properties([parameters([…])]) block on first run. |
Shared library |
vars/ + src/ + resources/ loaded by Jenkins as a Global Pipeline Library, rsynced into /var/jenkins_home/qa-data/shared-lib/ by utils.syncSharedLibrary.
|
Snapshot |
Backup of an env’s config dir produced by utils.createSnapshot. Stored under ${MASTER_ENVS_DIR}/.snapshots/. |
Stash / Unstash |
Jenkins pipeline steps for moving workspace content between nodes. The library uses them as the master↔runner transport. |
_UI_STATE
|
Hidden Active Choices parameter injected by qaUiScripts.sharedCssJs(). Carries an aggregate JSON snapshot of the form so derived panels can render without deep referencedParameters chains. |
TTL |
Time-to-live. One of QAConfig.TTL.ALL. Enforced by cleanupEnvsStep. |