Helm Chart Export

We have introduced a new feature where every service can be exported as a helm chart. This enables shipping of the applications developed on the truefoundry platform to other non-supported platforms.

API details

Get Helm metadata

GET /v1/app/{applicationId}/deployments/{deploymentId}/helm-metadata

https://docs.truefoundry.com/reference/applicationgethelmmetadatafordeployment

The applicationId and the deploymentId needs to be supplied for the app. The helm details are saved at the time of deployment

Sample Response -

{  
  // Name of the chart in the repo  
  "chartName": "service-component",  
  // Name of the repo where the chart is present  
  "chartRepo": "oci://quay.io/truefoundrycharts",  
  "chartValues": {  
  // values.yaml in json format  
  },  
  // Version of the chart used for this particular deployment  
  "chartVersion": "0.1.3"  
}

The chartValues field can be converted to yaml and used as the values file for helm.

This response can be used to replicate the complete deployment by using helm CLI -
$ helm install <releaseName> -f <chartValues as yaml> --version <chartVersion> <chartRepo>/<chartName>

Note: Please make sure these pre-requisties are installed in your cluster before installing this chart.

Export Multiple Applications as Single Helm Chart

POST /v1/app/generate-helm-chart

https://docs.truefoundry.com/reference/applicationgeneratehelmchartfromdependencies

A download containing the helm chart and the input values.yaml file will be generated.

<chart_name>.zip
values.yaml

Follow these steps to install the chart:

  • Step 1: Extract the archive from the directory
  • Step 2: Navigate to the directory containing the chart
  • Step 3: Customize the values.yaml file as needed
  • Step 4: Install the component by running this command
    helm install [release name] [path to downloaded chart] -f [path to values.yaml]

Note: Please make sure these pre-requisties are installed in your cluster before installing this chart.

Activity Logs API

You can find the activity logs by querying the API described in docs.

The activity logs are stored in the database and you can query them directly from the database as well.

Setting up a Grafana Dashboard

  1. Create a user on the DB and grant read permission on the activity_log table inside public schema in truefoundry DB.
  2. Add a Postgres datasource on Grafana and pass credentials of the above user. More details about setting up Postgres datasource can be found here: https://grafana.com/docs/grafana/latest/datasources/postgres/
  3. Now, create a dashboard and write queries to generate visualizations. Find some sample queries here that you can directly use:

Deployments per day:

select DATE_TRUNC ('day', "createdAt") as time, count("action") from activity_log where "action" = 'CREATE_DEPLOYMENT' GROUP BY DATE_TRUNC ('day', "createdAt"), "action" order by time desc

Deployments by cluster:

SELECT "clusterId", count(\*) from "activity_log" WHERE "action" = 'CREATE_DEPLOYMENT' group by "clusterId" order by count desc

Deployments by application type:

SELECT ("activity_log"."metaData"->>'applicationType') as appType, count(\*) from "activity_log" WHERE "action" = 'CREATE_DEPLOYMENT' group by appType