make zot-start
make ocm-transfer
make run
make clean # also runs make zot-stopExample output (you can use OVERRIDE_VALUES_TPL to avoid rebuilding the OCM component during development):
OVERRIDE_VALUES_TPL=$(pwd)/arc/values.yaml.tpl go run main.go
2026-02-16T16:13:44+01:00 warning [ocm/oci/ocireg] "using insecure http for oci registry localhost:5000"
2026/02/16 16:13:44 go repository
2026/02/16 16:13:44 got component version
2026/02/16 16:13:44 loading resource with namehelm-values-template
2026/02/16 16:13:44 apiserver:
image:
{{- $apiserver := .resources | findByName "arc-apiserver-image" | dig "access" "imageReference" "" | parseRef }}
repository: {{ $apiserver.host }}/{{ $apiserver.repository }}
tag: {{ $apiserver.tag }}
controller:
image:
{{- $controller := .resources | findByName "arc-controller-manager-image" | dig "access" "imageReference" "" | parseRef }}
repository: {{ $controller.host }}/{{ $controller.repository }}
tag: {{ $controller.tag }}
etcd:
image:
{{- $etcdImage := .resources | findByName "etcd-image" | dig "access" "imageReference" "" | parseRef }}
repository: {{ $etcdImage.host }}/{{ $etcdImage.repository }}
tag: {{ $etcdImage.tag }}
2026/02/16 16:13:44 data being passed to template:
{
"name": "opendefense.cloud/arc",
"version": "0.1.0",
"provider": {
"name": "opendefense.cloud"
},
"creationTime": "2026-02-16T13:04:25Z",
"repositoryContexts": [
{
"baseUrl": "http://localhost:5000",
"componentNameMapping": "urlPath",
"subPath": "my-components",
"type": "OCIRegistry"
}
],
"sources": [],
"componentReferences": [],
"resources": [
{
"name": "helm-chart",
"version": "v0.2.0",
"type": "helmChart",
"relation": "external",
"digest": {
"hashAlgorithm": "SHA-256",
"normalisationAlgorithm": "ociArtifactDigest/v1",
"value": "43d0a3045598b20ca8f39ac1b709e2a574d3a710d27aab5edf5b98ef40fe4d60"
},
"access": {
"imageReference": "http://localhost:5000/my-components/opendefensecloud/charts/arc:0.1.4@sha256:43d0a3045598b20ca8f39ac1b709e2a574d3a710d27aab5edf5b98ef40fe4d60",
"type": "ociArtifact"
}
},
{
"name": "arc-apiserver-image",
"version": "v0.2.0",
"type": "ociImage",
"relation": "external",
"digest": {
"hashAlgorithm": "SHA-256",
"normalisationAlgorithm": "ociArtifactDigest/v1",
"value": "5761b14d99513783e136c5ef704f4dd492ecb5ed83bb124bba716ef11d024ee4"
},
"access": {
"imageReference": "http://localhost:5000/my-components/opendefensecloud/arc-apiserver:v0.2.0@sha256:5761b14d99513783e136c5ef704f4dd492ecb5ed83bb124bba716ef11d024ee4",
"type": "ociArtifact"
}
},
{
"name": "arc-controller-manager-image",
"version": "v0.2.0",
"type": "ociImage",
"relation": "external",
"digest": {
"hashAlgorithm": "SHA-256",
"normalisationAlgorithm": "ociArtifactDigest/v1",
"value": "18cf724f10393f272f0650ffa4fb3e9a0057799748a34a04d840a35f1998d1ed"
},
"access": {
"imageReference": "http://localhost:5000/my-components/opendefensecloud/arc-controller-manager:v0.2.0@sha256:18cf724f10393f272f0650ffa4fb3e9a0057799748a34a04d840a35f1998d1ed",
"type": "ociArtifact"
}
},
{
"name": "etcd-image",
"version": "v3.6.6",
"type": "ociImage",
"relation": "external",
"digest": {
"hashAlgorithm": "SHA-256",
"normalisationAlgorithm": "ociArtifactDigest/v1",
"value": "ea8a4698f22200bf0322fd8ed6e0b106a3107db649bd61f654e1a9fc14d9a17e"
},
"access": {
"imageReference": "http://localhost:5000/my-components/coreos/etcd:v3.6.6@sha256:ea8a4698f22200bf0322fd8ed6e0b106a3107db649bd61f654e1a9fc14d9a17e",
"type": "ociArtifact"
}
},
{
"name": "helm-values-template",
"version": "0.1.0",
"labels": [
{
"name": "opendefense.cloud/values-for",
"value": "helm-chart"
}
],
"type": "yaml",
"relation": "local",
"digest": {
"hashAlgorithm": "SHA-256",
"normalisationAlgorithm": "genericBlobDigest/v1",
"value": "ee9e3beed58b36dfd21b57fdb2d52573f21d41a7ac247ef7d6010d98c4ee2da3"
},
"access": {
"localReference": "sha256:ee9e3beed58b36dfd21b57fdb2d52573f21d41a7ac247ef7d6010d98c4ee2da3",
"mediaType": "application/octet-stream",
"type": "localBlob"
}
}
]
}
2026/02/16 16:13:44 templating values
2026/02/16 16:13:44 apiserver:
image:
repository: localhost:5000/my-components/opendefensecloud/arc-apiserver
tag: v0.2.0
controller:
image:
repository: localhost:5000/my-components/opendefensecloud/arc-controller-manager
tag: v0.2.0
etcd:
image:
repository: localhost:5000/my-components/coreos/etcd
tag: v3.6.6