https://github.com/open-component-model/replication-controller
Sync components from one repository to another
https://github.com/open-component-model/replication-controller
Last synced: 5 months ago
JSON representation
Sync components from one repository to another
- Host: GitHub
- URL: https://github.com/open-component-model/replication-controller
- Owner: open-component-model
- License: apache-2.0
- Created: 2022-10-25T12:58:17.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-21T16:54:36.000Z (about 2 years ago)
- Last Synced: 2024-04-21T22:20:44.624Z (about 2 years ago)
- Language: Go
- Homepage:
- Size: 781 KB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# replication-controller
[](https://api.reuse.software/info/github.com/open-component-model/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:
```bash
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
```yaml
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](https://github.com/open-component-model/community/blob/main/CONTRIBUTING.md) for more information on how to contribute to OCM.
OCM follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).
## Licensing
Copyright 2025 SAP SE or an SAP affiliate company and Open Component Model contributors.
Please see our [LICENSE](LICENSE) for copyright and license information.
Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/open-component-model/replication-controller).