Configurare¶
eocube citește un singur fișier de configurare, în stil kubectl. Acesta conține
surse de autentificare, definiții de stocare (storage), endpoint-uri
stac, setări mcp și contexte care le leagă pe toate. O opțiune globală
--context selectează contextul folosit de o comandă.
Locația fișierului¶
Implicit, fișierul se află la:
~/.config/eocube/eocube.yml
Locația respectă $XDG_CONFIG_HOME (deci $XDG_CONFIG_HOME/eocube/eocube.yml
atunci când variabila este setată) și poate fi suprascrisă complet cu variabila
de mediu EOCUBE_CONFIG:
export EOCUBE_CONFIG=/cale/catre/eocube.yml
Securitate¶
Fișierul stochează token-urile tale OIDC de reîmprospătare (refresh), așa că
eocube îl creează cu permisiuni sigure — modul 0600 (citire/scriere doar
pentru proprietar) într-un director 0700.
Permisiunile prea permisive sunt respinse
Așa cum OpenSSH refuză o cheie privată accesibilă tuturor, eocube
refuză să citească fișierul de configurare dacă acesta este accesibil
grupului sau altora. Dacă vezi o astfel de eroare, restrânge permisiunile cu
chmod 600 ~/.config/eocube/eocube.yml. Păstrarea directorului în siguranță
este responsabilitatea ta.
Configurare rapidă¶
Cel mai rapid început scrie valorile implicite EOCube.Ro și apoi te autentifică:
eocube setup init # sursa de autentificare + stocarea + catalogul STAC implicite
eocube auth login # salvează sesiunea în fișier
eocube setup init resetează configurația la valorile implicite ROCS. Cere
confirmare înainte de a suprascrie un fișier existent (folosește --force pentru
a sări peste confirmare).
Formatul fișierului¶
O configurație produsă de eocube setup init arată astfel:
authentication: # surse de autentificare, denumite
eocube.ro:
type: oidc
oidc:
discovery_url: https://aai.eocube.ro/realms/rocs/.well-known/openid-configuration
# refresh_token / offline_refresh_token sunt scrise aici de `auth login`
storage: # definiții de stocare, denumite
rocs-primary-storage-oidc:
endpoint: https://storage.svc.uvt-01.eocube.ro
auth:
type: oidc # folosește token-ul OIDC al contextului
oidc: {}
stac: # endpoint-uri STAC, denumite
eocube.ro:
endpoint: https://stac.eocube.ro
mcp: # valori implicite pentru serverul MCP (globale)
port: 8002
host: 127.0.0.1
stateless: false
allow-destructive: false
context: # contextele leagă secțiunile între ele
primary: eocube.ro # contextul implicit
contexts:
eocube.ro:
auth: eocube.ro # -> authentication.eocube.ro
stac: eocube.ro # -> stac.eocube.ro
storage:
providers: # backend-uri de stocare pentru componente (ex. upload)
default:
ref: rocs-primary-storage-oidc
user_storage:
ref: rocs-primary-storage-oidc
schemes: # rezolvă `storage:scheme` al unui item STAC
eocube-uvt-01-s3:
default: true
ref: rocs-primary-storage-oidc
authentication¶
Fiecare intrare este o sursă de autentificare denumită. Tipul oidc indică un
URL de descoperire (discovery) OpenID Connect; eocube auth login scrie
refresh_token / offline_refresh_token rezultate înapoi în sursă.
storage¶
Backend-uri de stocare de obiecte, denumite — un endpoint plus un bloc auth.
Autentificarea poate fi oidc (folosește token-ul OIDC al contextului), ref
(reutilizează o sursă de autentificare denumită) sau simple (chei S3 statice).
stac¶
Endpoint-uri STAC API, denumite. O intrare stac poate avea propria referință
auth; când lipsește, se folosește autentificarea contextului.
mcp¶
Valori implicite globale pentru eocube mcp serve (host, port, stateless,
allow-destructive). Această secțiune nu depinde de context.
context¶
context.primary numește contextul implicit. Fiecare context asociază o sursă
de autentificare, un endpoint STAC și stocare. Blocul storage are două părți,
ambele folosite de funcționalități adăugate ulterior:
providers— backend-uri de stocare denumite, pentru componente precum upload; providerul numitdefaulteste folosit când nu se specifică altul.schemes— o mapare folosită pentru a rezolvastorage:schemeal unui item STAC către un backend (cel marcat cudefault: true).
Construirea manuală¶
În loc de setup init, poți asambla configurația cu comenzile per-secțiune:
eocube setup auth add --name eocube.ro oidc \
--discovery-url https://aai.eocube.ro/realms/rocs/.well-known/openid-configuration
eocube setup stac add --name eocube.ro --endpoint https://stac.eocube.ro
eocube setup storage add --name rocs-primary \
--endpoint https://storage.svc.uvt-01.eocube.ro --auth-ref eocube.ro
eocube setup context add --name eocube.ro \
--auth eocube.ro --storage rocs-primary --stac eocube.ro --primary
--storage setează providerul de upload default al contextului;
--user-storage adaugă un provider user_storage.
Selectarea unui context¶
Fiecare comandă acceptă opțiunea globală --context pentru a alege contextul;
când lipsește, se folosește context.primary:
eocube --context=eocube.ro services geospatialorg get-county-by-name --name Arad
Dacă niciun context nu este configurat, comenzile afișează un mesaj clar care te
invită să rulezi eocube setup.
Variabile de mediu¶
Pentru utilizare headless, în container sau în CI, poți furniza credențiale și
endpoint-uri prin variabile de mediu. Acestea au prioritate față de fișierul
de configurare, astfel încât notebook-urile, sidecar-urile și runner-ele de CI
funcționează fără un eocube.yml:
| Variabilă | Scop |
|---|---|
EOCUBE_ACCESS_TOKEN / ROCS_AAI_ACCESS_TOKEN |
Un token de acces OIDC explicit |
ROCS_AAI_REFRESH_TOKEN |
Un refresh token, reschimbat într-un token de acces la expirare |
EOCUBE_CLIENT_ID + EOCUBE_CLIENT_SECRET |
Credențiale de client de tip service-account |
EOCUBE_CLIENT_SCOPE |
Scopuri opționale pentru clientul service-account |
STAC_API_ENDPOINT |
Suprascrie endpoint-ul STAC |
EOCUBE_CONFIG |
Calea către fișierul de configurare |
Actualizare de la o versiune mai veche
Versiunile mai vechi stocau token-urile în keychain-ul sistemului de operare.
Keychain-ul nu mai este folosit — token-urile se află acum în eocube.yml.
După actualizare, rulează o dată eocube auth login pentru a-ți recrea
sesiunea.