https://github.com/cobaltcore-dev/cloud-profile-sync
Automatically update images in Gardener CloudProfiles
https://github.com/cobaltcore-dev/cloud-profile-sync
Last synced: 2 months ago
JSON representation
Automatically update images in Gardener CloudProfiles
- Host: GitHub
- URL: https://github.com/cobaltcore-dev/cloud-profile-sync
- Owner: cobaltcore-dev
- License: apache-2.0
- Created: 2025-05-06T16:09:17.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2026-04-10T15:12:37.000Z (2 months ago)
- Last Synced: 2026-04-11T16:47:53.048Z (2 months ago)
- Language: Go
- Size: 188 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# cloud-profile-sync
## About this project
Automatically updates properties of a [Gardener](https://github.com/gardener/gardener) `CloudProfile`, e.g. `machineImages` based on various sources, such as tags in an OCI repository.
## Requirements and Setup
- a recent `go` compiler
- GNU `make`
- `docker` to build the container
The tests can be run with `make check`.
## Usage
Initially, apply the `ManagedCloudProfile` CRD to your virtual garden apiserver.
Then a `ManagedCloudProfile` can be created:
```yaml
apiVersion: cloudprofilesync.cobaltcore.dev/v1alpha1
kind: ManagedCloudProfile
metadata:
name: cloud-profile-name
spec:
cloudProfile:
# regular CloudProfile spec, but some fields are optional
# to enable fully automatic management
machineImageUpdates: # configures automatic management of machineImages
- imageName: gardenlinux
provider: # provider updates the providerConfig about images
ironcoreMetal: # updates gardener-extension-ironcore-metal
registry: docker.io # hostname of registry to pull the image from
repository: gardenlinux/gardenlinux # repository to pull the image from
source: # source used to check for image
oci: # OCI registry source
registry: docker.io # hostname of registry
repository: gardenlinux/gardenlinux # repository to watch
insecure: false # disables HTTP
username: "" # username for basic auth
password: "" # reference to a secret to lookup a password for basic auth
name: ""
namespace: ""
key: ""
```
Reconciliation takes care of creating the respective `CloudProfile`.
## Support, Feedback, Contributing
This project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/cobaltcore-dev/cloud-profile-sync/issues).
Contribution and feedback are encouraged and always welcome.
For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).
## Security / Disclosure
If you find any bug that may be a security problem, please follow our instructions at [in our security policy](https://github.com/cobaltcore-dev/cloud-profile-sync/security/policy) on how to report it.
Please do not create GitHub issues for security-related doubts or problems.
## Code of Conduct
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone.
By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md) at all times.
## Licensing
Copyright 2025 SAP SE or an SAP affiliate company and 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/cobaltcore-dev/cloud-profile-sync).