Project management, documentation, and mono-repo for FOLIO at University of Colorado Boulder University Libraries.
There are two parts to deployment: running pulumi up
and then running some shell scripts after pulumi.
Steps in more detail:
deployments
directory. Are you going to create a new release or use an existing one?pulumi up
from the pulumi directory. This will deploy everything in the entire infrastructure from scratch, including all AWS resources. Also deploys an empty AWS RDS database cluster and all the FOLIO modules. Finally it pushes out the FOLIO module descriptors to okapi. At this point you can export the kubeconfig file from the pulumi stack and use it to connect to the cluster to see the resources there. Try kubectl get pods
or kubectl logs <okapi pod name> -f
to follow the okapi logs.kubectl -n <folio namespace> port-forward 9000:9130
.create-tenant.sh
script. This will create one tenant based on the name in the script.register-modules.sh
script using the port on localhost for the okapi url. Make sure to adjust the parameters to your needs. This will register the modules in the deployment to the tenant. You should now be able to see all of the modules that you have registered to the tenant by visiting http://localhost:9000/_/proxy/tenants/cubl/modules
.get services
in the k8s cluster. This will allow for the next step (bootstrapping superuser) to work.bootstrap-superuser.sh
script per the instructions there. The superuser's name and password are available by doing pulumi config --show-secrets
. Set these in your local env to use the script.register-modules.sh
to load the sample data.secure-supertenant.py
to secure the supertenant.db-cluster-identifier
key to be the cluster identifier for the cluster you wish to connect.scripts
directory related to email configuration. If the URL for the deployment has changed at minimum you'll need to run email-update-reset.sh
to change the password reset URL to the new URL.Before running pulumi up
at minimum review index.ts to see what's involved with the deployment code. See the main README for details of many of these steps.
We use the term "dev" to refer to non-production environments serviced by the *.cublcta.com
certificates. These environments can logically be for "testing", "scratch", "staging" or other purposes. "Dev" is non-production. This arrangement allows for the wildcard cert to be used for any environment that is not production making mapping domains such as folio-iris.cublcta.com
to a specific (staging, scratch, etc) in-cluster service much easier.