From 154205bbe069ccf1dcc60c08297cafa82f7bb975 Mon Sep 17 00:00:00 2001 From: Abhishek Choudhary Date: Fri, 22 Nov 2024 22:58:00 +0530 Subject: [PATCH] [CI] Publish Truefoundry chart version (#821) Co-authored-by: akashg3627 --- charts/truefoundry/Chart.lock | 6 +- charts/truefoundry/Chart.yaml | 4 +- charts/truefoundry/README.md | 158 ++++++++---------- .../tfy-build/preemptible-deployment.yaml | 2 +- .../tfy-build-scripts/build-and-push.sh | 2 +- .../tfy-build-scripts/download-code.sh | 4 +- charts/truefoundry/values.yaml | 81 +++++---- 7 files changed, 127 insertions(+), 130 deletions(-) diff --git a/charts/truefoundry/Chart.lock b/charts/truefoundry/Chart.lock index e5a0790e0..1e92e9406 100644 --- a/charts/truefoundry/Chart.lock +++ b/charts/truefoundry/Chart.lock @@ -10,6 +10,6 @@ dependencies: version: 15.2.2 - name: tfy-buildkitd-service repository: https://truefoundry.github.io/infra-charts/ - version: 0.2.1-rc.1 -digest: sha256:0f3eab55d9395afea9ba9382c532dd53c61acc58c7e1ea87adb85a5a51dd1c71 -generated: "2024-11-08T15:07:07.114652559+05:30" + version: 0.2.1 +digest: sha256:5140d88c4f62122247e888f70adbfc4b684adc7ce3fa34b46347c8fbaf2d65c0 +generated: "2024-11-22T17:27:46.263843+05:30" diff --git a/charts/truefoundry/Chart.yaml b/charts/truefoundry/Chart.yaml index b6e1f2732..f390febee 100644 --- a/charts/truefoundry/Chart.yaml +++ b/charts/truefoundry/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: truefoundry -version: 0.13.2 +version: 0.13.4 description: "TrueFoundry Control Plane Components" maintainers: - name: truefoundry @@ -20,4 +20,4 @@ dependencies: - condition: tfy-buildkitd-service.enabled name: tfy-buildkitd-service repository: https://truefoundry.github.io/infra-charts/ - version: 0.2.1-rc.1 + version: 0.2.1 diff --git a/charts/truefoundry/README.md b/charts/truefoundry/README.md index 7777eaac9..23c99ce6f 100644 --- a/charts/truefoundry/README.md +++ b/charts/truefoundry/README.md @@ -11,7 +11,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `global.truefoundryImagePullConfigJSON` | JSON config for image pull secret | `""` | | `global.tenantName` | Name of the tenant | `""` | | `global.controlPlaneURL` | URL of the control plane | `http://truefoundry-truefoundry-frontend-app.truefoundry.svc.cluster.local:5000` | -| `global.controlPlaneChartVersion` | Version of control-plane chart | `0.13.2` | +| `global.controlPlaneChartVersion` | Version of control-plane chart | `0.6.2` | | `global.existingTruefoundryCredsSecret` | Name of the existing truefoundry creds secret | `""` | | `global.database.host` | Control plane database hostname when dev mode is not enabled | `""` | | `global.database.name` | Control plane database name when dev mode is not enabled | `""` | @@ -23,20 +23,19 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s ### Truefoundry bootstrap values -| Name | Description | Value | -| ----------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------- | -| `truefoundryBootstrap.enabled` | Bool to enable truefoundry bootstrap | `true` | -| `truefoundryBootstrap.image.repository` | Truefoundry bootstrap image repository | `tfy.jfrog.io/tfy-mirror/library/ubuntu` | -| `truefoundryBootstrap.image.tag` | Truefoundry bootstrap image tag | `latest` | -| `truefoundryBootstrap.natsConfigmapName` | Truefoundry nats configmap name | `nats-accounts` | -| `truefoundryBootstrap.extraEnvVars` | Extra environment variables for the bootstrap container | `[]` | -| `truefoundryBootstrap.extraVolumeMounts` | Extra volume mounts for the bootstrap container | `[]` | -| `truefoundryBootstrap.extraVolumes` | Extra volumes for the bootstrap container | `[]` | -| `truefoundryBootstrap.affinity` | Affinity for the bootstrap container | `{}` | -| `truefoundryBootstrap.nodeSelector` | Node selector for the bootstrap container | `{}` | -| `truefoundryBootstrap.tolerations` | Tolerations specific to the bootstrap container | `{}` | -| `truefoundryBootstrap.imagePullSecrets` | Image pull secrets for the bootstrap container | `[]` | -| `truefoundryBootstrap.createdBuildkitServiceTlsCerts` | Bool to install TLS certificates | `false` | +| Name | Description | Value | +| ---------------------------------------- | ------------------------------------------------------- | ---------------------------------------- | +| `truefoundryBootstrap.enabled` | Bool to enable truefoundry bootstrap | `true` | +| `truefoundryBootstrap.image.repository` | Truefoundry bootstrap image repository | `tfy.jfrog.io/tfy-mirror/library/ubuntu` | +| `truefoundryBootstrap.image.tag` | Truefoundry bootstrap image tag | `latest` | +| `truefoundryBootstrap.natsConfigmapName` | Truefoundry nats configmap name | `nats-accounts` | +| `truefoundryBootstrap.extraEnvVars` | Extra environment variables for the bootstrap container | `[]` | +| `truefoundryBootstrap.extraVolumeMounts` | Extra volume mounts for the bootstrap container | `[]` | +| `truefoundryBootstrap.extraVolumes` | Extra volumes for the bootstrap container | `[]` | +| `truefoundryBootstrap.affinity` | Affinity for the bootstrap container | `{}` | +| `truefoundryBootstrap.nodeSelector` | Node selector for the bootstrap container | `{}` | +| `truefoundryBootstrap.tolerations` | Tolerations specific to the bootstrap container | `{}` | +| `truefoundryBootstrap.imagePullSecrets` | Image pull secrets for the bootstrap container | `[]` | ### Truefoundry Frontend App values @@ -47,7 +46,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `truefoundryFrontendApp.replicaCount` | Number of replicas for the frontend app | `1` | | `truefoundryFrontendApp.global` | Global values for the frontend app | `{}` | | `truefoundryFrontendApp.image.repository` | Image repository for the frontend app | `tfy.jfrog.io/tfy-private-images/truefoundry-frontend-app` | -| `truefoundryFrontendApp.image.tag` | Image tag for the frontend app | `v0.12.0` | +| `truefoundryFrontendApp.image.tag` | Image tag for the frontend app | `v0.5.1` | | `truefoundryFrontendApp.envSecretName` | Secret name for the frontend app environment variables | `truefoundry-frontend-app-env-secret` | | `truefoundryFrontendApp.imagePullPolicy` | Image pull policy for the frontend app | `IfNotPresent` | | `truefoundryFrontendApp.nameOverride` | Override name for the frontend app | `""` | @@ -96,7 +95,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `mlfoundryServer.enabled` | Bool to enable the mlfoundry server | `true` | | `mlfoundryServer.tolerations` | Tolerations specific to the mlfoundry server | `{}` | | `mlfoundryServer.image.repository` | Image repository for the mlfoundry server | `tfy.jfrog.io/tfy-private-images/mlfoundry-server` | -| `mlfoundryServer.image.tag` | Image tag for the mlfoundry server | `v0.10.0` | +| `mlfoundryServer.image.tag` | Image tag for the mlfoundry server | `v0.4.0` | | `mlfoundryServer.replicaCount` | Number of replicas for the mlfoundry server | `1` | | `mlfoundryServer.environmentName` | Environment name for the mlfoundry server | `default` | | `mlfoundryServer.envSecretName` | Secret name for the mlfoundry server environment variables | `mlfoundry-server-env-secret` | @@ -133,7 +132,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `servicefoundryServer.replicaCount` | Number of replicas for the servicefoundry server | `1` | | `servicefoundryServer.global` | Global values for the servicefoundry server | `{}` | | `servicefoundryServer.image.repository` | Image repository for the servicefoundry server | `tfy.jfrog.io/tfy-private-images/servicefoundry-server` | -| `servicefoundryServer.image.tag` | Image tag for the servicefoundry server | `v0.13.2` | +| `servicefoundryServer.image.tag` | Image tag for the servicefoundry server | `v0.6.1` | | `servicefoundryServer.environmentName` | Environment name for the servicefoundry server | `default` | | `servicefoundryServer.envSecretName` | Secret name for the servicefoundry server environment variables | `servicefoundry-server-env-secret` | | `servicefoundryServer.imagePullPolicy` | Image pull policy for the servicefoundry server | `IfNotPresent` | @@ -161,9 +160,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `servicefoundryServer.imagePullSecrets` | Image pull credentials for servicefoundry server | `[]` | | `servicefoundryServer.rbac.enabled` | Enable RBAC for the servicefoundry server | `true` | | `servicefoundryServer.configs.cicdTemplates` | CICD Template for servicefoundry server | `{{ .Release.Name }}-cicd-templates-cm` | -| `servicefoundryServer.configs.workbenchImages` | Workbench Images for workbench deployments | `{{ .Release.Name }}-workbench-images-cm` | -| `servicefoundryServer.configs.imageMutationPolicy` | Image Mutations policy for workloads | `{{ .Release.Name }}-image-mutation-policy-cm` | -| `servicefoundryServer.configs.k8sManifestValidationPolicy` | K8s Manifest Validation policy for workloads | `{{ .Release.Name }}-k8s-manifest-validation-policy-cm` | +| `servicefoundryServer.configs.workbenchImages` | Workbench Images for servicefoundry server | `{{ .Release.Name }}-workbench-images-cm` | ### tfyK8sController Truefoundry tfy k8s controller values @@ -174,7 +171,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `tfyK8sController.replicaCount` | Number of replicas for the tfyK8sController | `1` | | `tfyK8sController.global` | Global values for the tfyK8sController | `{}` | | `tfyK8sController.image.repository` | Image repository for the tfyK8sController | `tfy.jfrog.io/tfy-private-images/tfy-k8s-controller` | -| `tfyK8sController.image.tag` | Image tag for the tfyK8sController | `v0.10.0` | +| `tfyK8sController.image.tag` | Image tag for the tfyK8sController | `v0.3.0` | | `tfyK8sController.environmentName` | Environment name for tfyK8sController | `default` | | `tfyK8sController.envSecretName` | Secret name for the tfyK8sController environment variables | `tfy-k8s-controller-env-secret` | | `tfyK8sController.imagePullPolicy` | Image pull policy for the tfyK8sController | `IfNotPresent` | @@ -209,7 +206,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `sfyManifestService.tolerations` | Tolerations specific to the sfy manifest service | `{}` | | `sfyManifestService.global` | Global values for the sfy manifest service | `{}` | | `sfyManifestService.image.repository` | Image repository for the sfy manifest service | `tfy.jfrog.io/tfy-private-images/sfy-manifest-service` | -| `sfyManifestService.image.tag` | Image tag for the sfy manifest service | `v0.10.0` | +| `sfyManifestService.image.tag` | Image tag for the sfy manifest service | `v0.3.0` | | `sfyManifestService.replicaCount` | Number of replicas for the sfy manifest service | `1` | | `sfyManifestService.environmentName` | Environment name for the sfy manifest service | `default` | | `sfyManifestService.envSecretName` | Secret name for the sfy manifest service environment variables | `sfy-manifest-service-env-secret` | @@ -277,7 +274,7 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s | `nats.cluster.replicas` | Number of replicas for NATS cluster | `3` | | `nats.cluster.noAdvertise` | Bool to enable NATS cluster | `true` | | `nats.websocket.enabled` | Bool to enable NATS websocket | `true` | -| `nats.websocket.port` | Port for NATS websocket | `8080` | +| `nats.websocket.port` | Port for NATS websocket | `443` | | `nats.websocket.noTLS` | Bool to enable NATS websocket without TLS | `true` | | `nats.websocket.sameOrigin` | Bool to enable NATS websocket same origin | `false` | | `nats.websocket.allowedOrigins` | Allowed origins for NATS websocket | `[]` | @@ -286,68 +283,61 @@ truefoundry is an applications that gets deployed on the kubernetes cluster to s ### tfyBuild Truefoundry tfy build settings -| Name | Description | Value | -| ------------------------------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tfyBuild.enabled` | Bool to enable the tfyBuild server | `true` | -| `tfyBuild.global` | Global values for the tfyBuild server | `{}` | -| `tfyBuild.nameOverride` | Override name for the tfyBuild server | `""` | -| `tfyBuild.fullnameOverride` | Full name override for the tfyBuild server | `""` | -| `tfyBuild.serviceAccount.annotations` | Annotations for the tfyBuild server service account | `{}` | -| `tfyBuild.preemptibleDeployment.enabled` | Bool to enable preemptible deployment for the tfyBuild server | `false` | -| `tfyBuild.preemptibleDeployment.image.repository` | Repository for the preemptible deployment | `tfy.jfrog.io/tfy-mirror/alpine` | -| `tfyBuild.preemptibleDeployment.image.tag` | Tag for the preemptible deployment | `3.20` | -| `tfyBuild.preemptibleDeployment.imagePullSecrets` | Image pull secrets for the preemptible deployment | `[]` | -| `tfyBuild.preemptibleDeployment.affinity` | Affinity settings for the preemptible deployment | `{}` | -| `tfyBuild.preemptibleDeployment.nodeSelector` | Node selector for the preemptible deployment | `{}` | -| `tfyBuild.preemptibleDeployment.tolerations` | Tolerations for the preemptible deployment | `[]` | -| `tfyBuild.preemptibleDeployment.extraEnvs` | Extra environment variables for the tfyBuild server | `[]` | -| `tfyBuild.preemptibleDeployment.extraVolumeMounts` | Extra volume mounts for the tfyBuild server | `[]` | -| `tfyBuild.preemptibleDeployment.extraVolumes` | Extra volumes for the tfyBuild server | `[]` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.image.repository` | Repository for the sfyBuilder | `tfy.jfrog.io/tfy-images/sfy-builder` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.image.tag` | Tag for the sfyBuilder | `v0.8.6` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.imagePullSecrets` | Image pull secrets for the sfyBuilder | `[]` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.baseImagePullSecret` | baseImagePullSecret for the docker config | `""` | +| Name | Description | Value | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `tfyBuild.enabled` | Bool to enable the tfyBuild server | `true` | +| `tfyBuild.global` | Global values for the tfyBuild server | `{}` | +| `tfyBuild.nameOverride` | Override name for the tfyBuild server | `""` | +| `tfyBuild.fullnameOverride` | Full name override for the tfyBuild server | `""` | +| `tfyBuild.serviceAccount.annotations` | Annotations for the tfyBuild server service account | `{}` | +| `tfyBuild.preemptibleDeployment.enabled` | Bool to enable preemptible deployment for the tfyBuild server | `false` | +| `tfyBuild.preemptibleDeployment.image.repository` | Repository for the preemptible deployment | `tfy.jfrog.io/tfy-mirror/alpine` | +| `tfyBuild.preemptibleDeployment.image.tag` | Tag for the preemptible deployment | `3.20` | +| `tfyBuild.preemptibleDeployment.imagePullSecrets` | Image pull secrets for the preemptible deployment | `[]` | +| `tfyBuild.preemptibleDeployment.affinity` | Affinity settings for the preemptible deployment | `{}` | +| `tfyBuild.preemptibleDeployment.nodeSelector` | Node selector for the preemptible deployment | `{}` | +| `tfyBuild.preemptibleDeployment.tolerations` | Tolerations for the preemptible deployment | `[]` | +| `tfyBuild.preemptibleDeployment.extraEnvs` | Extra environment variables for the tfyBuild server | `[]` | +| `tfyBuild.preemptibleDeployment.extraVolumeMounts` | Extra volume mounts for the tfyBuild server | `[]` | +| `tfyBuild.preemptibleDeployment.extraVolumes` | Extra volumes for the tfyBuild server | `[]` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.image.repository` | Repository for the sfyBuilder | `tfy.jfrog.io/tfy-images/sfy-builder` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.image.tag` | Tag for the sfyBuilder | `v0.8.6` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.imagePullSecrets` | Image pull secrets for the sfyBuilder | `[]` | | `tfyBuild.truefoundryWorkflows.sfyBuilder.script` | script for the sfyBuilder to be executed | `download-code.sh registry-login.sh wait-for-builder.sh build-and-push.sh - -# This script will be executed only when all the above scripts are successfully executed. If any of the above scripts fail, this script will not be executed, and the build will be marked as failed. -update-build.sh '{"status":"SUCCEEDED"}' -` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.limits.cpu` | CPU limit for the sfyBuilder | `1` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.limits.ephemeral-storage` | Ephemeral storage limit for the sfyBuilder | `20Gi` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.limits.memory` | Memory limit for the sfyBuilder | `2Gi` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.requests.cpu` | CPU request for the sfyBuilder | `200m` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.requests.ephemeral-storage` | Ephemeral storage request for the sfyBuilder | `10Gi` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.requests.memory` | Memory request for the sfyBuilder | `500Mi` | -| `tfyBuild.truefoundryWorkflows.sfyBuilder.buildSecrets` | Build secrets for the sfyBuilder | `[]` | -| `tfyBuild.truefoundryWorkflows.extraEnvs` | Extra environment variables for the tfyBuild server | `[]` | -| `tfyBuild.truefoundryWorkflows.extraVolumeMounts` | Extra volume mounts for the tfyBuild server | `[]` | -| `tfyBuild.truefoundryWorkflows.extraVolumes` | Extra volumes for the tfyBuild server | `[]` | -| `tfyBuild.truefoundryWorkflows.affinity` | Affinity settings for the tfyBuild server | `{}` | -| `tfyBuild.truefoundryWorkflows.nodeSelector` | Node selector for the tfyBuild server | `{}` | -| `tfyBuild.truefoundryWorkflows.logMarkers.error` | Error log marker for the tfyBuild server | `\u001b[31m[Error]\u001b[0m` | -| `tfyBuild.truefoundryWorkflows.logMarkers.done` | Done log marker for the tfyBuild server | `\u001b[32m[Done]\u001b[0m` | -| `tfyBuild.truefoundryWorkflows.logMarkers.start` | Start log marker for the tfyBuild server | `\u001b[36m[Start]\u001b[0m` | -| `tfyBuild.truefoundryWorkflows.logMarkers.clientPrefix` | Client prefix for the tfyBuild server | `["TFY-CLIENT"]` | -| `tfyBuild.truefoundryWorkflows.logMarkers.supportSlack` | Slack support URL for the tfyBuild server | `https://join.slack.com/t/truefoundry/shared_invite/zt-11ht512jq-nDJq~HJMqc6wBw90JVlo7g` | -| `tfyBuild.truefoundryWorkflows.logMarkers.serviceFoundryUiUrl` | Service foundry UI URL | `https://app.truefoundry.com/workspace` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.enabled` | Bool to enable SOCI index build and push | `false` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.image.repository` | Repository for the SOCI index build and push | `tfy.jfrog.io/tfy-images/sfy-builder` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.image.tag` | Tag for the SOCI index build and push | `v0.8.6` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.imagePullSecrets` | Image pull secrets for the sociIndexBuildAndPush | `[]` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.imageSizeThresholdBytes` | Image size threshold for the SOCI index build and push | `419430400` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.extraEnvs` | Extra environment variables for the SOCI index build and push | `[]` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.extraVolumeMounts` | Extra volume mounts for the SOCI index build and push | `[]` | -| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.extraVolumes` | | `[]` | -| `tfy-buildkitd-service.enabled` | Bool to enable the tfy-buildkitd service | `false` | -| `tfy-buildkitd-service.service.port` | port number for the tfy-buildkitd service | `1234` | -| `tfy-buildkitd-service.replicaCount` | Number of replicas Value kept for future use, kept 1 | `1` | -| `tfy-buildkitd-service.tls.enabled` | Enable TLS for the tfy-buildkitd service | `false` | -| `tfy-buildkitd-service.tls.buildkitClientCertsSecretName` | Name of the secret containing the TLS certificate | `tfy-buildkit-client-certs` | -| `postgresql.auth.existingSecret` | Name of the existing secret for PostgreSQL authentication | `truefoundry-postgresql-auth-secret` | -| `postgresql.auth.database` | Name of the database for PostgreSQL | `truefoundry` | +` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.baseImagePullSecret` | Base image pull secret for the sfyBuilder | `""` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.limits.cpu` | CPU limit for the sfyBuilder | `1` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.limits.ephemeral-storage` | Ephemeral storage limit for the sfyBuilder | `20Gi` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.limits.memory` | Memory limit for the sfyBuilder | `2Gi` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.requests.cpu` | CPU request for the sfyBuilder | `200m` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.requests.ephemeral-storage` | Ephemeral storage request for the sfyBuilder | `10Gi` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.resources.requests.memory` | Memory request for the sfyBuilder | `500Mi` | +| `tfyBuild.truefoundryWorkflows.sfyBuilder.buildSecrets` | Build secrets for the sfyBuilder | `[]` | +| `tfyBuild.truefoundryWorkflows.extraEnvs` | Extra environment variables for the tfyBuild server | `[]` | +| `tfyBuild.truefoundryWorkflows.extraVolumeMounts` | Extra volume mounts for the tfyBuild server | `[]` | +| `tfyBuild.truefoundryWorkflows.extraVolumes` | Extra volumes for the tfyBuild server | `[]` | +| `tfyBuild.truefoundryWorkflows.affinity` | Affinity settings for the tfyBuild server | `{}` | +| `tfyBuild.truefoundryWorkflows.nodeSelector` | Node selector for the tfyBuild server | `{}` | +| `tfyBuild.truefoundryWorkflows.logMarkers.error` | Error log marker for the tfyBuild server | `\u001b[31m[Error]\u001b[0m` | +| `tfyBuild.truefoundryWorkflows.logMarkers.done` | Done log marker for the tfyBuild server | `\u001b[32m[Done]\u001b[0m` | +| `tfyBuild.truefoundryWorkflows.logMarkers.start` | Start log marker for the tfyBuild server | `\u001b[36m[Start]\u001b[0m` | +| `tfyBuild.truefoundryWorkflows.logMarkers.clientPrefix` | Client prefix for the tfyBuild server | `["TFY-CLIENT"]` | +| `tfyBuild.truefoundryWorkflows.logMarkers.supportSlack` | Slack support URL for the tfyBuild server | `https://join.slack.com/t/truefoundry/shared_invite/zt-11ht512jq-nDJq~HJMqc6wBw90JVlo7g` | +| `tfyBuild.truefoundryWorkflows.logMarkers.serviceFoundryUiUrl` | Service foundry UI URL | `https://app.truefoundry.com/workspace` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.enabled` | Bool to enable SOCI index build and push | `false` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.image.repository` | Repository for the SOCI index build and push | `tfy.jfrog.io/tfy-images/soci-index-builder` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.image.tag` | Tag for the SOCI index build and push | `0.2.0` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.imagePullSecrets` | Image pull secrets for the sociIndexBuildAndPush | `[]` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.imageSizeThresholdBytes` | Image size threshold for the SOCI index build and push | `419430400` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.extraEnvs` | Extra environment variables for the SOCI index build and push | `[]` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.extraVolumeMounts` | Extra volume mounts for the SOCI index build and push | `[]` | +| `tfyBuild.truefoundryWorkflows.sociIndexBuildAndPush.extraVolumes` | | `[]` | +| `tfy-buildkitd-service.enabled` | Bool to enable the tfy-buildkitd service | `false` | +| `postgresql.auth.existingSecret` | Name of the existing secret for PostgreSQL authentication | `truefoundry-postgresql-auth-secret` | +| `postgresql.auth.database` | Name of the database for PostgreSQL | `truefoundry` | ### tfyController Truefoundry tfy controller settings @@ -356,7 +346,7 @@ update-build.sh '{"status":"SUCCEEDED"}' | `tfyController.enabled` | Bool to enable the tfyController | `true` | | `tfyController.global` | Global values for the tfyController | `{}` | | `tfyController.image.repository` | Image repository for the tfyController | `tfy.jfrog.io/tfy-private-images/tfy-controller` | -| `tfyController.image.tag` | Image tag for the tfyController | `v0.8.0` | +| `tfyController.image.tag` | Image tag for the tfyController | `v0.2.0` | | `tfyController.environmentName` | Environment name for the tfyController | `default` | | `tfyController.envSecretName` | Secret name for the tfyController environment variables | `sfy-manifest-service-env-secret` | | `tfyController.imagePullPolicy` | Image pull policy for the tfyController | `IfNotPresent` | @@ -382,7 +372,7 @@ update-build.sh '{"status":"SUCCEEDED"}' | `tfyWorkflowAdmin.enabled` | Bool to enable the tfyWorkflowAdmin | `false` | | `tfyWorkflowAdmin.global` | Global values for the tfyWorkflowAdmin | `{}` | | `tfyWorkflowAdmin.image.repository` | Image repository for the tfyWorkflowAdmin | `tfy.jfrog.io/tfy-private-images/tfy-workflow-admin` | -| `tfyWorkflowAdmin.image.tag` | Image tag for the tfyWorkflowAdmin | `v0.7.1` | +| `tfyWorkflowAdmin.image.tag` | Image tag for the tfyWorkflowAdmin | `v0.3.0` | | `tfyWorkflowAdmin.environmentName` | Environment name for the tfyWorkflowAdmin | `default` | | `tfyWorkflowAdmin.envSecretName` | Secret name for the tfyWorkflowAdmin environment variables | `tfy-workflow-admin-env-secret` | | `tfyWorkflowAdmin.imagePullPolicy` | Image pull policy for the tfyWorkflowAdmin | `IfNotPresent` | diff --git a/charts/truefoundry/templates/tfy-build/preemptible-deployment.yaml b/charts/truefoundry/templates/tfy-build/preemptible-deployment.yaml index 81397027e..1892f3375 100644 --- a/charts/truefoundry/templates/tfy-build/preemptible-deployment.yaml +++ b/charts/truefoundry/templates/tfy-build/preemptible-deployment.yaml @@ -23,7 +23,7 @@ spec: {{- end }} containers: - name: alpine - image: {{ .Values.tfyBuild.preemptibleDeployment.image.repository }}:{{ .Values.tfyBuild.preemptibleDeployment.image.tag }} + image: {{ .Values.tfyBuild.truefoundryWorkflows.sfyBuilder.image.repository }}:{{ .Values.tfyBuild.truefoundryWorkflows.sfyBuilder.image.tag }} command: ["tail", "-f", "/dev/null"] {{- with .Values.tfyBuild.preemptibleDeployment.extraEnvs }} env: diff --git a/charts/truefoundry/tfy-build-scripts/build-and-push.sh b/charts/truefoundry/tfy-build-scripts/build-and-push.sh index 708eeac86..b87f0e650 100644 --- a/charts/truefoundry/tfy-build-scripts/build-and-push.sh +++ b/charts/truefoundry/tfy-build-scripts/build-and-push.sh @@ -40,4 +40,4 @@ echo "Time taken to build the image: $build_time seconds" echo -n "$build_time" > /opt/truefoundry/output/tfyTimeTakenToBuildImageSeconds printf "\033[36m[==== Docker logs end ====]\033[0m\n" -printf "%s Docker image built and pushed\n" "$DONE_MARKER" \ No newline at end of file +printf "$DONE_MARKER Docker image built and pushed\n" \ No newline at end of file diff --git a/charts/truefoundry/tfy-build-scripts/download-code.sh b/charts/truefoundry/tfy-build-scripts/download-code.sh index af3fb4002..7d8a89e8f 100755 --- a/charts/truefoundry/tfy-build-scripts/download-code.sh +++ b/charts/truefoundry/tfy-build-scripts/download-code.sh @@ -114,7 +114,7 @@ elif [[ $BUILD_TYPE == "azure" ]]; then elif [[ $BUILD_TYPE == "notebook_build" ]]; then : else - printf "%s Source type '%s' not supported.\n" "$FAILED_MARKER" "$BUILD_TYPE" + printf "$FAILED_MARKER Source type '%s' not supported.\n" "$BUILD_TYPE" exit 1 fi @@ -122,4 +122,4 @@ end_time=$(date +%s) source_code_download_time=$((end_time - start_time)) echo "Time taken to download the source code: $source_code_download_time seconds" echo -n "$source_code_download_time" > /opt/truefoundry/output/tfyTimeTakenToDownloadSourceCodeSeconds -printf "%s Download code completed\n" "$DONE_MARKER" \ No newline at end of file +printf "$DONE_MARKER Download code completed\n" \ No newline at end of file diff --git a/charts/truefoundry/values.yaml b/charts/truefoundry/values.yaml index 6aaeb6c5a..ca4b7c631 100644 --- a/charts/truefoundry/values.yaml +++ b/charts/truefoundry/values.yaml @@ -15,7 +15,7 @@ global: ## @param global.controlPlaneURL URL of the control plane controlPlaneURL: "http://truefoundry-truefoundry-frontend-app.truefoundry.svc.cluster.local:5000" ## @param global.controlPlaneChartVersion Version of control-plane chart - controlPlaneChartVersion: 0.13.2 + controlPlaneChartVersion: 0.13.4 # If you have an existing truefoundry-creds secret, provide the name here. # This will ignore `.global.database` and `.global.tfyApiKey` values. ## @param global.existingTruefoundryCredsSecret Name of the existing truefoundry creds secret @@ -47,6 +47,16 @@ global: value: spot effect: NoSchedule operator: Equal + ## global.llmGatewayInfra LLM Gateway Infra configuration + llmGatewayInfra: + ## @param global.llmGatewayInfra.enabled Bool to enable LLM Gateway Infra + enabled: false + ## @param global.llmGatewayInfra.releaseName Release name for LLM Gateway Infra + releaseName: "tfy-llm-gateway-infra" + ## @param global.llmGatewayInfra.natsAdminPassword Password for nats admin + natsAdminPassword: "" + ## @param global.llmGatewayInfra.clickhousePassword Password for clickhouse user + clickhousePassword: "" ## devMode When enabled creates a dev installation of the control plane for testing purposes devMode: ## @param devMode.enabled Bool to enable dev mode @@ -84,7 +94,7 @@ truefoundryBootstrap: ## imagePullSecrets: [] ## @param truefoundryBootstrap.createdBuildkitServiceTlsCerts Bool to install TLS certificates - createdBuildkitServiceTlsCerts: "false" + createdBuildkitServiceTlsCerts: true ################################################################################################################### ####################################### Truefoundry Frontend App ################################################## ################################################################################################################### @@ -103,7 +113,7 @@ truefoundryFrontendApp: ## @param truefoundryFrontendApp.image.repository Image repository for the frontend app repository: "tfy.jfrog.io/tfy-private-images/truefoundry-frontend-app" ## @param truefoundryFrontendApp.image.tag Image tag for the frontend app - tag: "v0.12.0" + tag: "v0.12.2" ## @param truefoundryFrontendApp.envSecretName Secret name for the frontend app environment variables envSecretName: truefoundry-frontend-app-env-secret ## @param truefoundryFrontendApp.imagePullPolicy Image pull policy for the frontend app @@ -189,7 +199,7 @@ truefoundryFrontendApp: ## @param truefoundryFrontendApp.llmGateway.external Make LLMGateway external external: false ## @param truefoundryFrontendApp.llmGateway.backendHost Backend Host for the LLM gateway - backendHost: '{{ .Release.Name }}-llm-gateway.{{ .Release.Namespace }}.svc.cluster.local' + backendHost: 'tfy-llm-gateway.{{ .Release.Namespace }}.svc.cluster.local' ## @param truefoundryFrontendApp.llmGateway.backendPort Backend Port for the LLM gateway backendPort: 8787 ## @param truefoundryFrontendApp.proxyServerHost Proxy server host for the frontend app @@ -224,13 +234,13 @@ truefoundryFrontendApp: VITE_MULTITENANT_ENABLED: "false" VITE_TENANT_NAME: "{{ .Values.global.tenantName }}" VITE_LOGO_URL: "" - VITE_EXPORT_AS_HELM_TYPES: service,volume,helm + VITE_EXPORT_AS_HELM_TYPES: service,volume,helm,job VITE_CREATE_AS_APPLICATION_SET: service,helm,job VITE_ENABLE_COMPANY_REGISTRATION: "false" VITE_ENABLE_FEATURE_RESOURCE_COSTS: "false" VITE_COST_ENABLED_TENANTS: "" - VITE_ENABLE_WORKFLOWS: "false" - VITE_ENABLE_RECOMMENDATION_INFOBAR: "false" + VITE_ENABLE_WORKFLOWS: "true" + VITE_ENABLE_RECOMMENDATION_INFOBAR: "true" VITE_ENABLE_AUTOPILOT: "false" VITE_AUTOPILOT_ENABLED_TENANTS: "" VITE_ENABLE_TROUBLESHOOT: "false" @@ -238,7 +248,7 @@ truefoundryFrontendApp: VITE_ENABLE_PROMPT_MANAGEMENT: "false" VITE_PROMPT_MANAGEMENT_ENABLED_TENANTS: "" VITE_ENABLE_EVENTS_GRAPHS: "true" - VITE_ENABLE_CLUSTER_METRICS: "false" + VITE_ENABLE_CLUSTER_METRICS: "true" VITE_STRIPE_PUBLISHABLE_KEY: "" VITE_CREDIT_CARD_REQUIRED_DOMAINS: "" VITE_TENANT_BASE_DOMAIN: "" @@ -246,16 +256,16 @@ truefoundryFrontendApp: VITE_MANAGED_CLUSTER_ONBOARDING_SERVICE_URL: "" VITE_CIVO_RESOURCES_STRING: "" VITE_CLUSTER_ONBOARDING_FLOW_ENABLED: "false" - VITE_LLM_PLAYGROUND_ENABLED: "false" + VITE_LLM_PLAYGROUND_ENABLED: "{{ .Values.global.llmGatewayInfra.enabled }}" VITE_LLM_PLAYGROUND_ENABLE_STANDALONE: "false" VITE_LLM_PLAYGROUND_ENABLE_REDIRECT: "false" VITE_OLD_LLM_PLAYGROUND_PATH: llm-playground VITE_LLM_PLAYGROUND_PATH: llm-gateway - VITE_ENABLE_SENTRY: "false" + VITE_ENABLE_SENTRY: "true" VITE_ENABLE_PROMPT_TEMPLATES: "false" VITE_ENABLE_TOOLS_AGENTS: "false" VITE_AGENT_ENABLED_TENANTS: truefoundry,internal - VITE_BRAINFISH_WIDGET_ENABLED_TENANTS: brainfish + VITE_BRAINFISH_WIDGET_ENABLED_TENANTS: "" VITE_SENTRY_DSN: "" VITE_APEX_DOMAIN: http://truefoundry.com/ VITE_ITERATE_AI_KEY: "" @@ -266,7 +276,7 @@ truefoundryFrontendApp: VITE_ENABLE_MIXPANEL: "false" VITE_ENABLE_SCHEMA_VISUALISER: "false" VITE_SENTRY_AUTH_TOKEN: "" - VITE_SENTRY_ENVIRONMENT: "" + VITE_SENTRY_ENVIRONMENT: production VITE_MIXPANEL_TOKEN: "" VITE_APP_ENVIRONMENT: "" VITE_CRISP_WEBSITE_ID: "" @@ -396,7 +406,7 @@ servicefoundryServer: ## @param servicefoundryServer.image.repository Image repository for the servicefoundry server repository: "tfy.jfrog.io/tfy-private-images/servicefoundry-server" ## @param servicefoundryServer.image.tag Image tag for the servicefoundry server - tag: "v0.13.2" + tag: "v0.13.3" ## @param servicefoundryServer.environmentName Environment name for the servicefoundry server environmentName: default ## @param servicefoundryServer.envSecretName Secret name for the servicefoundry server environment variables @@ -494,12 +504,11 @@ servicefoundryServer: FLYTE_ADMIN_URL: http://{{ .Release.Name }}-tfy-workflow-admin-server.{{ .Release.Namespace }}.svc.cluster.local:8089 CLUSTER_PROXY_URL: http://{{ .Release.Name }}-tfy-controller.{{ .Release.Namespace }}.svc.cluster.local:8123 BUILD_CALLBACK_URL: http://{{ .Release.Name }}-servicefoundry-server.{{ .Release.Namespace }}.svc.cluster.local:3000 - LLM_GATEWAY_URL: "" + LLM_GATEWAY_URL: "{{ .Values.global.controlPlaneURL }}/api/llm" VCS_INTEGRATION_STATE_OBJECT_HASH_SECRET: "" GITHUB_INSTALLATION_URL: "" GITHUB_PRIVATE_KEY: "" GITHUB_APP_ID: "" - GITHUB_PAT: "" BITBUCKET_CLIENT_ID: "" BITBUCKET_CLIENT_SECRET: "" BITBUCKET_APP_PASSWORD: "" @@ -508,18 +517,14 @@ servicefoundryServer: GITLAB_SCOPE: "" AZURE_CLIENT_ID: "" AZURE_CLIENT_SECRET: "" - CLICKHOUSE_HOST: "" - CLICKHOUSE_USER: "" - CLICKHOUSE_PASSWORD: "" - CLICKHOUSE_WAIT_TIMEOUT: 5m - STORAGE_CLASS_ACCESS_MODES: "" - TRUEFOUNDRY_PUBLIC_ENABLED: "" + CLICKHOUSE_ENABLED: "{{ .Values.global.llmGatewayInfra.enabled }}" + CLICKHOUSE_HOST: http://clickhouse-{{ .Values.global.llmGatewayInfra.releaseName }}.{{ .Release.Namespace }}.svc.cluster.local:8123 + CLICKHOUSE_USER: user + CLICKHOUSE_PASSWORD: "{{ .Values.global.llmGatewayInfra.clickhousePassword }}" OAUTH_PROVIDER_TYPE: TRUEFOUNDRY EXTERNAL_OAUTH_ISSUER: "" EXTERNAL_OAUTH_CLIENT_ID: "" EXTERNAL_OAUTH_CLIENT_SECRET: "" - GLOBAL_BUILDERS_BUILD_PER_URL: "0" - APPLICATION_TYPES_ENABLED_FOR_SFY_SERVER_VALIDATION: service,async-service,job,volume,notebook,codeserver,ssh-server,helm,application-set configs: ## @param servicefoundryServer.configs.cicdTemplates CICD Template for servicefoundry server cicdTemplates: '{{ .Release.Name }}-cicd-templates-cm' @@ -547,7 +552,7 @@ tfyK8sController: ## @param tfyK8sController.image.repository Image repository for the tfyK8sController repository: "tfy.jfrog.io/tfy-private-images/tfy-k8s-controller" ## @param tfyK8sController.image.tag Image tag for the tfyK8sController - tag: "v0.10.0" + tag: "v0.10.1" ## @param tfyK8sController.environmentName Environment name for tfyK8sController environmentName: default ## @param tfyK8sController.envSecretName Secret name for the tfyK8sController environment variables @@ -621,6 +626,8 @@ tfyK8sController: ANALYTICS_SERVER_URL: https://analytics.truefoundry.com AUTH_SERVER_URL: https://auth.truefoundry.com TENANT_NAME: "{{ .Values.global.tenantName }}" + ENABLE_GATEWAY_CONSUMER: "{{ .Values.global.llmGatewayInfra.enabled }}" + GATEWAY_NATS_URL: http://admin:{{ .Values.global.llmGatewayInfra.natsAdminPassword }}@{{ .Values.global.llmGatewayInfra.releaseName }}-nats.{{ .Release.Namespace }}.svc.cluster.local:4222 NODE_ENV: production ################################################################################################################### ####################################### Sfy Manifest Service ###################################################### @@ -745,7 +752,7 @@ nats: ## @param nats.nats.image.repository NATS server image repository repository: tfy.jfrog.io/tfy-mirror/nats ## @param nats.nats.image.tag NATS server image tag - tag: 2.10.21-alpine3.20 + tag: 2.10.22-alpine3.20 ## @param nats.nats.advertise Bool to enable NATS server advertise advertise: false ## @param nats.nats.imagePullSecrets Image pull credentials for NATS server @@ -888,12 +895,6 @@ tfyBuild: preemptibleDeployment: ## @param tfyBuild.preemptibleDeployment.enabled Bool to enable preemptible deployment for the tfyBuild server enabled: false - ## tfyBuild.preemptibleDeployment.image - image: - ## @param tfyBuild.preemptibleDeployment.image.repository Repository for the preemptible deployment - repository: tfy.jfrog.io/tfy-mirror/alpine - ## @param tfyBuild.preemptibleDeployment.image.tag Tag for the preemptible deployment - tag: "3.20" ## @param tfyBuild.preemptibleDeployment.imagePullSecrets Image pull secrets for the preemptible deployment imagePullSecrets: [] ## @param tfyBuild.preemptibleDeployment.affinity Affinity settings for the preemptible deployment @@ -922,7 +923,7 @@ tfyBuild: ## imagePullSecrets: [] ## @param tfyBuild.truefoundryWorkflows.sfyBuilder.baseImagePullSecret baseImagePullSecret for the docker config - baseImagePullSecret: "" + baseImagePullSecret: "truefoundry-image-pull-secret" ## @param tfyBuild.truefoundryWorkflows.sfyBuilder.script script for the sfyBuilder to be executed script: | download-code.sh @@ -997,11 +998,11 @@ tfyBuild: ## tfyBuild.truefoundryWorkflows.logMarkers Log markers for the tfyBuild server logMarkers: ## @param tfyBuild.truefoundryWorkflows.logMarkers.error Error log marker for the tfyBuild server - error: \u001b[31m[Error]\u001b[0m + error: \033[31m[Error]\033[0m ## @param tfyBuild.truefoundryWorkflows.logMarkers.done Done log marker for the tfyBuild server - done: \u001b[32m[Done]\u001b[0m + done: \033[32m[Done]\033[0m ## @param tfyBuild.truefoundryWorkflows.logMarkers.start Start log marker for the tfyBuild server - start: \u001b[36m[Start]\u001b[0m + start: \033[36m[Start]\033[0m ## @param tfyBuild.truefoundryWorkflows.logMarkers.clientPrefix Client prefix for the tfyBuild server clientPrefix: - TFY-CLIENT @@ -1037,16 +1038,22 @@ tfyBuild: ## tfy-buildkitd-service Settings corresponding to the tfy-buildkitd service tfy-buildkitd-service: ## @param tfy-buildkitd-service.enabled Bool to enable the tfy-buildkitd service - enabled: false + enabled: true ## tfy-buildkitd-service.service Service settings for the tfy-buildkitd service service: ## @param tfy-buildkitd-service.service.port port number for the tfy-buildkitd service port: 1234 ## @param tfy-buildkitd-service.replicaCount Number of replicas Value kept for future use, kept 1 replicaCount: 1 + ## @param tfy-buildkitd-service.podAnnotations Annotations for the tfy-buildkitd service pods + podAnnotations: + cluster-autoscaler.kubernetes.io/safe-to-evict: "false" + karpenter.sh/do-not-disrupt: 'true' + karpenter.sh/do-not-evict: 'true' + ## tfy-buildkitd-service.tls TLS settings for the tfy-buildkitd service tls: ## @param tfy-buildkitd-service.tls.enabled Enable TLS for the tfy-buildkitd service - enabled: false + enabled: true ## @param tfy-buildkitd-service.tls.buildkitClientCertsSecretName Name of the secret containing the TLS certificate buildkitClientCertsSecretName: "tfy-buildkit-client-certs" # To further configure the local postgres installation use the following section.