Introduction
- Deploying the Build System itself should be seamless should S3DF shut down, or if we decide to move to our own servers.
- What are the components of the Build System that has to be deployed for it to work?
- How can we have cluster ad-build-dev be our development server, and easily push changes to production cluster ad-build?
- How can we build the Build System through the Build System itself?
What to deploy
- core-build-system backend
- Repo: eed-web-application/core-build-system (github.com)
- Deployment repo: eed-web-application/core-build-system-deployment (github.com)
- ad-build image registry
- Repo: TODO
- artifact storage API
- Repo: BuildSystem/artifact_storage/api at main · ad-build-test/BuildSystem (github.com)
- build environment images
- Repo: BuildSystem/build_envs at main · ad-build-test/BuildSystem (github.com)
- These include the base images, which contain the base os, and the standard build scripts found in BuildSystem/build_scripts at main · ad-build-test/BuildSystem (github.com)
- CLI for Build System
- Repo: BuildSystem/bs_cli at main · ad-build-test/BuildSystem (github.com)
- Although this probably isn't 'deployed' like the rest of the components on this list
How to deploy
- core-build-system backend
- Download this repo: eed-web-application/core-build-system-deployment (github.com)
- Ensure vault-secrets-operator is running
- Ensure the proper secrets are in the vault, you can enter them here: https://vault.slac.stanford.edu/ui/vault/secrets/secret/list/ad/ad-build-dev/
- Once your logged in to the appropriate kubernetes cluster,
Follow these commands:
cd core-build-system-deployment/
kubectl apply -k test/
Ex: output
pnispero@PC100942:~/core-build-system-deployment$ kubectl apply -k test/
serviceaccount/core-build-system-sa created
serviceaccount/percona-server-mongodb-operator created
role.rbac.authorization.k8s.io/percona-server-mongodb-operator created
rolebinding.rbac.authorization.k8s.io/core-build-system-rb created
rolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator created
configmap/env-config-map created
service/core-build-system-service created
persistentvolumeclaim/core-build-system-s3df-ad-group created
deployment.apps/core-build-system created
deployment.apps/percona-server-mongodb-operator created
Warning: path /api/cbs(/|$)(.*) cannot be used with pathType Prefix
ingress.networking.k8s.io/core-build-system-ingress created
ingress.networking.k8s.io/core-build-system-webhook-ingress created
ingress.networking.k8s.io/elog-plus-backend-public-doc-ingress created
perconaservermongodb.psmdb.percona.com/cbs-cluster created
vaultsecret.ricoberger.de/application-secrets created
vaultsecret.ricoberger.de/github-secret created
vaultsecret.ricoberger.de/mongodb-secret created
- Once deployed, you should see the following pods running:
- core-build-system-<hash>
- cbs-cluster-rs0-0
- cbs-cluster-rs0-1
- cbs-cluster-rs0-2
- Apply crd for mongodb percona server (one time)
https://github.com/eed-web-application/eed-accel-webapp-clusters-wide-setup.git
pnispero@PC100942:~/eed-accel-webapp-clusters-wide-setup/test/mongodb-operator$ kubectl apply --server-side -f resource-1.15.0.yaml
customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com serverside-applied
customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com serverside-applied
customresourcedefinition.apiextensions.k8s.io/perconaservermongodbs.psmdb.percona.com serverside-applied
pnispero@PC100942:~/eed-accel-webapp-clusters-wide-setup/test/mongodb-operator$
- ad-build image registry
- R
- artifact storage API
- Download this repo: https://github.com/ad-build-test/BuildSystem.git
- Once logged in to the appropriate kubernetes cluster,
Follow these commands:
cd BuildSystem/artifact_storage/
kubectl apply -k artifact-deployment/
- Once deployed, you should see the following pods running:
- artfact-api-service-<hash>
- build environment images
- R
- CLI for Build System
- R