# README
Leaf-Hub Spec Sync
The leaf hub spec sync component of Hub-of-Hubs.
Go to the Contributing guide to learn how to get involved.
Getting Started
Build and push the image to docker registry
-
Set the
REGISTRY
environment variable to hold the name of your docker registry:$ export REGISTRY=...
-
Set the
IMAGE_TAG
environment variable to hold the required version of the image.
default value islatest
, so in that case no need to specify this variable:$ export IMAGE_TAG=latest
-
Run make to build and push the image:
$ make push-images
Deploy on a leaf hub
-
Set the
REGISTRY
environment variable to hold the name of your docker registry:$ export REGISTRY=...
-
Set the
IMAGE
environment variable to hold the name of the image.$ export IMAGE=$REGISTRY/$(basename $(pwd)):latest
-
Set the
LH_ID
environment variable to hold the leaf hub unique id.$ export LH_ID=...
-
Set the
TRANSPORT_TYPE
environment variable to "kafka" or "sync-service" to set which transport to use.$ export TRANSPORT_TYPE=...
-
If you set kafka as transport, set the following environment variables:
-
Set
KAFKA_BOOTSTRAP_SERVERS
environment variable to hold the address of the brokers to connect to.$ export KAFKA_BOOTSTRAP_SERVERS=...
-
If you use secure (SSL/TLS) client authorization, set
KAFKA_SSL_CA
environment variable to hold the certificate (PEM format) encoded in base64.$ export KAFKA_SSL_CA=$(cat PATH_TO_CA | base64 -w 0)
-
-
Otherwise, if you set sync-service as transport, set the following:
- Set the
SYNC_SERVICE_PORT
environment variable to hold the ESS port as was setup in the leaf hub.$ export SYNC_SERVICE_PORT=...
- Set the
-
Set the
K8S_CLIENTS_POOL_SIZE
environment variable to hold the size of the k8s clients pool. The pool is used to run update and delete operations of the received bundle's objects concurrently. The environment variable is optional. Default value is 10.$ export K8S_CLIENTS_POOL_SIZE=...
-
Run the following command to deploy the
leaf-hub-spec-sync
to your leaf hub cluster:envsubst < deploy/leaf-hub-spec-sync.yaml.template | kubectl apply -f -
Cleanup from a leaf hub
- Run the following command to clean
leaf-hub-spec-sync
from your leaf hub cluster:envsubst < deploy/leaf-hub-spec-sync.yaml.template | kubectl delete -f -