replication-controller
The replication-controller
is part of the Open Component Model Kubernetes controller set that enables transferring components from one OCM repository to another.
The behaviour of the replication-controller
is similar to that of the ocm transfer
command with the addition of a reconciliation loop. It can therefore be used to "subscribe" to components and ensure that any component versions matching a semantic version constraint will be replicated from the source OCM repository to the destination.
Installation
Install the latest version of the controller using the following command:
VERSION=$(curl -sL https://api.github.com/repos/open-component-model/replication-controller/releases/latest | jq -r '.name')
kubectl apply -f https://github.com/open-component-model/replication-controller/releases/download/$VERSION/install.yaml
Usage
apiVersion: delivery.ocm.software/v1alpha1
kind: ComponentSubscription
metadata:
name: podify-subscription
namespace: ocm-system
spec:
interval: 10m
component: github.com/weaveworks/podify
semver: "=>v1.0.0"
source:
url: ghcr.io/open-component-model
secretRef:
name: creds
destination:
url: ghcr.io/$GITHUB_USER
secretRef:
name: creds
verify:
- signature:
name: signature-name
publicKey:
secretRef:
name: public-key-secret
Contributing
Code contributions, feature requests, bug reports, and help requests are very welcome. Please refer to the Contributing Guide in the Community repository for more information on how to contribute to OCM.
OCM follows the CNCF Code of Conduct.
Licensing
Copyright 2022-2023 SAP SE or an SAP affiliate company and Open Component Model contributors.
Please see our LICENSE for copyright and license information.
Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.