https://github.com/crossplane/changelogs-sidecar
https://github.com/crossplane/changelogs-sidecar
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/crossplane/changelogs-sidecar
- Owner: crossplane
- License: apache-2.0
- Created: 2025-04-15T10:58:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-21T15:23:19.000Z (about 1 year ago)
- Last Synced: 2025-06-29T10:01:59.053Z (12 months ago)
- Language: Go
- Size: 31.3 KB
- Stars: 1
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Change Logs Sidecar
This repo is a small and streamlined implementation of a side car container for
capturing change logs entries in Crossplane providers.
The full design of this feature can be found in the [design doc](https://github.com/crossplane/crossplane/blob/main/design/one-pager-change-logs.md).
## Usage
This repository publishes release images to
`xpkg.crossplane.io/crossplane/changelogs-sidecar`. This image can then be
included as a sidecar container in a provider's pod via a
`DeploymentRuntimeConfig`.
When this container starts up, it starts a gRPC server that listens on a unix
domain socket at the default path of `/var/run/changelogs/changelogs.sock`. The
provider's main pod is expected to also start a gRPC client that connects and
sends requests over this socket. That gRPC client is then given to any managed
reconcilers that the provider uses to reconcile its managed resources. The
managed reconcilers will send change log entries using this client during
typical reconciliation events.
The gRPC server implementation in this repo accepts incoming change log entries
and simply writes them to `stdout` so they will be included in the provider
pod's logs.