Tokovi posla (Workflows)
Semaphore trenutno tretira svaki šablon zadatka kao nezavisnu jedinicu — ne postoji ugrađeni način za lančano povezivanje više šablona u višestepeni pajplajn izvršavanja. Ova mogućnost uvodi Tokove posla — usmerene aciklične grafove (DAG) šablona zadataka koji se izvršavaju sa uslovnim grananjem, prenosom promenljivih između koraka i opcionim kapijama za ručno odobrenje. Dizajn se oslanja na AWX Workflow Job Templates, Rundeck radne tokove i koncepte Jenkins/GitLab CI pajplajna.
Pro
- Šabloni tokova posla — uvođenje novog entiteta najvišeg nivoa koji definiše DAG čvorova šablona zadataka povezanih usmerenim vezama sa uslovima (
on_success,on_failure,always), omogućavajući višestepene automatizacione pajplajne unutar projekta. (#3182, #2334, #1383, #836) - Endžin za izvršavanje tokova posla — izvršavanje čvorova toka posla po topološkom redosledu, poštujući uslove veza i paralelno izvršavajući nezavisne grane, sa ALL-konvergencijom za čvorove sa više roditelja. (#2281, #3088)
- Kontrolna tabla izvršavanja tokova posla — jedinstven prikaz izvršavanja toka posla sa DAG grafom i statusom svakog pojedinačnog čvora (na čekanju, pokrenut, uspešan, neuspešan, preskočen), klikabilnim logovima čvorova i ukupnim vremenom rada.
- Prenos promenljivih između čvorova — omogućava šablonima zadataka da emituju izlazne promenljive (kroz poznati fajl ili Ansible
set_stats) koje se automatski prosleđuju kao dodatne promenljive u naredne čvorove. (#3182) - Planiranje tokova posla i API okidači — podrška za cron planiranje, pokretanje putem API-ja i webhook okidače za tokove posla, sa opcionim promenljivim upitnika na nivou toka posla. (#3088)
- Vizuelni uređivač tokova posla — grafički uređivač sa prevlačenjem (drag-and-drop) za dizajniranje tokova posla u interfejsu, sa validacijom grafa u realnom vremenu, pozicioniranjem čvorova i biračima uslova na vezama.
- Predefinisanje na nivou čvora — mogućnost predefinisanja inventara, akreditiva, grupa promenljivih ili CLI argumenata na nivou čvora toka posla, omogućavajući ponovno korišćenje istog šablona u različitim okruženjima unutar jednog toka posla.
- Kapije za odobrenje — pauziranje izvršavanja toka posla na određenim tačkama radi čekanja na odobrenje korisnika, sa podesivim vremenskim ograničenjima, obaveštavanjem odgovornih lica i akcijama odobri/odbij direktno iz interfejsa ili putem API-ja.
Enterprise
- RBAC za tokove posla — granularne dozvole za kreiranje, izmenu, pokretanje i odobravanje tokova posla, sa dodelom kapija za odobrenje na osnovu uloga i revizorskim logovanjem.
- Međuprojektni tokovi posla — referenciranje šablona zadataka iz drugih projekata unutar toka posla, omogućavajući automatizacione pajplajne na nivou cele organizacije koji obuhvataju infrastrukturu, aplikacije i monitoring.
- Verzionisanje tokova posla i vraćanje unazad (rollback) — održavanje istorije verzija definicija tokova posla sa prikazom razlika (diff), vraćanje prethodnih verzija i beleženje tačne verzije korišćene pri svakom pokretanju.
Mapiranje LDAP i OpenID grupa
Semaphore podržava LDAP i OpenID Connect (OIDC) za autentifikaciju, ali se integracija trenutno zaustavlja na prijavi — nema automatskog dodeljivanja uloga ili projekata na osnovu članstva u grupama kod provajdera identiteta. Svaki OIDC/LDAP korisnik mora biti ručno dodeljen projektima i ulogama nakon prve prijave.
Community
- Ograničenje OIDC prijave po tvrdnji (claim) — dozvola prijave samo korisnicima sa specifičnim vrednostima tvrdnji (npr. obavezno članstvo u grupi ili domen email adrese). (#2626, #2938)
- Automatska SSO prijava — zaobilaženje ekrana za prijavu i direktno preusmeravanje na OIDC/SSO provajdera, uz sigurnosni URL za oporavak ukoliko SSO nije dostupan. (#2548, #2899)
- OIDC PKCE podrška — dodavanje Proof Key for Code Exchange mehanizma u OIDC tok autorizacionog koda prema RFC 9700. (#3072)
- Konfiguracija OIDC-a putem promenljivih okruženja — omogućavanje konfigurisanja OIDC provajdera kroz promenljive okruženja umesto isključivo kroz konfiguracioni fajl. (#2528, #3120)
- Ispravka LDAP dodele korisničkog imena — osiguranje da LDAP korisnici dobiju svoje stvarno LDAP korisničko ime umesto nasumično generisanog niza. (#3688)
- Rezervna lokalna autentifikacija za LDAP — omogućavanje lokalnim administratorskim nalozima da se i dalje prijave kada je LDAP omogućen, sprečavajući zaključavanje sistema ako LDAP server postane nedostupan. (#1363)
- LDAP debag logovanje — dodavanje detaljnih logova za neuspele LDAP autentifikacije radi lakšeg otklanjanja problema. (#2932)
Pro
- Sinhronizacija LDAP akreditiva sa pristupnim ključevima — opciono automatsko ažuriranje lozinke pristupnog ključa kada se LDAP lozinka promeni pri prijavi. (#3696)
Enterprise
- Mapiranje OIDC grupa u uloge — automatska dodela Semaphore uloga i članstava u projektima na osnovu OIDC tvrdnji (npr. tvrdnja
groups), eliminišući ručno podešavanje. (#1499, #2483) - Mapiranje LDAP grupa u uloge — mapiranje Active Directory / LDAP grupa u Semaphore uloge, uključujući dodelu administratorskih prava preko članstva u grupi. (#3226, #1316)
- Kompletan RBAC sa LDAP/OIDC integracijom — implementacija granularne kontrole pristupa sa automatskom dodelom uloga iz spoljnih grupa provajdera identiteta. (#891)
Ugrađeni sistem za upravljanje inventarom
Danas Semaphore tretira inventar kao neprozirni blok podataka — korisnici lepe sirovi INI/YAML u jedno tekstualno polje ili pokazuju na fajl u repozitorijumu. Ova funkcionalnost uvodi ugrađeni sistem za upravljanje inventarom: strukturisani uređivač inventara upravljan kroz interfejs gde su hostovi, grupe i promenljive objekti prvog reda.
Community
- Strukturisani uređivač hostova i grupa — upravljajte hostovima, njihovim adresama i grupama hostova kroz korisnički interfejs uz dodavanje, uklanjanje i preimenovanje. (#836)
- Promenljive hostova i grupa u interfejsu — definišite
host_varsigroup_varskao strukturisane parove ključ/vrednost po hostu i po grupi. - Unapređeni inline uređivač inventara — zamena malog tekstualnog polja većim uređivačem sa promenljivom veličinom i isticanjem sintakse za YAML/INI. (#698, #1650)
- Uvoz postojećeg inventara — kreiranje upravljanog inventara uvozom postojećeg INI/YAML fajla.
- Izvoz u standardni Ansible inventar — renderovanje upravljanog inventara u standardni format pri izvršavanju zadatka.
Pro
- Višekratne grupe hostova — definišite grupe hostova jednom i delite ih kroz više inventara i projekata.
- Istorija izmena inventara — praćenje revizija inventara sa prikazom razlika (diff) i mogućnošću vraćanja prethodne verzije.
Enterprise
- Uloga operatera za upravljanje hostovima — uvođenje uloge koja može dodavati, menjati i brisati hostove u određenim inventarima bez davanja punih administratorskih prava na projektu. (#2989)
- Odobrenje izmena inventara — zahtevanje pregleda i odobrenja pre nego što izmene u zaštićenim inventarima stupe na snagu.
Fleksibilni sistem notifikacija
Ova mogućnost redizajnira notifikacije iz korena tako da se njima upravlja kroz korisnički interfejs, da budu proširive i podesive na nivou projekta i šablona.
Community
- Proširiva arhitektura kanala — definisanje zajedničkog interfejsa za kanale notifikacija sa implementacijama po pojedinačnom kanalu. (#2325, #1290)
- Podešavanje notifikacija kroz interfejs — premeštanje postavki iz konfiguracionih fajlova u veb interfejs sa granularnošću po projektu i po šablonu. (#3387, #1821, #3588)
- Izlazni webhook događaji — definisanje tipova događaja (POČETAK, USPEH, NEUSPEH) i kreiranje webhook šablona po projektu sa podesivim URL-om, zaglavljima i HMAC autentifikacijom. (#1825, #2594, #3066)
- Novi kanali notifikacija — dodavanje podrške za Discord (#2924), Ntfy (#3383), Google Chat (#1148), Rocket.Chat (#1091) i Pushover (#2594).
- Notifikacije o oporavku (“Fixed”) — slanje notifikacije pri prvom uspešnom pokretanju nakon neuspeha. (#3380)
- Isključivanje svih notifikacija po šablonu — dodavanje opcije “Isključi sve notifikacije”. (#3724)
- Ispravke formata URL adrese zadataka u notifikacijama — osiguranje da svi kanali dobijaju pun URL zadatka sa domenom i protokolom. (#2097, #2311, #3292)
Pro
- Kanali notifikacija rezervisani za Pro plan — podrška za specifične kanale ekskluzivno u Pro planu.
- Upozorenja o dugotrajnim zadacima — slanje notifikacije kada zadatak prekorači definisani vremenski prag trajanja. (#1393)
Enterprise
- Dnevnik revizije za notifikacije — pretraživi dnevnik svih poslatih notifikacija sa statusom isporuke, vremenskim oznakama i detaljima primalaca. (#3410)
- Integracija sa platformama za upravljanje incidentima — izvorne integracije sa PagerDuty, Opsgenie i ServiceNow servisima za automatsko otvaranje incidenata.
- Kontrola pristupa notifikacijama zasnovana na ulogama — ograničavanje ko sme da konfiguriše pravila notifikacija i kanale na osnovu uloga u organizaciji.
