Container Registry

Definition

A Container Registry is a centralized repository that stores and distributes container images. It allows developers to manage, version, and deploy container images efficiently. Registries can be public or private, providing controlled access to images and ensuring that only authorized users can push or pull images. They play a critical role in the CI/CD pipeline by enabling automated deployments and updates.

Secure Settings Example

# Example configuration for a secure private container registry
apiVersion: v1
kind: ConfigMap
metadata:
  name: registry-config
data:
  config.yml: |
    version: 0.1
    log:
      level: info
    storage:
      filesystem:
        rootdirectory: /var/lib/registry
    http:
      addr: :5000
      secret: a-very-secure-secret
      headers:
        X-Content-Type-Options: [nosniff]
    auth:
      htpasswd:
        realm: basic-realm
        path: /auth/htpasswd
    health:
      storagedriver:
        enabled: true
        interval: 10s
        threshold: 3

Insecure Settings Example

# Example of an insecure container registry configuration
apiVersion: v1
kind: ConfigMap
metadata:
  name: registry-config
data:
  config.yml: |
    version: 0.1
    log:
      level: debug
    storage:
      filesystem:
        rootdirectory: /var/lib/registry
    http:
      addr: :5000
      secret: ""
    auth:
      htpasswd:
        realm: basic-realm
        path: /auth/htpasswd
    health:
      storagedriver:
        enabled: false