https://github.com/c0deltin/replik8or
A Kubernetes operator that replicates Secrets and ConfigMaps into namespaces.
https://github.com/c0deltin/replik8or
configmaps golang k8s kubernetes operator secrets
Last synced: 2 months ago
JSON representation
A Kubernetes operator that replicates Secrets and ConfigMaps into namespaces.
- Host: GitHub
- URL: https://github.com/c0deltin/replik8or
- Owner: c0deltin
- Created: 2025-02-21T08:41:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-03T22:39:16.000Z (5 months ago)
- Last Synced: 2026-02-04T11:04:54.789Z (5 months ago)
- Topics: configmaps, golang, k8s, kubernetes, operator, secrets
- Language: Go
- Homepage:
- Size: 85.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# replik8or
A Kubernetes operator that replicates Secrets and ConfigMaps into namespaces.
## Deployment
### Helm Deployment
The preferred way to install replik8or is by using Helm:
```shell
$ helm upgrade --install replik8or oci://ghcr.io/c0deltin/helm-charts/replik8or
```
or
```shell
$ helm repo add c0deltin https://c0deltin.github.io/helm-charts
$ helm repo update
$ helm upgrade --install replik8or c0deltin/replik8or
```
### Configuration
There are two ways of configuring ``replik8or``: Using environemnt variables or using flags.
The following configuration values are available:
| env key | flag | default | description |
|--------------------------|--------------------------|------------------------|------------------------------------------------------------------------------------|
| `METRICS_ADDR` | `metrics-addr` | 0 | Address under which the metrics server will be availabele. (_disabled by default_) |
| `HEALTH_PROBE_ADDR` | `health-probe-addr` | 0 | Address under which the health probe will be available. (_disabled by default_) |
| `DISALLOWED_NAMESPACES` | `disallowed-namespaces` | | Namespaces for which replicating resources is disabled. (_comma seperated_) |
## Usage
Adding `replik8or.c0deltin.dev/replication-allowed="true"` to a ConfigMap or Secret will tell the operator to
replicate this object to all other namespaces.
To be more precise add ``replik8or.c0deltin.dev/desired-namespaces=","``.
In this case the operator will only replicate the object into those namespaces.
> [!IMPORTANT]
> `DISALLOWED_NAMESPACES` will always beat the `desired-namespaces` annotation.
## ToDo's
- [ ] Allow adding `desired-namespaces` annotation after replicas already have been created (remove replicas from namespaces not in annotation)