Arbejdsgange (Workflows)
Semaphore behandler i øjeblikket hver opgaveskabelon som en uafhængig enhed — der findes ingen indbygget måde at sammenkæde flere skabeloner i en flertrins eksekveringspipeline. Denne funktion introducerer Arbejdsgange (Workflows) — rettede asykliske grafer (DAG) over opgaveskabeloner, som afvikles med betinget forgrening, variabeloverførsel mellem trin og valgfrie godkendelsesporte. Designet trækker på koncepter fra AWX Workflow Job Templates, Rundeck og Jenkins/GitLab CI pipelines.
Pro
- Arbejdsgangsskabeloner — introduktion af en ny overordnet enhed, der definerer en DAG af opgaveskabelonknuder forbundet med betingelser (
on_success,on_failure,always), hvilket muliggør flertrins automatiseringspipelines inden for et projekt. (#3182, #2334, #1383, #836) - Eksekveringsmotor til arbejdsgange — afvikling af knuder i topologisk rækkefølge, overholdelse af kantbetingelser og parallel kørsel af uafhængige forgreninger med konvergens for knuder med flere forældre. (#2281, #3088)
- Kørselsdashboard for arbejdsgange — samlet visning af arbejdsgangseksekvering med DAG-graf og status pr. knude (afventer, kører, fuldført, mislykket, sprunget over), klikbare logs og samlet tidsforbrug.
- Variabeloverførsel mellem knuder — gør det muligt for opgaveskabeloner at udsende output-variabler, som automatisk injiceres som ekstra variabler i efterfølgende knuder. (#3182)
- Planlægning og API-udløsere — understøttelse af cron-planlægning, API-udløste kørsler og webhook-udløsere for arbejdsgange. (#3088)
- Visuel arbejdsgangseditor — træk-og-slip grafisk editor til opbygning af arbejdsgange i brugerfladen med realtidsvalidering, knudeplacering og betingelsesvælgere.
- Tilsidesættelser pr. knude — mulighed for at tilsidesætte inventory, adgangsoplysninger eller variabler på knudeniveau, så samme skabelon kan genbruges på tværs af miljøer i én arbejdsgang.
- Godkendelsesporte — stands eksekvering på bestemte punkter for at afvente manuel godkendelse med konfigurerbare timeouts og godkend/afvis-handlinger direkte i brugerfladen eller via API.
Enterprise
- RBAC for arbejdsgange — finkornede rettigheder til oprettelse, redigering, eksekvering og godkendelse af arbejdsgange med rollebaseret tildeling af godkendelsesporte og revisionslogning.
- Tværgående arbejdsgange — referer til opgaveskabeloner fra andre projekter i en arbejdsgang, hvilket muliggør organisationsdækkende automatiseringspipelines.
- Versionsstyring og tilbagerulning — bevar versionshistorik for arbejdsgangsdefinitioner med diffs og gendannelse af tidligere versioner.
LDAP og OpenID Gruppemapping
Semaphore understøtter LDAP og OpenID Connect (OIDC) til godkendelse. Denne funktion tilføjer automatisk rolle- og projekttildeling baseret på identitetsudbyderens gruppemedlemskaber.
Community
- Begræns OIDC-login via claim — tillad kun brugere med specifikke claim-værdier (f.eks. påkrævet gruppemedlemskab eller e-maildomæne) at logge ind. (#2626, #2938)
- Automatisk SSO-login — omgå loginskærmen og videresend direkte til OIDC/SSO-udbyderen. (#2548, #2899)
- OIDC PKCE-understøttelse — Proof Key for Code Exchange til godkendelseskode-flowet. (#3072)
- Logud fra OIDC-udbyder — afslut IdP-sessionen ved logud fra Semaphore. (#1496)
Enterprise
- OIDC gruppe-til-rolle mapping — tildel automatisk Semaphore-roller og projektmedlemskaber baseret på OIDC claims (
groupsclaim). (#1499, #2483) - LDAP gruppe-til-rolle mapping — kortlæg Active Directory / LDAP-grupper til Semaphore-roller. (#3226, #1316)
- Fuld RBAC med LDAP/OIDC-integration — finkornet rollebaseret adgangskontrol med automatisk rolletildeling fra eksterne identitetsgrupper. (#891)
Indbygget Inventory Management System
Et struktureret, UI-administreret inventory-system, hvor værter, grupper og variabler er førsteklasses objekter gemt i Semaphore, som kan redigeres direkte i webgrænsefladen og eksporteres til standard Ansible-format.
Community
- Struktureret værts- og gruppe-editor — administrer værter og grupper visuelt i stedet for manuel redigering i en tekstboks. (#836)
- Værts- og gruppevariabler i UI — definer
host_varsoggroup_varssom strukturerede nøgle/værdi-par. - Importer eksisterende inventory — klargør et administreret inventory ved at importere en INI/YAML-fil.
- Eksporter til standard Ansible inventory — gengiv det administrerede inventory som en standard Ansible inventory-fil under opgavekørsel.
Fleksibelt Notifikationssystem
Gør notifikationer fuldt administrerbare via brugerfladen med konfiguration på projekt- og skabelonniveau samt understøttelse af mange nye kanaler.
Community
- Udvidelsesvenlig kanalarkitektur — fælles grænseflade for notifikationskanaler. (#2325, #1290)
- UI-administreret konfiguration — flyt opsætning af notifikationer ind i brugerfladen pr. projekt og skabelon. (#3387)
- Nye notifikationskanaler — Discord, Ntfy, Google Chat, Rocket.Chat og Pushover.
- Udgående webhook-hændelser — definer hændelsestyper (START, SUCCESS, FAILURE) og webhook-skabeloner.
Brugerdefinerede Hemmeligheder
Individuel Key Store-isolation pr. bruger, så personlige adgangsoplysninger (SSH-nøgler, sudo-adgangskoder) holdes adskilt fra andre projektmedlemmer.
Community
- Personlig nøgleboks — separat Key Store for hver bruger. (#1483)
- Skjul hemmeligheder fra proceslisten — stop overførsel af hemmelige variabler via kommandolinjeargumenter synlige i proceslisten. (#3219)
Adgangsoplysninger til requirements.yml
Giver mulighed for at tilknytte adgangsoplysninger til skabeloner, som automatisk anvendes af ansible-galaxy install til at hente private roller og samlinger fra Git-repositories.
Vedvarende Repository-Cache
Giver mulighed for at bevare et enkelt persistent klonet repository, der opdateres i baggrunden, i stedet for at klone forfra ved hver opgavekørsel.
Flere Inventories pr. Skabelon
Understøttelse af at tilknytte flere inventories til en enkelt opgaveskabelon (overføres som sekventielle -i-argumenter til Ansible).
