Define the base K8S manifests along with placeholder for encrypted peer
identity. Define an overlay for devus-east-2 deployment to
storetheindex cluster.
The Peer ID is randomly generated and encrypted using sops which is
unencrypted on the fly at runtime by flux CD mechanism.
A service is defined to serve libp2p requests on port 6746. This
service will use an AWS NLB with dns name autoretrieve.dev.cid.contact
in the dev overlay.
Pods' /metrics HTTP endpoint is monitored over port 8080 and metrics
are forwarded to storetheindex-dev Prometheus data source at
PL grafana. Logs are also automatically forwarded and should be aviable
at PL grafana provisioned Loki soruce, named
grafanacloud-protocollabs-logs.
A CI job is introduced to automatically create a PR for any new images
detected by flux CD. The automatic container image deployment flow is
the following:
image is built and pushed to ECR up on merge to master
flux cd on the K8S cluster detects the presense of a new image
flux cd compares the currently deployed image with the new image
if different, flux changes the manifests at
deploy/manifests/dev/us-east-2/kustomization.yaml to point to the
new image.
flux cd then commits and pushes the canges to a branch named cd/dev.
GitHub Actions is then triggered on pushes to cd/dev and creates a
PR against master.
repo maintainers review and merge the PR, and the merge of that PR
results in a new deployment.
Note that the PR creation is engineered here on purpose to provide an
approval process through which deployemt will happen when there is a new
container release.
Changes to manifests located at deploy/manifests, however, will be
automatically deployed upon merge to master.
Define the base K8S manifests along with placeholder for encrypted peer identity. Define an overlay for
dev
us-east-2
deployment to storetheindex cluster.The Peer ID is randomly generated and encrypted using
sops
which is unencrypted on the fly at runtime by flux CD mechanism.A service is defined to serve libp2p requests on port
6746
. This service will use an AWS NLB with dns nameautoretrieve.dev.cid.contact
in the dev overlay.Pods'
/metrics
HTTP endpoint is monitored over port 8080 and metrics are forwarded tostoretheindex-dev
Prometheus data source at PL grafana. Logs are also automatically forwarded and should be aviable at PL grafana provisioned Loki soruce, namedgrafanacloud-protocollabs-logs
.A CI job is introduced to automatically create a PR for any new images detected by flux CD. The automatic container image deployment flow is the following:
master
deploy/manifests/dev/us-east-2/kustomization.yaml
to point to the new image.cd/dev
.cd/dev
and creates a PR againstmaster
.Note that the PR creation is engineered here on purpose to provide an approval process through which deployemt will happen when there is a new container release.
Changes to manifests located at
deploy/manifests
, however, will be automatically deployed upon merge tomaster
.