Espejo (object-syncer)
The espejo tool (which means 'mirror' in Spanish) syncs objects from a SyncConfig CRD to multiple namespaces. The idea is to replace OpenShift's project templates with a more flexible and robust solution.
The operator introduces a CRD called SyncConfig
to configure the objects which should be synced.
This SyncConfig
will create a Service
, Endpoints
and NetworkPolicy
object in all namespaces which mach the label selector OR one of the name selectors.
To ensure objects are deleted, set the prune
parameter to true
(default is false
)
Strings within object definitions can be replaced with dynamic values with parameters. The following parameters can be used:
Parameter Name | Description |
---|---|
${PROJECT_NAME} |
Name of the target namespace |
The Operator is implemented with the Operator SDK (Installation).
make build
creates theespejo
binary. Go is required.make docker-build
creates the Docker image withdocker.io/vshn/espejo:latest
andquay.io/vshn/espejo:latest
tags.make test
runs all unit tests.make integration-test
runs the integration tests.
You need node
and npm
to run the tests, as it runs with DETIK.
To run e2e tests, execute:
make e2e-test