Virtual Registry
virtual_registry:
registries:
- name: example
remotes:
- url: https://example.com
Configuration for the Virtual Registry. A registry should have a name and must have a remote, all other parameters are optional.
registries list
List of virtual registries.
name string
virtual_registry:
registries:
- name: example
Default: default
The registry name should be short, unique, and recognizable. It is used for subdomain routing when there are multiple registries and metrics are segmented on registry name.
default boolean
virtual_registry:
registries:
- name: example
default: true
Default: false
If set to true, all requests that don’t match any other registry subdomain will be handled by this registry. Only one registry can be the default registry.
If only one registry is specified, it automatically becomes the default registry.
load_balancer string
virtual_registry:
registries:
- name: example
load_balancer: random
Default: fallback
The load balancing policy to use when there are multiple remotes.
fallback: Use remotes in order of appearance. The first remote is selected first, then retries go down through the list.random: Balance traffic to remotes evenly. A random remote is selected from the list and retries never pick the same backend twice for a given fetch.hash: Pick the same remote for the same cache key. A consistent hashing algorithm is used to select a remote and retries pick new remotes in a consistent order.
auth_ttl number
Note: Orca Premium feature
virtual_registry:
registries:
- name: example
auth_ttl: 3600
Default: 3600
The number of seconds to cache each users authorization per artifact. Setting this to 0 causes the users authorization to be checked against the remote registry on every request.
default_ttl number
virtual_registry:
registries:
- name: example
default_ttl: 3600
Default: 120
The number of seconds to cache objects that are not otherwise covered by a specific cache policy or considered uncacheable.
Overrides the global varnish.params.default_ttl for this registry.
default_grace number
virtual_registry:
registries:
- name: example
default_grace: 3600
Default: 10
The number of seconds to grace objects that are not otherwise covered by a specific cache policy or considered uncacheable.
Overrides the global varnish.params.default_grace for this registry.
default_keep number
virtual_registry:
registries:
- name: example
default_keep: 3600
Default: 0
The number of seconds to keep stale objects that are not otherwise covered by a specific cache policy or considered uncacheable.
Overrides the global varnish.params.default_keep for this registry.
extra_vcl list
Note: Orca Premium feature
virtual_registry:
registries:
- name: example
extra_vcl:
- /etc/varnish-supervisor/example.vcl
Extra VCL to prepend to the configuration generated by the Virtual Registry. Extra VCLs are included in the order they appear in this list.
base_url string
virtual_registry:
registries:
- name: example
base_url: https://my-registry.example.com
Base URL of the virtual registry. This is used when the registry needs to generate URLs that point back to itself (e.g., in manifests or redirect responses).
readonly boolean
virtual_registry:
registries:
- name: example
readonly: true
Default: false
Whether this registry should be treated as read-only. When enabled, write operations (push, delete) are rejected.
preserve_manifest boolean
virtual_registry:
registries:
- name: example
preserve_manifest: true
Default: false
Preserve original manifests from the remote without inserting the base URL. When disabled, the registry rewrites manifest URLs to point through the virtual registry.
routes list
virtual_registry:
registries:
- name: example
routes:
- glob: "*.example.com"
Additional routes to associate with this registry. Routes allow matching requests to registries based on the Host header using glob patterns.
glob string
virtual_registry:
registries:
- name: example
routes:
- glob: "*.example.com"
Glob pattern to match against the Host header for routing requests to this registry.
remotes list
virtual_registry:
registries:
- name: example
remotes:
- url: https://example.com
List of remotes. See remotes configuration.