NebulaCR: Enterprise OCI-register, waarneembaarheid en compliance zonder compromissen
Architectuur, zero-trust-authenticatie, observatie en Kubernetes-bewerkingen
Samenvatting
NebulaCRis een open-source, cloud-nativeOCI containerregistergeschreven in Rust. Het combineert eennebula-registry-service (poort 5000) die voldoet aan de standaarden met een specialenebula-auth-tokenservice (poort 5001), optioneleHashiCorp Vault-integratie voor ondertekeningssleutels, inplugbare-objectopslag(bestandssysteem, S3, GCS, Azure Blob) en eersteklasKubernetes-verpakking met CRDs voor tenants, projecten en beleid. Het upstream-project positioneert het product rond private, waarneembare en bestuurbare beelddistributie; zienebulacr.orgvoor de openbare landingspagina engithub.com/bwalia/nebulacrvoor broncode en releases.
Waarom bedrijven een privé OCI-register adopteren
Containerimages zijn nu de implementatie-eenheid voor de meeste cloud-native teams. Met een register dat alleen binnen uw beveiligingsgrenzen ligt, kunt u-datalocatie,supply chain-controles,fijnmazige RBACenvoorspelbare kostenafdwingen (vooral in combinatie met pull-through caching voor upstream-registers). NebulaCR richt zich op operators die Docker-compatibele workflows nodig hebben zonder in te leveren op identiteit, controleerbaarheid of veerkracht voor meerdere regio's.
Rust-werkruimte (Cargo.toml)
StroomopwaartsCargo.tomldeclareert een werkruimte van zeven kratten:nevel-gemeenschappelijk,nevel-auth,nevel-register,nevelcontroller,nevelveerkracht,nevelspiegelennevelreplicatie. De projectboom van README wijst elke krat toe aan binaire bestanden of bibliotheken: register- en auth-services, de Kubernetes-verzoener, pull-through cache-engine, veerkrachthulpmiddelen en replicatie in meerdere regio's. Voer vanaf de broncodecargo build --workspace --releaseencargo test --workspaceuit voordat u containeriseert met de rootDockerfileof geoptimaliseerdeDockerfile.scratch.
Architectuur gedestilleerd uit projectdocumentatie
Naast de drie kernbinaire bestanden/bibliotheken die hierboven zijn beschreven, verzoent denevelcontrollerTenant/Project/AccessPolicy/TokenPolicy CRDs,nebula-mirrorimplementeert pull-through caching voor upstream registers,nebula-veerkrachtondersteunt nieuwe pogingen en stroomonderbrekers voor replicatiepaden, ennebula-replicatieondersteunt meerdere regio's asynchrone of semi-synchrone modi met failover beschreven indocs/architecture.md.nevelregistratieblijft Axum-gebaseerd met JWT-handhaving per verzoek;nebula-authvalideert OIDC-identiteitstokens en geeft kortstondige register-JWT's uit. Opslag blijft hiërarchisch per tenant/project, terwijl backends inplugbaar blijven.
Ingress-routes, gezondheidscontroles en statistieken
De ASCII-architectuur van de README toont verkeerssplitsing:/v2naar de registerservice (5000) en auth-stromen (vaak onder/auth) naarnebula-auth(5001), met OIDC-providers extern beide. Helm-diagrammen geven Prometheus-statistieken weer (voorbeelden zijn onder meernebulacr_http_requests_total,nebulacr_http_request_duration_seconds,nebulacr_storage_operations_total,nebulacr_auth_tokens_issued_total) en documenterencurl http://localhost:5000/healthnakubectl port-forwardnaar de registerservice.
Zero-trust authenticatie en CI-integratie
NebulaCR benadrukt datgeen langlevende registerwachtwoordenheeft voor automatisering. CI-systemen presenteren OIDC-identiteitstokens van vertrouwde uitgevers; nebula-auth valideert handtekeningen, past beleid toe en retourneert JWT's met beperkte TTL-standaardwaarden (doorgaans ongeveer vijf minuten). Menselijke operators authenticeren via standaard OIDC-autorisatiecodestromen met PKCE tegen providers zoals Azure AD, Okta of Google Workspace.
CRDs, pull-through cache en snelheidslimieten
Kubernetes-operators beherenTenant(quota, OIDC-bindingen),Project(repositorygroepen en beleid),AccessPolicy(RBAC) enTokenPolicy(TTL- en robotaccounts). De README documenteert pull-through-pulls zoalsdocker pull <host>:5000/library/nginx:latest, GHCR en Quay-voorvoegsels, en eencontainerd-spiegelstrofe diedocker.ionaar NebulaCR wijst. Tariefbeperking geldt per IP en per tenant bij gebruik van degovernor-krat.
Waarneembaarheid, auditing en compliance
Volgens de projectdocumentatie die is ingesteld onderdocs/, onthult NebulaCRPrometheus-metriekenvan registratie- en auth-services, zendtuit gestructureerde JSON registreerten ondersteuntOpenTelemetry-tracering voor diepere analyse. Het ingebedde dashboard geeft CPU, geheugen, schijf, replicatiestatus, browsen in repository's en gefilterde audittrails voor pushes, pulls en deletes weer: materieel bewijs voor beveiligingsbeoordelingen.SCIM 2.0-provisioning automatiseert de joiner-mover-leaver-cycli met identiteitsproviders, waardoor de periode waarin voormalige werknemers latente toegang behouden, kleiner wordt.
Hoge beschikbaarheid, meerdere regio's en pull-through cache
De README benadrukt destaatloze servicesmet horizontale pod-automatische schaling, pod-verstoringsbudgetten en stroomonderbrekers voor replicatiepaden. Replicatie tussen meerdere regio's wordt beschreven als asynchroon met veerkrachtcontroles, zodat leesbewerkingen kunnen mislukken wanneer een regio verslechtert. Pull-through caching vermindert de bandbreedte en pull-latentie voor upstream-registers, waaronder Docker Hub, GHCR, GCR, Quay.io en register.k8s.io.
Aan de slag
Voor een minimale lokale proefperiode documenteert de READMEdocker run -p 5000:5000 bwalia/nebulacr:latest,docker compose up -dvoor registratie plus auth op 5001 met gegenereerde JWT-sleutels, en Helm-installaties vanafoci://ghcr.io/bwalia/charts/nebulacrof de GitHub Pages-repository. Afbeeldingen met meerdere bogen worden verzonden alslinux/amd64enlinux/arm64op Docker Hub en GHCR. Productieteams voorziendeploy/helm/nebulacrvan ingress TLS, optionele OIDC en S3, ServiceMonitor scraping en NetworkPolicy-sjablonen uit de grafiek.
Hoe Workstation
kan helpenWorkstation ontwerpt en implementeert veilige platform-engineeringpatronen (privéregisters, GitOps-promotiepijplijnen, beleid als code en SRE-observatie) in cloud- en on-premise-omgevingen. Neem voor architectuurbeoordelingen of leveringsondersteuning contact op metinfo@workstation.co.uk.