Infrastructure Onboarding

Getting Started Steps on Truefoundry

1. Register and Login

  • Register at Truefoundry Registration During signup, provide your company name.
  • Once registered, access the login portal at https://<companyname>
  • Upon logging in, follow the steps outlined below to set up your account and connect your Kubernetes cluster.

If you encounter any difficulties during this process, feel free to seek assistance on our dedicated Slack channel here

2. Connect Kubernetes Cluster

To begin, you'll need to establish a connection between your Kubernetes cluster and Truefoundry.

2.1 Truefoundry Managed Cluster

If you prefer a hassle-free managed Kubernetes experience, Truefoundry offers the Managed Cluster service. To connect to this service, follow these steps:

  1. Choose "Truefoundry Managed Cluster."
  2. Follow the provided instructions to establish the connection with the managed cluster.

2.2 Bring your own Cluster

If you don't already have a Kubernetes cluster, you can quickly create one using the following resources:

Cloud Providers (Recommended)

We support the major cloud providers present in the market. This powers all the features of the platform and will give seamless experience.


Local cluster

You can use kind and minikube to test out the platform features but they might not support all the features of the platform like ingress, scaling, GPUs etc.

[Local cluster: Kind , Local cluster: minikube]

If you already have a running cluster, you can swiftly proceed using the steps below.

3. Creating you cluster on UI

  1. When you first login to the control plane URL you will be asked to add a cluster.
  1. Click on Add to add the cluster which will ask for few details
  • Name - Enter the name of your cluster. The name doesn't need to match the actual cluster name on the cloud, but it needs to be unique across all customers. For that, its recommend to name your cluster like --


Error: ClusterModel id must be unique, truefoundry-k8s-cluster already exists.

This error can come up if you are trying to use a cluster name that is already being used by someone else. Cluster name must be unique across internet and upon submitting this would give the above error. You can just add some unique characters to the name and then it should go through.

  • Cluster Type - Select cluster type corresponding to the cloud provider where you deployed your kubernetes cluster. Select generic if your requirements doesn't match any other option.
  • Region - Region where your kubernetes cluster is deployed. In case of generic cluster type, chose any region. For e.g. local
  1. Click on Connect so as to connect your kubernetes cluster with your control plane. This step involves running a script which is to be done whoever has kubectl access to your cluster. This step also requires kubectl and helm to be installed locally or from the workstation where you are accessing the kubernetes cluster.
  • The script will look something like this
bash <(curl -sSL  <tenantName> <clusterType> <clusterToken> <controlPlaneURL>

Make sure you are running the script in the right kubectl context.

  1. When you will run the script, it will automatically show connected after 2 minutes:
  1. Step 3 Ingress Setup will remain in a progressing phase if you are using a local cluster which doesn't give a load balancer IP.


Ingress setup: local cluster

Without an explicit support of load balancer it is difficult to set up an ingress on a local kind or minikube cluster. For such scenarios, you can ignore Step 3.

  1. Next we will go ahead and complete the Step 4 by clicking Deploy .
  2. You can also select the option of Skip Optional Steps to skip deployment and ingress.

4. Add Integrations

To configure various integrations, navigate to the Integrations tab on the platform:

Docker Registry

  1. Visit the Docker Registry tab.
  2. Click the Connect Registry button.
  3. Fill out and submit the form provided.

For more detailed instructions, refer to Docker Registry Integration Documentation.

Blob Storage (Optional)

  1. Head to the Blob Storage tab.
  2. Click the Connect Storage button.
  3. Complete and submit the form displayed.

For in-depth guidance, refer to Blob Storage Integration Documentation.

Git (Optional)

  1. Access the Git tab to view available Git repositories.
  2. Identify the Git repository you wish to connect to.
  3. Click the Link button corresponding to the chosen repository.
  4. Follow the ensuing steps.

For step-by-step information, consult Git Integration Documentation.

Secret Store (Optional)

  1. Go to the Secret Store tab.
  2. Click the Connect Secret Store button.
  3. Fill in the form as required and submit it.

To delve deeper, consult Secret Store Integration Documentation.

5. Creating Workspaces

  1. Click on the "Workspace" tab on the left panel of the platform.
  2. Click on "New Workspace".
  3. Fill in Workspace Details
    1. Cluster: Choose the desired cluster for your workspace from the available options.
    2. Name: Provide a name for your workspace, which will help identify it.
    3. Resource:
      1. CPU Limit: Set the maximum CPU resources allowed for the workspace.
      2. Memory Limit: Specify the maximum memory resources allowed for the workspace.
      3. Ephemeral Storage Limit: Define the limit for ephemeral storage in the workspace.

After providing all the necessary details for the workspace and ML repository access, Click on the "Create" button.

Enabling ML Repo Access

In the form of Workspace Creation you can also give the Access of using ML Repos to the workspace you are creating via:

  1. Enable ML Repo Access: Toggle the "ML Repo Access" option to enable access to the necessary ML repository from this workspace.
  2. Configure ML Repo Access:
    1. Search ML Repo (dropdown): Search and select the ML repository you want to grant access to from the available options.
    2. Select Role: Choose from the following options for ML repository access within the workspace:
      Project Admin, Project Editor, Project Viewer