Control Plane Production Installation

To install Truefoundry in your own cloud for production use, we need the following requirements:

  1. Kubernetes Cluster
  2. 1 Blob Storage (S3 / GCS / Azure Container)
  3. Postgres DBs
    1. Host, Port, Username, Password and DB name.
  4. Org details provided by the truefoundry team

Install Servicefoundry library

pip install truefoundry

Login

sfy login --host example.truefoundry.com

Create the config file for installation

We will need to create a config file for installation of Truefoundry. We will need to create a file like below and fill up the values.

provider: "aws"
tenant_name: <to_be_provided>
control_plane_url: <to_be_provided>
target_repo:
  url: <to_be_provided>
  branch: <to_be_provided>
  username: <to_be_provided>
  password: <to_be_provided>
  k8s_path: <to_be_provided>
tfy_istio:
  tls_enabled: true
  host: <to_be_provided>
  certificate_name: <to_be_provided>
tfy_control_plane:
  params:
    truefoundry_db_host: <to_be_provided>
    truefoundry_db_username: <to_be_provided>
    truefoundry_db_password: <to_be_provided>
    truefoundry_db_name: <to_be_provided>

Let's say we fill up the values and save it as input.yaml.

Bootstrap the config file for installation

sfy bootstrap tfy-control-plane --file input.yaml

The above command can take a few seconds since it will wait for all the pods to come up. The default installation should install the components to the truefoundry namepsace. Once its done, check
the final status using the following command:

kubectl get pods -l 'app.kubernetes.io/name in (truefoundry-frontend-app,servicefoundry-server,mlfoundry-server)' -n truefoundry

You should see pods for each of the services truefoundry-frontend-app, servicefoundry-server, mlfoundry-server in Running condition

Verify Installation

If you have provided an ingress in tfy.yaml, you should be able to access truefoundry at the link provided in the
hosts section, else you can always port-forward the service truefoundry frontend app and check.

kubectl port-forward svc/truefoundry-truefoundry-frontend-app 8080:5000 -n truefoundry

You should be greeted with a screen like below when you visit https://localhost:8080 :

You can login using the admin username and password provided to you.

Please note at this point you can use MLFoundry and ML-Monitoring, but additional work is needed for
getting started with ServiceFoundry. We need to provide the workload cluster to ServiceFoundry so that it can deploy
the workloads there.