NebulaCR: ਐਂਟਰਪ੍ਰਾਈਜ਼ OCI ਰਜਿਸਟਰੀ, ਨਿਰੀਖਣਯੋਗਤਾ, ਅਤੇ ਸਮਝੌਤਾ ਕੀਤੇ ਬਿਨਾਂ ਪਾਲਣਾ
ਆਰਕੀਟੈਕਚਰ, ਜ਼ੀਰੋ-ਟਰੱਸਟ ਪ੍ਰਮਾਣਿਕਤਾ, ਨਿਰੀਖਣਯੋਗਤਾ, ਅਤੇ Kubernetes ਓਪਰੇਸ਼ਨ
ਕਾਰਜਕਾਰੀ ਸੰਖੇਪ ਵਿਚ
NebulaCR ਇੱਕ ਓਪਨ-ਸੋਰਸ, ਕਲਾਉਡ-ਨੇਟਿਵ ਹੈ OCI ਕੰਟੇਨਰ ਰਜਿਸਟਰੀ ਜੰਗਾਲ ਵਿੱਚ ਲਿਖਿਆ. ਇਹ ਇੱਕ ਮਿਆਰਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ ਨੇਬੁਲਾ-ਰਜਿਸਟਰੀ ਸੇਵਾ (ਪੋਰਟ 5000) ਨੂੰ ਸਮਰਪਿਤ ਨਾਲ nebula-auth ਟੋਕਨ ਸੇਵਾ (ਪੋਰਟ 5001), ਵਿਕਲਪਿਕ HashiCorp ਵਾਲਟ ਸਾਈਨਿੰਗ ਕੁੰਜੀਆਂ ਲਈ ਏਕੀਕਰਣ, ਪਲੱਗੇਬਲ ਆਬਜੈਕਟ ਸਟੋਰੇਜ਼ (ਫਾਈਲ ਸਿਸਟਮ, S3, GCS, Azure ਬਲੌਬ), ਅਤੇ ਪਹਿਲੀ ਸ਼੍ਰੇਣੀ Kubernetes ਕਿਰਾਏਦਾਰਾਂ, ਪ੍ਰੋਜੈਕਟਾਂ ਅਤੇ ਨੀਤੀਆਂ ਲਈ CRDs ਨਾਲ ਪੈਕੇਜਿੰਗ। ਅੱਪਸਟਰੀਮ ਪ੍ਰੋਜੈਕਟ ਉਤਪਾਦ ਨੂੰ ਨਿੱਜੀ, ਨਿਰੀਖਣਯੋਗ, ਅਤੇ ਗਵਰਨਯੋਗ ਚਿੱਤਰ ਵੰਡ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਰੱਖਦਾ ਹੈ; ਦੇਖੋ nebulacr.org ਜਨਤਕ ਲੈਂਡਿੰਗ ਪੰਨੇ ਲਈ ਅਤੇ github.com/bwalia/nebulacr ਸਰੋਤ ਅਤੇ ਰੀਲੀਜ਼ ਲਈ.
ਉੱਦਮ ਇੱਕ ਪ੍ਰਾਈਵੇਟ OCI ਰਜਿਸਟਰੀ ਕਿਉਂ ਅਪਣਾਉਂਦੇ ਹਨ
ਕੰਟੇਨਰ ਚਿੱਤਰ ਹੁਣ ਜ਼ਿਆਦਾਤਰ ਕਲਾਉਡ-ਨੇਟਿਵ ਟੀਮਾਂ ਲਈ ਤੈਨਾਤੀ ਦੀ ਇਕਾਈ ਹਨ। ਇੱਕ ਰਜਿਸਟਰੀ ਜੋ ਸਿਰਫ਼ ਤੁਹਾਡੀ ਸੁਰੱਖਿਆ ਸੀਮਾ ਦੇ ਅੰਦਰ ਰਹਿੰਦੀ ਹੈ ਤੁਹਾਨੂੰ ਲਾਗੂ ਕਰਨ ਦਿੰਦੀ ਹੈ ਡਾਟਾ ਨਿਵਾਸ, ਸਪਲਾਈ-ਚੇਨ ਨਿਯੰਤਰਣ, ਬਾਰੀਕ RBAC, ਅਤੇ ਅਨੁਮਾਨਿਤ ਲਾਗਤ (ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਅੱਪਸਟਰੀਮ ਰਜਿਸਟਰੀਆਂ ਲਈ ਪੁੱਲ-ਥਰੂ ਕੈਚਿੰਗ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ)। NebulaCR ਉਹਨਾਂ ਓਪਰੇਟਰਾਂ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਪਛਾਣ, ਆਡਿਟਯੋਗਤਾ, ਜਾਂ ਬਹੁ-ਖੇਤਰ ਲਚਕੀਲੇਪਨ ਨੂੰ ਸਮਰਪਣ ਕੀਤੇ ਬਿਨਾਂ Docker-ਅਨੁਕੂਲ ਵਰਕਫਲੋ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਜੰਗਾਲ ਵਰਕਸਪੇਸ (Cargo.toml)
ਅੱਪਸਟਰੀਮ Cargo.toml ਸੱਤ ਕ੍ਰੇਟਸ ਦੀ ਇੱਕ ਵਰਕਸਪੇਸ ਘੋਸ਼ਿਤ ਕਰਦਾ ਹੈ: ਨੇਬੁਲਾ-ਆਮ, nebula-auth, ਨੇਬੁਲਾ-ਰਜਿਸਟਰੀ, ਨੇਬੂਲਾ-ਕੰਟਰੋਲਰ, ਨੇਬੁਲਾ-ਲਚਕੀਲੇਪਨ, ਨੇਬੁਲਾ-ਸ਼ੀਸ਼ਾ, ਅਤੇ ਨੇਬੁਲਾ-ਰਿਪਲੀਕੇਸ਼ਨ. README ਦਾ ਪ੍ਰੋਜੈਕਟ ਟ੍ਰੀ ਹਰੇਕ ਕ੍ਰੇਟ ਨੂੰ ਬਾਈਨਰੀ ਜਾਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵਿੱਚ ਮੈਪ ਕਰਦਾ ਹੈ — ਰਜਿਸਟਰੀ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਸੇਵਾਵਾਂ, Kubernetes ਰੀਕੰਸਿਲਰ, ਪੁੱਲ-ਥਰੂ ਕੈਸ਼ ਇੰਜਣ, ਲਚਕੀਲੇ ਸਹਾਇਕ, ਅਤੇ ਬਹੁ-ਖੇਤਰ ਪ੍ਰਤੀਕ੍ਰਿਤੀ। ਸਰੋਤ ਤੋਂ, ਚਲਾਓ cargo build --workspace --release ਅਤੇ cargo test --workspace ਰੂਟ ਦੇ ਨਾਲ ਕੰਟੇਨਰਿੰਗ ਤੋਂ ਪਹਿਲਾਂ Dockerfile ਜਾਂ ਅਨੁਕੂਲਿਤ Dockerfile.scratch.
ਆਰਕੀਟੈਕਚਰ ਪ੍ਰੋਜੈਕਟ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਡਿਸਟਿਲ ਕੀਤਾ ਗਿਆ
ਉੱਪਰ ਦੱਸੇ ਗਏ ਤਿੰਨ ਕੋਰ ਬਾਈਨਰੀਆਂ/ਲਾਇਬ੍ਰੇਰੀਆਂ ਤੋਂ ਪਰੇ, ਨੇਬੂਲਾ-ਕੰਟਰੋਲਰ ਕਿਰਾਏਦਾਰ/ਪ੍ਰੋਜੈਕਟ/ਐਕਸੈਸ ਪਾਲਿਸੀ/ਟੋਕਨ ਪਾਲਿਸੀ CRDs, ਨੇਬੁਲਾ-ਸ਼ੀਸ਼ਾ ਅੱਪਸਟ੍ਰੀਮ ਰਜਿਸਟਰੀਆਂ ਲਈ ਪੁੱਲ-ਥਰੂ ਕੈਚਿੰਗ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਨੇਬੁਲਾ-ਲਚਕੀਲੇਪਨ ਰੀਪਲੀਕੇਸ਼ਨ ਮਾਰਗਾਂ ਲਈ ਮੁੜ ਕੋਸ਼ਿਸ਼ਾਂ ਅਤੇ ਸਰਕਟ ਤੋੜਨ ਵਾਲੇ, ਅਤੇ ਨੇਬੁਲਾ-ਰਿਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਵਰਣਿਤ ਫੇਲਓਵਰ ਦੇ ਨਾਲ ਮਲਟੀ-ਰੀਜਨ ਅਸਿੰਕ ਜਾਂ ਅਰਧ-ਸਿੰਕ ਮੋਡਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ docs/architecture.md. ਨੇਬੁਲਾ-ਰਜਿਸਟਰੀ ਪ੍ਰਤੀ ਬੇਨਤੀ JWT ਲਾਗੂ ਕਰਨ ਦੇ ਨਾਲ ਐਕਸਮ-ਅਧਾਰਿਤ ਰਹਿੰਦਾ ਹੈ; nebula-auth OIDC ਪਛਾਣ ਟੋਕਨਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਥੋੜ੍ਹੇ ਸਮੇਂ ਲਈ ਰਜਿਸਟਰੀ JWTs ਜਾਰੀ ਕਰਦਾ ਹੈ। ਸਟੋਰੇਜ ਪ੍ਰਤੀ ਕਿਰਾਏਦਾਰ/ਪ੍ਰੋਜੈਕਟ ਲੜੀਵਾਰ ਰਹਿੰਦੀ ਹੈ ਜਦੋਂ ਕਿ ਬੈਕਐਂਡ ਪਲੱਗੇਬਲ ਰਹਿੰਦੇ ਹਨ।
ਪ੍ਰਵੇਸ਼ ਰੂਟ, ਸਿਹਤ ਜਾਂਚ, ਅਤੇ ਮੈਟ੍ਰਿਕਸ
README ਦਾ ASCII ਆਰਕੀਟੈਕਚਰ ਟ੍ਰੈਫਿਕ ਵੰਡ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ: /v2 ਰਜਿਸਟਰੀ ਸੇਵਾ (5000) ਅਤੇ ਪ੍ਰਮਾਣੀਕਰਣ ਪ੍ਰਵਾਹ (ਅਕਸਰ ਹੇਠਾਂ /auth) ਨੂੰ nebula-auth (5001), ਦੋਵਾਂ ਲਈ ਬਾਹਰੀ OIDC ਪ੍ਰਦਾਤਾਵਾਂ ਦੇ ਨਾਲ। Helm ਚਾਰਟ Prometheus ਮੈਟ੍ਰਿਕਸ ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰਦੇ ਹਨ (ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ nebulacr_http_requests_total, nebulacr_http_request_duration_seconds, nebulacr_storage_operations_total, nebulacr_auth_tokens_issued_total) ਅਤੇ ਦਸਤਾਵੇਜ਼ curl http://localhost:5000/health ਬਾਅਦ kubectl port-forward ਰਜਿਸਟਰੀ ਸੇਵਾ ਨੂੰ.
ਜ਼ੀਰੋ-ਟਰੱਸਟ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ CI ਏਕੀਕਰਣ
NebulaCR ਜ਼ੋਰ ਦਿੰਦਾ ਹੈ ਕੋਈ ਲੰਬੇ ਸਮੇਂ ਲਈ ਰਜਿਸਟਰੀ ਪਾਸਵਰਡ ਨਹੀਂ ਆਟੋਮੇਸ਼ਨ ਲਈ. CI ਸਿਸਟਮ ਭਰੋਸੇਯੋਗ ਜਾਰੀਕਰਤਾਵਾਂ ਤੋਂ OIDC ਪਛਾਣ ਟੋਕਨ ਪੇਸ਼ ਕਰਦੇ ਹਨ; nebula-auth ਦਸਤਖਤਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ, ਨੀਤੀ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਅਤੇ ਤੰਗ TTL ਡਿਫੌਲਟ (ਆਮ ਤੌਰ 'ਤੇ ਲਗਭਗ ਪੰਜ ਮਿੰਟ) ਦੇ ਨਾਲ ਸਕੋਪਡ JWTs ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਮਨੁੱਖੀ ਆਪਰੇਟਰ Azure AD, Okta, ਜਾਂ Google Workspace ਵਰਗੇ ਪ੍ਰਦਾਤਾਵਾਂ ਦੇ ਵਿਰੁੱਧ PKCE ਨਾਲ ਸਟੈਂਡਰਡ OIDC ਪ੍ਰਮਾਣੀਕਰਨ-ਕੋਡ ਪ੍ਰਵਾਹ ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਤ ਕਰਦੇ ਹਨ।
CRDs, ਪੁੱਲ-ਥਰੂ ਕੈਸ਼, ਅਤੇ ਰੇਟ ਸੀਮਾਵਾਂ
Kubernetes ਆਪਰੇਟਰ ਪ੍ਰਬੰਧਿਤ ਕਰਦੇ ਹਨ Tenant (ਕੋਟਾ, OIDC ਬਾਈਡਿੰਗ), Project (ਰਿਪੋਜ਼ਟਰੀ ਗਰੁੱਪ ਅਤੇ ਨੀਤੀਆਂ), AccessPolicy (RBAC), ਅਤੇ TokenPolicy (TTL ਅਤੇ ਰੋਬੋਟ ਖਾਤੇ)। README ਦਸਤਾਵੇਜ਼ ਪੁੱਲ-ਥਰੂ ਪੁੱਲ ਜਿਵੇਂ ਕਿ docker pull <host>:5000/library/nginx:latest, GHCR ਅਤੇ Quay ਅਗੇਤਰ, ਅਤੇ a containerd ਸ਼ੀਸ਼ੇ ਦੀ ਪਉੜੀ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ docker.io NebulaCR 'ਤੇ। ਰੇਟ ਸੀਮਾ ਪ੍ਰਤੀ IP ਅਤੇ ਪ੍ਰਤੀ ਕਿਰਾਏਦਾਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲਾਗੂ ਹੁੰਦੀ ਹੈ governor ਕਰੇਟ
ਨਿਰੀਖਣਯੋਗਤਾ, ਆਡਿਟਿੰਗ ਅਤੇ ਪਾਲਣਾ
ਅਧੀਨ ਨਿਰਧਾਰਤ ਪ੍ਰੋਜੈਕਟ ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਅਨੁਸਾਰ docs/, NebulaCR ਐਕਸਪੋਜ਼ ਕਰਦਾ ਹੈ Prometheus ਮੈਟ੍ਰਿਕਸ ਰਜਿਸਟਰੀ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਸੇਵਾਵਾਂ ਤੋਂ, ਐਮਿਟਸ ਢਾਂਚਾਗਤ JSON ਲੌਗ, ਅਤੇ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਓਪਨ ਟੈਲੀਮੈਟਰੀ ਡੂੰਘੇ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਟਰੇਸਿੰਗ. ਏਮਬੈਡਡ ਡੈਸ਼ਬੋਰਡ CPU, ਮੈਮੋਰੀ, ਡਿਸਕ, ਰੀਪਲੀਕੇਸ਼ਨ ਹੈਲਥ, ਰਿਪੋਜ਼ਟਰੀ ਬ੍ਰਾਊਜ਼ਿੰਗ, ਅਤੇ ਪੁਸ਼, ਖਿੱਚਣ ਅਤੇ ਮਿਟਾਉਣ ਲਈ ਫਿਲਟਰ ਕੀਤੇ ਆਡਿਟ ਟ੍ਰੇਲਸ ਨੂੰ ਪੇਸ਼ ਕਰਦਾ ਹੈ - ਸੁਰੱਖਿਆ ਸਮੀਖਿਆਵਾਂ ਲਈ ਸਮੱਗਰੀ ਸਬੂਤ। SCIM 2.0 ਪ੍ਰੋਵੀਜ਼ਨਿੰਗ ਪਛਾਣ ਪ੍ਰਦਾਤਾਵਾਂ ਦੇ ਨਾਲ ਜੁਆਇਨਰ-ਮੂਵਰ-ਲੀਵਰ ਚੱਕਰਾਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਦੀ ਹੈ, ਵਿੰਡੋ ਨੂੰ ਸੁੰਗੜਦੀ ਹੈ ਜਿੱਥੇ ਸਾਬਕਾ ਕਰਮਚਾਰੀ ਗੁਪਤ ਪਹੁੰਚ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਨ।
ਉੱਚ ਉਪਲਬਧਤਾ, ਬਹੁ-ਖੇਤਰ, ਅਤੇ ਪੁੱਲ-ਥਰੂ ਕੈਸ਼
README ਹਾਈਲਾਈਟਸ ਰਾਜ ਰਹਿਤ ਸੇਵਾਵਾਂ ਹਰੀਜੱਟਲ ਪੌਡ ਆਟੋਸਕੇਲਿੰਗ, ਪੌਡ ਵਿਘਨ ਬਜਟ, ਅਤੇ ਪ੍ਰਤੀਕ੍ਰਿਤੀ ਮਾਰਗਾਂ ਲਈ ਸਰਕਟ ਬ੍ਰੇਕਰ ਦੇ ਨਾਲ। ਬਹੁ-ਖੇਤਰ ਪ੍ਰਤੀਕ੍ਰਿਤੀ ਨੂੰ ਲਚਕਤਾ ਨਿਯੰਤਰਣਾਂ ਦੇ ਨਾਲ ਅਸਿੰਕ੍ਰੋਨਸ ਵਜੋਂ ਦਰਸਾਇਆ ਗਿਆ ਹੈ ਇਸਲਈ ਰੀਡਸ ਅਸਫਲ ਹੋ ਸਕਦੇ ਹਨ ਜਦੋਂ ਇੱਕ ਖੇਤਰ ਘਟਦਾ ਹੈ। ਪੁੱਲ-ਥਰੂ ਕੈਚਿੰਗ Docker ਹੱਬ, GHCR, GCR, Quay.io, ਅਤੇ registry.k8s.io ਸਮੇਤ ਅੱਪਸਟ੍ਰੀਮ ਰਜਿਸਟਰੀਆਂ ਲਈ ਬੈਂਡਵਿਡਥ ਅਤੇ ਪੁੱਲ ਲੇਟੈਂਸੀ ਨੂੰ ਘਟਾਉਂਦੀ ਹੈ।
ਸ਼ੁਰੂ ਕਰਨਾ
ਘੱਟੋ-ਘੱਟ ਸਥਾਨਕ ਅਜ਼ਮਾਇਸ਼ ਲਈ README ਦਸਤਾਵੇਜ਼ docker run -p 5000:5000 bwalia/nebulacr:latest, docker compose up -d ਤਿਆਰ ਕੀਤੀਆਂ JWT ਕੁੰਜੀਆਂ ਦੇ ਨਾਲ 5001 'ਤੇ ਰਜਿਸਟਰੀ ਪਲੱਸ ਪ੍ਰਮਾਣੀਕਰਣ ਲਈ, ਅਤੇ Helm ਤੋਂ ਇੰਸਟਾਲ oci://ghcr.io/bwalia/charts/nebulacr ਜਾਂ GitHub ਪੰਨੇ ਰੈਪੋ. ਮਲਟੀ-ਆਰਕ ਚਿੱਤਰਾਂ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਭੇਜਦੇ ਹਨ linux/amd64 ਅਤੇ linux/arm64 Docker ਹੱਬ ਅਤੇ GHCR 'ਤੇ। ਉਤਪਾਦਨ ਟੀਮਾਂ ਤਾਰ deploy/helm/nebulacr ਪ੍ਰਵੇਸ਼ TLS, ਵਿਕਲਪਿਕ OIDC ਅਤੇ S3, ਸਰਵਿਸ ਮਾਨੀਟਰ ਸਕ੍ਰੈਪਿੰਗ, ਅਤੇ ਚਾਰਟ ਤੋਂ ਨੈੱਟਵਰਕ ਨੀਤੀ ਟੈਂਪਲੇਟਸ ਦੇ ਨਾਲ।
Workstation ਕਿਵੇਂ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ
Workstation ਸੁਰੱਖਿਅਤ ਪਲੇਟਫਾਰਮ ਇੰਜਨੀਅਰਿੰਗ ਪੈਟਰਨਾਂ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਦਾ ਹੈ ਅਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ-ਪ੍ਰਾਈਵੇਟ ਰਜਿਸਟਰੀਆਂ, GitOps ਪ੍ਰਮੋਸ਼ਨ ਪਾਈਪਲਾਈਨਾਂ, ਕੋਡ ਦੇ ਤੌਰ 'ਤੇ ਨੀਤੀ, ਅਤੇ SRE ਨਿਰੀਖਣਯੋਗਤਾ- ਕਲਾਉਡ ਅਤੇ ਆਨ-ਪ੍ਰੀਮਿਸਸ ਵਾਤਾਵਰਣਾਂ ਦੇ ਪਾਰ। ਆਰਕੀਟੈਕਚਰ ਸਮੀਖਿਆਵਾਂ ਜਾਂ ਡਿਲੀਵਰੀ ਸਹਾਇਤਾ ਲਈ, ਸੰਪਰਕ ਕਰੋ info@workstation.co.uk.