Tokovi posla (Workflows)

verzija 2.19

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

verzija 2.20

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

verzija 2.22

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_vars i group_vars kao 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

verzija 2.21

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.