Azure DevOps Connector
Azure DevOps Connector je utrjena povezava wikija z Azure DevOps: upravljanje povezav, prijava, dostop prek REST in diagnostika. Ničesar ne sinhronizira in nobene skrivnosti ne shrani kot golo besedilo. Paket je namenjen upraviteljem, ki priključijo organizacijo Azure DevOps (ADO), in je osnova za pakete, ki se nanj opirajo.
Prvi koraki
Hitri začetek: prva povezava z Azure DevOps – najkrajša pot do prvega rezultata, v štirih korakih.
Ustvarite povezavo → Shranite sklic na skrivnost → Preverite omrežni dostop
Pogosta opravila
| Kaj želite | Za koga | Kje to naredite | Navodilo |
|---|---|---|---|
| ustvariti povezavo z Azure DevOps | upravitelji | do=wkdoado na strani projekta | Ustvarjanje povezav |
| shraniti skrivnost, ne da bi jo vpisali | upravitelji | sklic na wkvault | Skrivnosti |
| razumeti, zakaj se pri zapisu zahteva drugi dejavnik | upravitelji | – | Drugi dejavnik pri zapisu |
| nastaviti odhodni omrežni dostop | upravitelji | Splošne nastavitve | Utrjevanje omrežja |
preveriti, ali je izpolnjen predpogoj curl | upravitelji | – | curl je predpogoj |
| prikazati repozitorij ADO v wikiju | avtorji | – | ADO-Git |
| vedeti, česa ta paket ne zmore | vsi | – | Meje |
Namen
Utrjena povezava z Azure DevOps: upravljanje povezav, overjanje, odjemalec REST in diagnostika. Ničesar ne sinhronizira in ne hrani skrivnosti kot golo besedilo – zagotovi le pot, po kateri gredo drugi vtičniki.
Registrirana storitev (glejte Core): ado.client. Glavni porabnik je
wkdoadogit.
Ustvarjanje povezav
Na strani projekta: ?do=wkdoado. Povezava vedno pripada enemu projektu
(glejte DevOps Core) in se shrani v dwdo_ado_connections.
deployment = server) osnovni URL zbirko že vsebuje, npr.
https://devops.wvds.it/Me. Če izpolnite še polje Collection, jo del kode, ki sestavi naslov
zahteve, doda drugič — vsaka zahteva REST se tedaj konča s HTTP 404, sporočilo pa razloga ne
pove. Zbirko navedite ali v osnovnem URL ali v lastnem polju, nikoli v obeh.
Skrivnosti
Osebni dostopni žeton (PAT) ne sodi v zbirko podatkov. Shrani se sklic, ki ga
SecretResolver (razreševalnik skrivnosti) razreši šele med izvajanjem:
| Sklic | Pomen |
|---|---|
vault:{id} | vnos v trezorju wkvault – priporočeno: vnos prinese datum poteka, predajo ob menjavi in zapis vsakega branja. Brez vtičnika se ta sklic zavrne; drugi delujejo naprej. |
file:{ime_datoteke} | datoteka pod mapo, nastavljeno v ado_secret_root |
env:{ime} | okoljska spremenljivka |
enc:… | šifrirano shranjena vrednost |
ado_secret_root je privzeto prazen in s tem izklopljen. Dokler mapa ni nastavljena, se noben
sklic file: ne razreši. Razreševalnik poleg tega preveri, ali je datoteka res pod to mapo — sklic
z .. iz nje ne uide.
Drugi dejavnik pri zapisu sklica
[V uporabi od 9. 8. 2026] Zavarovano prek Identity Plugin Contract v1
(Identity Plugin Contract v1): most do=wkdoado_stepup s trdno
določenim seznamom kategorij.
| Kategorija | Zahteva | Velja za |
|---|---|---|
secret-write | MFA_ANY | nastavitev ali spremembo sklica na skrivnost |
remove | MFA_ANY | odstranitev povezave |
Preverjanje velja dodatno k seznamu dostopa DokuWiki, nikoli namesto njega. Če wkidentity ni
nameščen, se paket vede nespremenjeno — zavestna, dokumentirana meja, ne skrito vedenje. Most nikoli ne
sprejme zahteve, ki jo pošlje klicoča stran, temveč le ime s svojega seznama; neznano ime se zavrne.
Utrjevanje omrežja
| Nastavitev | Privzeto | Pomen |
|---|---|---|
ado_host_allow | prazno | dovoljena ciljna imena gostiteljev, natančno. Prazno = vse prepovedano |
ado_allow_private | 0 | dovoli cilje v zasebnih omrežjih in na povratnem naslovu — potrebno za ADO na lastnem strežniku |
ado_ca_bundle | prazno | lasten sveženj overiteljev (CA); preverjanje TLS je vedno vklopljeno |
ado_connect_timeout | 5 s | vzpostavitev povezave |
ado_timeout | 20 s | celotna zahteva |
ado_max_bytes | 1048576 | zgornja meja velikosti odgovora |
ado_max_retries | 2 | dodatni poskusi GET ob omejitvi hitrosti ali napaki prenosa |
ado_host_allow je privzeto prazen seznam, prazen seznam pa prepove vse. To je prava privzeta
vrednost za odjemalca, do katerega lahko seže vsebina strani — in hkrati najpogostejši razlog, da na
novo ustvarjeni povezavi zaslon sporoči »Konektor ni dejaven«, čeprav sta PAT in URL pravilna.
127.0.0.1 (kot devops.wvds.it na tej
namestitvi), sta potrebni obe nastavitvi: ime gostitelja v ado_host_allow in
ado_allow_private = 1. Druga je zavestna privolitev, ker odpravi zaščito pred ponarejanjem zahtev
na strani strežnika (SSRF) v zasebna omrežja.
curl je predpogoj, ne dodatek
Celotna pot REST teče prek razširitve curl; AdoRestClient::available() ni nič drugega kot
function_exists('curl_init'). Če razširitve ni, se prikaže sporočilo »Konektor ni dejaven« in vsak zaslon,
ki gradi na konektorju, ostane prazen.
Prenosni strežnik curl ni imel vgrajenega; kako je bil nameščen naknadno, opisuje Zagon posrednika git na prenosnem strežniku.
Meje
- Delovni elementi se ne usklajujejo — tabele zanje so pripravljene (glejte Vtičnik DevOps Storage), vtičnik, ki bi to opravljal, pa ni nameščen.
- Povezava se vedno overja z enim PAT; identiteta posameznega uporabnika wikija prek nje ne doseže ADO.
Podatki o paketu
Vtičnik: wkdoado
Imenski prostor: lib/plugins/wkdoado/
Avtor: Wolfgang van der Stille Wolfgang.van.der.Stille@gmail.com (The White Knight Labs)
Licenca: GPL 2