Installation
Prerequisites
- Locally-hosted insfrastructure
- PostgreSQL database
- Version 13 or higher
- Provisioned hardware is complying with TIM v5 hardware requirements
- Admin access to this database (with privilege to create new databases and users)
- uuid-ossp extension enabled
- Kubernetes cluster
- Version 1.25 or higher
- Provisioned hardware is complying with TIM v5 hardware requirements
- Admin access to this cluster (get, list, watch, create, update, patch and delete on namespaces, deployments, services, jobs, cronjobs, statefulsets, secrets, configmaps, pods, ingresses)
- Internet access from pods running in the cluster to
- https://tim-platform-im.tangent.works 443 TCP
- euwestacrtangentworks01.azurecr.io 443 TCP
- *.docker.io 443 TCP
- *.docker.com 443 TCP
- PostgreSQL database
- Administrator's PC
- psql utility installed and configurred with access to PostgreSQL database
- kubectl utility installed and configured with context accessing the Kubernetes cluster
- (Optional) azure cli installed and configured
- TIM v5 installation files present on this machine
Note: Administrator's PC is a machine from which TIM v5 installation and management is happening. It can be a developer's PC or a virtual machine in the cloud (jump server).
PostgreSQL database setup
- Connect to PostgreSQL as admin user
- Run SQL statements from file
01_tim-platform-db_create-user.sql
- Logout from the database
- Connect to the
timplatformdb
database in PostgreSQL as admin user - Run SQL statements from file
02_tim-platform-db_create-extension.sql
- Logout from the database
- Connect to the
timplatformdb
database in PostgreSQL astimplatformuser
user - Run SQL statements from file
03_tim-platform-db_init.sql
- Logout from the database
Kubernetes cluster setup
- Edit file
tim_v5_azure_kube_deployment.yaml
- Replace placeholder
<postgres-host>
with PostgreSQL hostname or IP address - Replace placeholder
<rest-host>
with public DNS record of TIM v5 REST API if available, otherwise replace placeholder<rest-host>
withlocalhost
- Save changes to the file
- Replace placeholder
- (Optional) Install Nginx ingress controller to the Kubernetes cluster (Create an ingress controller in Azure Kubernetes Service)
- Apply changes to the Kubernetes cluster by running command
kubectl apply -f tim_v5_azure_kube_deployment.yaml
- Wait 5 minutes for the deployment to complete
- Check status of the deployment by running command
kubectl get pods -n tim-platform
Accessing TIM v5 REST API
TIM v5 REST API is accessible via port 8000
on rest-api
Kubernetes service in namespace tim-platform
. If Nginx ingress controller is installed and public IP/host provisioning is enabled, you can find public IP/host of the TIM v5 REST API by running command kubectl get service ingress-nginx-controller -n ingress-nginx
. Public IP/host is displayed in EXTERNAL-IP column. The REST API is then available on this IP/host on port 443 (https).