You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting_started/user-guide.md
+26-2Lines changed: 26 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -149,15 +149,38 @@ once, first for the job, and then for the underlying pod(s) it creates. Annotati
149
149
| output-uri | The output unique resource identifier for the registry step, including repository, name, and tag | false | false |NA will be used if not defined, meaning the step has no outputs |
150
150
| oras-cache | The name of the sidecar orchestrator | false | false | oras |
151
151
| oras-container | The container with oras to run for the service | false | false | ghcr.io/oras-project/oras:v1.1.0 |
152
+
| registry | A custom remote registry URI for all containers | false | false | unset |
153
+
| oras-env | A secret in the same namespace to add to the sidecar | false | false | unset |
152
154
| container | The name of the launcher container | false | false | assumes the first container found requires the launcher |
153
155
| entrypoint | The https address of the application entrypoint to wget | false | false | [entrypoint.sh](https://raw.githubusercontent.com/converged-computing/oras-operator/main/hack/entrypoint.sh) |
154
156
| oras-entrypoint | The https address of the oras cache sidecar entrypoint to wget | false | false | [oras-entrypoint.sh](https://raw.githubusercontent.com/converged-computing/oras-operator/main/hack/oras-entrypoint.sh) |
155
157
| debug | Print all discovered settings in the operator log | false | false | "false" |
156
158
| unpack | Unpack a directory compressed to .tar.gz | false | false | "true" |
157
159
158
160
There should not be a need to change the oras-cache (sidecar container) unless for some reason you have another container in the pod also called oras. It is exposed for this rare case.
161
+
More details about specific annotations are provided below.
159
162
160
-
Note that when List is true, this means the annotation can be provided as a list, and more than one value can be added with the pattern `<prefix>/<field>_<count>`. Currently the only supported list field is `input-uri`, anticipating that multiple parent steps might feed into one child step.
163
+
#### Registry
164
+
165
+
By default, the URIs that are provided are prefixed with the registry that the ORAS Operator has deployed on the same cluster. However, if registry is supplied,
166
+
it is assumed to be used for the entire job or pod definition, and this registry is used instead. If you absolutely don't need the local registry you can
167
+
set "deploy" to false in the operator CRD (and it will be skipped). Also note that if you are pushing to a remote registry, you'll need to provide
168
+
the name of a secret with your login and password via `oras-env`, discussed next.
169
+
170
+
#### oras-env
171
+
172
+
This should be the name of a secret in the same namespace as your pod or job that has one or more secrets to add to the environment. As an example to create such a secret:
The most common use case here is to provide credentials for pushing or pulling to a remote registry (when deploy is false). We provide the same credential twice for pull and push because it could
178
+
be the case that you only want to add for one or the other, and in fact adding to a command that doesn't require it could result in an error. The secret must be in the same namespace
179
+
as your job or pod.
180
+
181
+
#### Multiple input-uri
182
+
183
+
Note that when List is true, this means the annotation can be provided as a list, and more than one value can be added with the pattern `<prefix>/<field>_<count>`. Currently the only supported list field is `input-uri`, anticipating that multiple parent steps might feed into one child step. Here is an example with multiple input uris.
You can then try one of the [examples](https://github.com/converged-computing/oras-operator/tree/main/examples) in the repository. A brief description of each is provided here,
216
239
and likely we will add more detail as we develop them.
217
240
218
-
- [tests/registry](https://github.com/converged-computing/oras-operator/tree/main/examples/tests/registry/roas.yaml): a basic example of creating an ORAS registry cache
241
+
- [registry](https://github.com/converged-computing/oras-operator/tree/main/examples/registry): demonstrates interaction with a remote registry and disable of a local (namespaced) deployment
242
+
- [tests/registry](https://github.com/converged-computing/oras-operator/tree/main/examples/tests/registry/oras.yaml): a basic example of creating an ORAS registry cache
219
243
- [tests/hello-world](https://github.com/converged-computing/oras-operator/tree/main/examples/tests/hello-world): Writing one "hello-world" output and saving to an ORAS registry cache
220
244
- [workflows/metrics](https://github.com/converged-computing/oras-operator/tree/main/examples/woirkflow/metrics): Running two Metrics Operator apps/metrics (LAMMPS and HWLOC) and getting results for each!
Copy file name to clipboardExpand all lines: examples/dist/oras-operator-arm.yaml
+14-3Lines changed: 14 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -53,13 +53,24 @@ spec:
53
53
spec:
54
54
description: OrasCacheSpec defines the desired state of OrasCache
55
55
properties:
56
+
deploy:
57
+
default: true
58
+
description: Skip deploying the registry (stateful set) implying all references are for a remote (existing) registry
59
+
type: boolean
56
60
image:
57
61
default: ghcr.io/oras-project/registry:latest
58
62
description: Image is the oras registry to deploy
59
63
type: string
60
-
secret:
61
-
description: Secret for the registry REGISTRY_HTTP_SECRET
62
-
type: string
64
+
secrets:
65
+
description: Names of secrets for the operator
66
+
properties:
67
+
orasEnv:
68
+
description: Secrets for the environment for the ORAS operator sidecar pod to push e.g., oras pull -u username -p password myregistry.io/myimage:latest This should have ORAS_USER and ORAS_PASS
69
+
type: string
70
+
registryHttp:
71
+
description: Secret for the registry REGISTRY_HTTP_SECRET
72
+
type: string
73
+
type: object
63
74
type: object
64
75
status:
65
76
description: OrasCacheStatus defines the observed state of OrasCache
Copy file name to clipboardExpand all lines: examples/dist/oras-operator-dev.yaml
+14-3Lines changed: 14 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -53,13 +53,24 @@ spec:
53
53
spec:
54
54
description: OrasCacheSpec defines the desired state of OrasCache
55
55
properties:
56
+
deploy:
57
+
default: true
58
+
description: Skip deploying the registry (stateful set) implying all references are for a remote (existing) registry
59
+
type: boolean
56
60
image:
57
61
default: ghcr.io/oras-project/registry:latest
58
62
description: Image is the oras registry to deploy
59
63
type: string
60
-
secret:
61
-
description: Secret for the registry REGISTRY_HTTP_SECRET
62
-
type: string
64
+
secrets:
65
+
description: Names of secrets for the operator
66
+
properties:
67
+
orasEnv:
68
+
description: Secrets for the environment for the ORAS operator sidecar pod to push e.g., oras pull -u username -p password myregistry.io/myimage:latest This should have ORAS_USER and ORAS_PASS
69
+
type: string
70
+
registryHttp:
71
+
description: Secret for the registry REGISTRY_HTTP_SECRET
72
+
type: string
73
+
type: object
63
74
type: object
64
75
status:
65
76
description: OrasCacheStatus defines the observed state of OrasCache
0 commit comments