From 1ee95de9fab19af1e058ab02137a68101bf53c38 Mon Sep 17 00:00:00 2001 From: Kevin Su Date: Mon, 12 Jun 2023 10:25:10 -0700 Subject: [PATCH] Add agent to helm chart and single binary (#3454) * wip Signed-off-by: Kevin Su * wip Signed-off-by: Kevin Su * wip Signed-off-by: Kevin Su * wip Signed-off-by: Kevin Su * wip Signed-off-by: Kevin Su * make build Signed-off-by: Kevin Su * fix tests Signed-off-by: Kevin Su * make helm Signed-off-by: Kevin Su * update config map for propeller Signed-off-by: Kevin Su * wip Signed-off-by: Kevin Su * nit Signed-off-by: Kevin Su * rename and add rbac.yaml Signed-off-by: Kevin Su * rename Signed-off-by: Kevin Su * update helm chart Signed-off-by: Kevin Su * remove eps from eks and gcp Signed-off-by: Kevin Su * update manifest Signed-off-by: Kevin Su * helm chart Signed-off-by: Kevin Su * nit Signed-off-by: Kevin Su * update agent image Signed-off-by: Kevin Su * rename Signed-off-by: Kevin Su * nit Signed-off-by: Kevin Su * update endpoint Signed-off-by: Kevin Su * update endpoint Signed-off-by: Kevin Su * update Signed-off-by: Kevin Su * update Signed-off-by: Kevin Su * nit Signed-off-by: Kevin Su * nit Signed-off-by: Kevin Su * nit Signed-off-by: Kevin Su * Fix indentation error Signed-off-by: Kevin Su * update Signed-off-by: Kevin Su * Register after installing packages Signed-off-by: Kevin Su --------- Signed-off-by: Kevin Su --- .github/workflows/single-binary.yml | 10 +-- charts/flyte-binary/README.md | 10 +++ charts/flyte-binary/templates/_helpers.tpl | 8 ++ charts/flyte-binary/templates/configmap.yaml | 13 +-- charts/flyte-binary/templates/deployment.yaml | 10 +++ .../flyte-binary/templates/service/http.yaml | 11 +++ charts/flyte-binary/values.yaml | 32 ++++++++ charts/flyte-core/README.md | 31 ++++++- charts/flyte-core/templates/_helpers.tpl | 14 ++++ .../templates/agent/deployment.yaml | 53 ++++++++++++ .../flyte-core/templates/agent/service.yaml | 21 +++++ charts/flyte-core/values-controlplane.yaml | 3 + charts/flyte-core/values-dataplane.yaml | 3 + charts/flyte-core/values-eks.yaml | 6 ++ charts/flyte-core/values-gcp.yaml | 6 ++ ...loak-idp-flyteclients-without-browser.yaml | 6 ++ charts/flyte-core/values.yaml | 68 ++++++++++++++++ charts/flyte/README.md | 32 ++++++-- charts/flyte/values.yaml | 67 +++++++++++++++ .../flyte_aws_scheduler_helm_generated.yaml | 9 ++- .../eks/flyte_helm_dataplane_generated.yaml | 9 ++- deployment/eks/flyte_helm_generated.yaml | 9 ++- .../gcp/flyte_helm_dataplane_generated.yaml | 9 ++- deployment/gcp/flyte_helm_generated.yaml | 9 ++- .../flyte_sandbox_binary_helm_generated.yaml | 36 +++++++-- deployment/sandbox/flyte_helm_generated.yaml | 81 ++++++++++++++++++- docker/sandbox-bundled/Makefile | 2 +- docker/sandbox-bundled/images/manifest.txt | 1 + .../sandbox-bundled/manifests/complete.yaml | 81 ++++++++++++++----- docker/sandbox-bundled/manifests/dev.yaml | 4 +- 30 files changed, 588 insertions(+), 66 deletions(-) create mode 100644 charts/flyte-core/templates/agent/deployment.yaml create mode 100644 charts/flyte-core/templates/agent/service.yaml diff --git a/.github/workflows/single-binary.yml b/.github/workflows/single-binary.yml index a1c19dc283..cb0e290e9f 100644 --- a/.github/workflows/single-binary.yml +++ b/.github/workflows/single-binary.yml @@ -163,6 +163,11 @@ jobs: memory: "0" EOF flytectl demo start --image flyte-sandbox-bundled:local --imagePullPolicy Never + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install flytekit + pip freeze - name: Register examples uses: unionai/flyte-register-action@v0.0.2 with: @@ -171,11 +176,6 @@ jobs: project: flytesnacks domain: development version: "latest" - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install flytekit - pip freeze - name: End2End env: PRIORITIES: "P0" diff --git a/charts/flyte-binary/README.md b/charts/flyte-binary/README.md index 74e031f9cf..8d062df3b0 100644 --- a/charts/flyte-binary/README.md +++ b/charts/flyte-binary/README.md @@ -15,6 +15,8 @@ Chart for basic single Flyte executable deployment | clusterResourceTemplates.labels | object | `{}` | | | commonAnnotations | object | `{}` | | | commonLabels | object | `{}` | | +| configuration.agentService.defaultGrpcEndpoint | string | `"flyte-sandbox-http.flyte.svc.cluster.local:8000"` | | +| configuration.agentService.supportedTaskTypes[0] | string | `"bigquery_query_job_task"` | | | configuration.annotations | object | `{}` | | | configuration.auth.authorizedUris | list | `[]` | | | configuration.auth.enableAuthServer | bool | `true` | | @@ -93,6 +95,9 @@ Chart for basic single Flyte executable deployment | deployment.waitForDB.image.pullPolicy | string | `"IfNotPresent"` | | | deployment.waitForDB.image.repository | string | `"postgres"` | | | deployment.waitForDB.image.tag | string | `"15-alpine"` | | +| enabled_plugins.tasks | object | `{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}` | Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) | +| enabled_plugins.tasks.task-plugins | object | `{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}` | Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) | +| enabled_plugins.tasks.task-plugins.enabled-plugins | list | `["container","sidecar","k8s-array","agent-service"]` | [Enabled Plugins](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend plugins | | flyte-core-components.admin.disableClusterResourceManager | bool | `false` | | | flyte-core-components.admin.disableScheduler | bool | `false` | | | flyte-core-components.admin.disabled | bool | `false` | | @@ -100,6 +105,11 @@ Chart for basic single Flyte executable deployment | flyte-core-components.dataCatalog.disabled | bool | `false` | | | flyte-core-components.propeller.disableWebhook | bool | `false` | | | flyte-core-components.propeller.disabled | bool | `false` | | +| flyteagent.image.pullPolicy | string | `"IfNotPresent"` | | +| flyteagent.image.repository | string | `"ghcr.io/flyteorg/flyteagent"` | | +| flyteagent.image.tag | string | `"1.6.2b1"` | | +| flyteagent.ports.containerPort | int | `8000` | | +| flyteagent.ports.name | string | `"agent-grpc"` | | | fullnameOverride | string | `""` | | | ingress.commonAnnotations | object | `{}` | | | ingress.create | bool | `false` | | diff --git a/charts/flyte-binary/templates/_helpers.tpl b/charts/flyte-binary/templates/_helpers.tpl index 44ae43f8c3..2d41529e25 100644 --- a/charts/flyte-binary/templates/_helpers.tpl +++ b/charts/flyte-binary/templates/_helpers.tpl @@ -166,6 +166,14 @@ Get the Flyte service GRPC port. {{- default 8089 .Values.service.ports.grpc -}} {{- end -}} +{{/* +Get the Flyte agent service GRPC port. +*/}} +{{- define "flyte-binary.flyteagent.grpc.port" -}} +{{- default 8000 .Values.service.ports.grpc -}} +{{- end -}} + + {{/* Get the Flyte webhook service name. */}} diff --git a/charts/flyte-binary/templates/configmap.yaml b/charts/flyte-binary/templates/configmap.yaml index 3d3bf5b955..9586da4146 100644 --- a/charts/flyte-binary/templates/configmap.yaml +++ b/charts/flyte-binary/templates/configmap.yaml @@ -47,17 +47,9 @@ data: secretName: {{ include "flyte-binary.webhook.secretName" . }} serviceName: {{ include "flyte-binary.webhook.serviceName" . }} servicePort: 443 - flyte: {{ tpl ( index .Values "flyte-core-components" | toYaml ) . | nindent 6 }} + flyte:{{ tpl ( index .Values "flyte-core-components" | toYaml ) . | nindent 6 }} 001-plugins.yaml: | - tasks: - task-plugins: - enabled-plugins: - - container - - sidecar - - K8S-ARRAY - default-for-task-types: - - container: container - - container_array: K8S-ARRAY + tasks:{{ .Values.enabled_plugins.tasks | toYaml | nindent 6 }} plugins: logs: {{- include "flyte-binary.configuration.logging.plugins" . | nindent 8 }} k8s: @@ -68,6 +60,7 @@ data: k8s-array: logs: config: {{- include "flyte-binary.configuration.logging.plugins" . | nindent 12 }} + agent-service:{{ .Values.configuration.agentService | toYaml | nindent 8 }} 002-database.yaml: | {{- with .Values.configuration.database }} database: diff --git a/charts/flyte-binary/templates/deployment.yaml b/charts/flyte-binary/templates/deployment.yaml index e310b70a32..54d3031f53 100644 --- a/charts/flyte-binary/templates/deployment.yaml +++ b/charts/flyte-binary/templates/deployment.yaml @@ -227,6 +227,16 @@ spec: {{- if .Values.deployment.extraVolumeMounts }} {{- tpl ( .Values.deployment.extraVolumeMounts | toYaml ) . | nindent 12 }} {{- end }} + - name: flyteagent + {{- with .Values.flyteagent.image }} + image: {{ printf "%s:%s" .repository .tag | quote }} + imagePullPolicy: {{ .pullPolicy | quote }} + {{- end}} + {{- with .Values.flyteagent.ports }} + ports: + - name: {{ .name }} + containerPort: {{ .containerPort }} + {{- end}} {{- if .Values.deployment.sidecars }} {{- tpl ( .Values.deployment.sidecars | toYaml ) . | nindent 8 }} {{- end }} diff --git a/charts/flyte-binary/templates/service/http.yaml b/charts/flyte-binary/templates/service/http.yaml index 189ea1e040..de223f787f 100644 --- a/charts/flyte-binary/templates/service/http.yaml +++ b/charts/flyte-binary/templates/service/http.yaml @@ -46,6 +46,17 @@ spec: {{- else if eq .Values.service.type "ClusterIP" }} nodePort: null {{- end }} + - name: grpc + port: {{ include "flyte-binary.service.grpc.port" . }} + targetPort: grpc + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.grpc)) }} + nodePort: {{ .Values.service.nodePorts.grpc }} + {{- else if eq .Values.service.type "ClusterIP" }} + nodePort: null + {{- end }} + - name: agent-grpc + port: {{ include "flyte-binary.flyteagent.grpc.port" . }} + targetPort: agent-grpc {{- if .Values.service.extraPorts }} {{- tpl ( .Values.service.extraPorts | toYaml ) . | nindent 4 }} {{- end }} diff --git a/charts/flyte-binary/values.yaml b/charts/flyte-binary/values.yaml index 7615b63b27..7527548611 100644 --- a/charts/flyte-binary/values.yaml +++ b/charts/flyte-binary/values.yaml @@ -147,6 +147,11 @@ configuration: repository: cr.flyte.org/flyteorg/flytecopilot # FLYTECOPILOT_IMAGE # tag CoPilot sidecar image tag tag: v0.0.30 # FLYTECOPILOT_TAG + # Flyteagent Configuration + agentService: + defaultGrpcEndpoint: flyte-sandbox-http.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task # externalConfigMap Specify an existing, external ConfigMap to use as configuration for Flyte # If set, no ConfigMap will be generated by this chart externalConfigMap: "" @@ -175,6 +180,15 @@ clusterResourceTemplates: # annotations Add annotations to created ConfigMap annotations: {} +flyteagent: + image: + repository: ghcr.io/flyteorg/flyteagent + tag: 1.6.2b1 + pullPolicy: IfNotPresent + ports: + name: agent-grpc + containerPort: 8000 + # deployment Configure Flyte deployment specification deployment: # image Configure image to use for Flyte @@ -336,3 +350,21 @@ serviceAccount: labels: {} # annotations Add annotations to ServiceAccount annotations: {} + +enabled_plugins: + # -- Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) + tasks: + # -- Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) + task-plugins: + # -- [Enabled Plugins](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend + # plugins + enabled-plugins: + - container + - sidecar + - k8s-array + - agent-service + default-for-task-types: + container: container + sidecar: sidecar + container_array: k8s-array + bigquery_query_job_task: agent-service diff --git a/charts/flyte-core/README.md b/charts/flyte-core/README.md index 0ea0a4d982..b88beaf713 100644 --- a/charts/flyte-core/README.md +++ b/charts/flyte-core/README.md @@ -91,10 +91,10 @@ helm install gateway bitnami/contour -n flyte | configmap.core.propeller | object | `{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"}` | follows the structure specified [here](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/config). | | configmap.datacatalogServer | object | `{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"heartbeat-grace-period-multiplier":3,"max-reservation-heartbeat":"30s","metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}}` | Datacatalog server config | | configmap.domain | object | `{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]}` | Domains configuration for Flyte projects. This enables the specified number of domains across all projects in Flyte. | -| configmap.enabled_plugins.tasks | object | `{"task-plugins":{"default-for-task-types":{"container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array"]}}` | Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) | -| configmap.enabled_plugins.tasks.task-plugins | object | `{"default-for-task-types":{"container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array"]}` | Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) | -| configmap.enabled_plugins.tasks.task-plugins.enabled-plugins | list | `["container","sidecar","k8s-array"]` | [Enabled Plugins](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend plugins | -| configmap.k8s | object | `{"plugins":{"k8s":{"default-cpus":"100m","default-env-vars":[],"default-memory":"100Mi"}}}` | Kubernetes specific Flyte configuration | +| configmap.enabled_plugins.tasks | object | `{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}` | Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) | +| configmap.enabled_plugins.tasks.task-plugins | object | `{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}` | Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) | +| configmap.enabled_plugins.tasks.task-plugins.enabled-plugins | list | `["container","sidecar","k8s-array","agent-service"]` | [Enabled Plugins](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend plugins | +| configmap.k8s | object | `{"plugins":{"agent-service":{"defaultGrpcEndpoint":"flyteagent.flyte.svc.cluster.local:8000","supportedTaskTypes":["bigquery_query_job_task"]},"k8s":{"default-cpus":"100m","default-env-vars":[],"default-memory":"100Mi"}}}` | Kubernetes specific Flyte configuration | | configmap.k8s.plugins.k8s | object | `{"default-cpus":"100m","default-env-vars":[],"default-memory":"100Mi"}` | Configuration section for all K8s specific plugins [Configuration structure](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/pluginmachinery/flytek8s/config) | | configmap.remoteData.remoteData.region | string | `"us-east-1"` | | | configmap.remoteData.remoteData.scheme | string | `"local"` | | @@ -167,6 +167,29 @@ helm install gateway bitnami/contour -n flyte | flyteadmin.serviceAccount.createClusterRole | bool | `true` | Should a ClusterRole be created for Flyteadmin | | flyteadmin.serviceAccount.imagePullSecrets | list | `[]` | ImagePullSecrets to automatically assign to the service account | | flyteadmin.tolerations | list | `[]` | tolerations for Flyteadmin deployment | +| flyteagent.additionalContainers | list | `[]` | Appends additional containers to the deployment spec. May include template values. | +| flyteagent.additionalVolumeMounts | list | `[]` | Appends additional volume mounts to the main container's spec. May include template values. | +| flyteagent.additionalVolumes | list | `[]` | Appends additional volumes to the deployment spec. May include template values. | +| flyteagent.affinity | object | `{}` | affinity for flyteagent deployment | +| flyteagent.configPath | string | `"/etc/flyteagent/config/*.yaml"` | Default regex string for searching configuration files | +| flyteagent.enabled | bool | `true` | | +| flyteagent.extraArgs | object | `{}` | Appends extra command line arguments to the main command | +| flyteagent.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | +| flyteagent.image.repository | string | `"ghcr.io/flyteorg/flyteagent"` | Docker image for flyteagent deployment | +| flyteagent.image.tag | string | `"1.6.2b1"` | Docker image tag | +| flyteagent.nodeSelector | object | `{}` | nodeSelector for flyteagent deployment | +| flyteagent.podAnnotations | object | `{}` | Annotations for flyteagent pods | +| flyteagent.ports.containerPort | int | `8000` | | +| flyteagent.ports.name | string | `"agent-grpc"` | | +| flyteagent.priorityClassName | string | `""` | Sets priorityClassName for datacatalog pod(s). | +| flyteagent.replicaCount | int | `1` | Replicas count for flyteagent deployment | +| flyteagent.resources | object | `{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}}` | Default resources requests and limits for flyteagent deployment | +| flyteagent.service | object | `{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"}` | Service settings for flyteagent | +| flyteagent.serviceAccount | object | `{"annotations":{},"create":true,"imagePullSecrets":[]}` | Configuration for service accounts for flyteagent | +| flyteagent.serviceAccount.annotations | object | `{}` | Annotations for ServiceAccount attached to flyteagent pods | +| flyteagent.serviceAccount.create | bool | `true` | Should a service account be created for flyteagent | +| flyteagent.serviceAccount.imagePullSecrets | list | `[]` | ImagePullSecrets to automatically assign to the service account | +| flyteagent.tolerations | list | `[]` | tolerations for flyteagent deployment | | flyteconsole.affinity | object | `{}` | affinity for Flyteconsole deployment | | flyteconsole.enabled | bool | `true` | | | flyteconsole.ga.enabled | bool | `false` | | diff --git a/charts/flyte-core/templates/_helpers.tpl b/charts/flyte-core/templates/_helpers.tpl index c5cc0f71f1..0221874d5c 100755 --- a/charts/flyte-core/templates/_helpers.tpl +++ b/charts/flyte-core/templates/_helpers.tpl @@ -74,6 +74,20 @@ helm.sh/chart: {{ include "flyte.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} {{- end -}} +{{- define "flyteagent.name" -}} +flyteagent +{{- end -}} + +{{- define "flyteagent.selectorLabels" -}} +app.kubernetes.io/name: {{ template "flyteagent.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{- define "flyteagent.labels" -}} +{{ include "flyteagent.selectorLabels" . }} +helm.sh/chart: {{ include "flyte.chart" . }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} {{- define "flytepropeller.name" -}} flytepropeller diff --git a/charts/flyte-core/templates/agent/deployment.yaml b/charts/flyte-core/templates/agent/deployment.yaml new file mode 100644 index 0000000000..ed3d38dace --- /dev/null +++ b/charts/flyte-core/templates/agent/deployment.yaml @@ -0,0 +1,53 @@ +{{- if .Values.flyteagent.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "flyteagent.name" . }} + namespace: {{ template "flyte.namespace" . }} + labels: {{ include "flyteagent.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.flyteagent.replicaCount }} + selector: + matchLabels: {{ include "flyteagent.selectorLabels" . | nindent 6 }} + template: + metadata: + annotations: + {{- with .Values.flyteagent.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: {{ include "flyteagent.labels" . | nindent 8 }} + spec: + {{- if .Values.flyteagent.priorityClassName }} + priorityClassName: {{ .Values.flyteagent.priorityClassName }} + {{- end }} + containers: + - command: + - pyflyte + - serve + image: "{{ .Values.flyteagent.image.repository }}:{{ .Values.flyteagent.image.tag }}" + imagePullPolicy: "{{ .Values.flyteagent.image.pullPolicy }}" + name: flyteagent + ports: + - containerPort: {{ .Values.flyteagent.ports.containerPort }} + name: {{ .Values.flyteagent.ports.name }} + resources: {{- toYaml .Values.flyteagent.resources | nindent 10 }} + {{- with .Values.flyteagent.additionalVolumeMounts -}} + {{ tpl (toYaml .) $ | nindent 8 }} + {{- end }} + {{- with .Values.flyteagent.additionalContainers -}} + {{- tpl (toYaml .) $ | nindent 6}} + {{- end }} + serviceAccountName: {{ template "flyteagent.name" . }} + {{- with .Values.flyteagent.additionalVolumes -}} + {{ tpl (toYaml .) $ | nindent 6 }} + {{- end }} + {{- with .Values.flyteagent.nodeSelector }} + nodeSelector: {{ tpl (toYaml .) $ | nindent 8 }} + {{- end }} + {{- with .Values.flyteagent.affinity }} + affinity: {{ tpl (toYaml .) $ | nindent 8 }} + {{- end }} + {{- with .Values.flyteagent.tolerations }} + tolerations: {{ tpl (toYaml .) $ | nindent 8 }} + {{- end }} +{{- end }} diff --git a/charts/flyte-core/templates/agent/service.yaml b/charts/flyte-core/templates/agent/service.yaml new file mode 100644 index 0000000000..a3803714c9 --- /dev/null +++ b/charts/flyte-core/templates/agent/service.yaml @@ -0,0 +1,21 @@ +{{- if .Values.flyteagent.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "flyteagent.name" . }} + namespace: {{ template "flyte.namespace" . }} + labels: {{ include "flyteagent.labels" . | nindent 4 }} + {{- with .Values.flyteagent.service.annotations }} + annotations: {{ tpl (toYaml .) $ | nindent 4 }} + {{- end }} +spec: + {{- with .Values.flyteagent.service.type}} + type: {{ . }} + {{- end }} + ports: + - name: {{ .Values.flyteagent.ports.name }} + port: {{ .Values.flyteagent.ports.containerPort }} + protocol: TCP + targetPort: {{ .Values.flyteagent.ports.name }} + selector: {{ include "flyteagent.selectorLabels" . | nindent 4 }} +{{- end }} diff --git a/charts/flyte-core/values-controlplane.yaml b/charts/flyte-core/values-controlplane.yaml index 8914596c3b..3462c4a6c7 100755 --- a/charts/flyte-core/values-controlplane.yaml +++ b/charts/flyte-core/values-controlplane.yaml @@ -1,2 +1,5 @@ flytepropeller: enabled: false + +flyteagent: + enabled: false diff --git a/charts/flyte-core/values-dataplane.yaml b/charts/flyte-core/values-dataplane.yaml index 9ec57f6dd9..1341ea649f 100755 --- a/charts/flyte-core/values-dataplane.yaml +++ b/charts/flyte-core/values-dataplane.yaml @@ -18,3 +18,6 @@ datacatalog: flyteconsole: enabled: false + +flyteagent: + enabled: false diff --git a/charts/flyte-core/values-eks.yaml b/charts/flyte-core/values-eks.yaml index 4c291faa06..7b7ca446f5 100644 --- a/charts/flyte-core/values-eks.yaml +++ b/charts/flyte-core/values-eks.yaml @@ -103,6 +103,12 @@ flytepropeller: app.kubernetes.io/name: flytepropeller topologyKey: kubernetes.io/hostname +# +# FLYTE_AGENT +# +flyteagent: + enabled: false + # # FLYTECONSOLE # diff --git a/charts/flyte-core/values-gcp.yaml b/charts/flyte-core/values-gcp.yaml index adf0130175..1a53510062 100644 --- a/charts/flyte-core/values-gcp.yaml +++ b/charts/flyte-core/values-gcp.yaml @@ -108,6 +108,12 @@ flytepropeller: app.kubernetes.io/name: flytepropeller topologyKey: kubernetes.io/hostname +# +# FLYTE_AGENT +# +flyteagent: + enabled: false + # # FLYTECONSOLE # diff --git a/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml b/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml index d7b444242a..c3ed3f5ddd 100644 --- a/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml +++ b/charts/flyte-core/values-keycloak-idp-flyteclients-without-browser.yaml @@ -240,6 +240,12 @@ flytepropeller: # -- Sets priorityClassName for propeller pod(s). priorityClassName: "" +# +# FLYTE_AGENT +# +flyteagent: + enabled: false + # # FLYTECONSOLE SETTINGS # diff --git a/charts/flyte-core/values.yaml b/charts/flyte-core/values.yaml index 3f5dc5ee0c..8865cc312d 100755 --- a/charts/flyte-core/values.yaml +++ b/charts/flyte-core/values.yaml @@ -198,6 +198,68 @@ datacatalog: # -- Sets priorityClassName for datacatalog pod(s). priorityClassName: "" +# +# FLYTE_AGENT SETTINGS +# + +flyteagent: + enabled: true + # -- Replicas count for flyteagent deployment + replicaCount: 1 + image: + # -- Docker image for flyteagent deployment + repository: ghcr.io/flyteorg/flyteagent + # -- Docker image tag + tag: 1.6.2b1 + # -- Docker image pull policy + pullPolicy: IfNotPresent + ports: + containerPort: 8000 + name: agent-grpc + # -- Default resources requests and limits for flyteagent deployment + resources: + limits: + cpu: 500m + ephemeral-storage: 100Mi + memory: 500Mi + requests: + cpu: 10m + ephemeral-storage: 50Mi + memory: 50Mi + # -- Default regex string for searching configuration files + configPath: /etc/flyteagent/config/*.yaml + # -- Service settings for flyteagent + service: + annotations: + projectcontour.io/upstream-protocol.h2c: grpc + type: ClusterIP + # -- Configuration for service accounts for flyteagent + serviceAccount: + # -- Should a service account be created for flyteagent + create: true + # -- Annotations for ServiceAccount attached to flyteagent pods + annotations: {} + # -- ImagePullSecrets to automatically assign to the service account + imagePullSecrets: [] + # -- Annotations for flyteagent pods + podAnnotations: {} + # -- nodeSelector for flyteagent deployment + nodeSelector: {} + # -- tolerations for flyteagent deployment + tolerations: [] + # -- affinity for flyteagent deployment + affinity: {} + # -- Appends additional volumes to the deployment spec. May include template values. + additionalVolumes: [] + # -- Appends additional volume mounts to the main container's spec. May include template values. + additionalVolumeMounts: [] + # -- Appends additional containers to the deployment spec. May include template values. + additionalContainers: [] + # -- Appends extra command line arguments to the main command + extraArgs: {} + # -- Sets priorityClassName for datacatalog pod(s). + priorityClassName: "" + # # FLYTEPROPELLER SETTINGS # @@ -656,10 +718,12 @@ configmap: - container - sidecar - k8s-array + - agent-service default-for-task-types: container: container sidecar: sidecar container_array: k8s-array + bigquery_query_job_task: agent-service # -- Kubernetes specific Flyte configuration k8s: @@ -670,6 +734,10 @@ configmap: # DEFAULT_ENV_VAR: VALUE default-cpus: 100m default-memory: 100Mi + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task remoteData: remoteData: diff --git a/charts/flyte/README.md b/charts/flyte/README.md index 74029527de..2494726b3d 100644 --- a/charts/flyte/README.md +++ b/charts/flyte/README.md @@ -71,7 +71,7 @@ helm upgrade -f values-sandbox.yaml flyte . | contour.tolerations | list | `[]` | tolerations for Contour deployment | | daskoperator | object | `{"enabled":false}` | Optional: Dask Plugin using the Dask Operator | | daskoperator.enabled | bool | `false` | - enable or disable the dask operator deployment installation | -| flyte | object | `{"cluster_resource_manager":{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"service_account_name":"flyteadmin","templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]},"common":{"databaseSecret":{"name":"","secretManifest":{}},"flyteNamespaceTemplate":{"enabled":false},"ingress":{"albSSLRedirect":false,"annotations":{"nginx.ingress.kubernetes.io/app-root":"/console"},"enabled":true,"host":"","separateGrpcIngress":false,"separateGrpcIngressAnnotations":{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"},"tls":{"enabled":false},"webpackHMR":true}},"configmap":{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v0.0.30","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array"]}}},"k8s":{"plugins":{"k8s":{"default-cpus":"100m","default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}},"datacatalog":{"affinity":{},"configPath":"/etc/datacatalog/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/datacatalog","tag":"v1.0.46"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"NodePort"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"db":{"admin":{"database":{"dbname":"flyteadmin","host":"postgres","port":5432,"username":"postgres"}},"datacatalog":{"database":{"dbname":"datacatalog","host":"postgres","port":5432,"username":"postgres"}}},"deployRedoc":true,"flyteadmin":{"additionalVolumeMounts":[],"additionalVolumes":[],"affinity":{},"configPath":"/etc/flyte/config/*.yaml","env":[],"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteadmin","tag":"v1.1.105"},"initialProjects":["flytesnacks","flytetester","flyteexamples"],"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flyteconsole":{"affinity":{},"ga":{"enabled":true,"tracking_id":"G-0QW4DJWJ20"},"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteconsole","tag":"v1.8.4"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","memory":"275Mi"},"requests":{"cpu":"10m","memory":"250Mi"}},"service":{"annotations":{},"type":"ClusterIP"},"tolerations":[]},"flytepropeller":{"affinity":{},"cacheSizeMbs":0,"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytepropeller","tag":"v1.1.95"},"manager":false,"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"200m","ephemeral-storage":"100Mi","memory":"200Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flytescheduler":{"affinity":{},"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytescheduler","tag":"v1.1.105"},"nodeSelector":{},"podAnnotations":{},"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"storage":{"bucketName":"my-s3-bucket","custom":{},"gcs":null,"s3":{"region":"us-east-1"},"type":"sandbox"},"webhook":{"enabled":true,"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]}},"workflow_notifications":{"config":{},"enabled":false},"workflow_scheduler":{"enabled":true,"type":"native"}}` | ------------------------------------------------------------------- Core System settings This section consists of Core components of Flyte and their deployment settings. This includes FlyteAdmin service, Datacatalog, FlytePropeller and Flyteconsole | +| flyte | object | `{"cluster_resource_manager":{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"service_account_name":"flyteadmin","templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]},"common":{"databaseSecret":{"name":"","secretManifest":{}},"flyteNamespaceTemplate":{"enabled":false},"ingress":{"albSSLRedirect":false,"annotations":{"nginx.ingress.kubernetes.io/app-root":"/console"},"enabled":true,"host":"","separateGrpcIngress":false,"separateGrpcIngressAnnotations":{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"},"tls":{"enabled":false},"webpackHMR":true}},"configmap":{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v0.0.30","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}},"k8s":{"plugins":{"agent-service":{"defaultGrpcEndpoint":"flyteagent.flyte.svc.cluster.local:8000","supportedTaskTypes":["bigquery_query_job_task"]},"k8s":{"default-cpus":"100m","default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}},"datacatalog":{"affinity":{},"configPath":"/etc/datacatalog/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/datacatalog","tag":"v1.0.46"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"NodePort"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"db":{"admin":{"database":{"dbname":"flyteadmin","host":"postgres","port":5432,"username":"postgres"}},"datacatalog":{"database":{"dbname":"datacatalog","host":"postgres","port":5432,"username":"postgres"}}},"deployRedoc":true,"flyteadmin":{"additionalVolumeMounts":[],"additionalVolumes":[],"affinity":{},"configPath":"/etc/flyte/config/*.yaml","env":[],"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteadmin","tag":"v1.1.105"},"initialProjects":["flytesnacks","flytetester","flyteexamples"],"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"loadBalancerSourceRanges":[],"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flyteagent":{"additionalContainers":[],"additionalVolumeMounts":[],"additionalVolumes":[],"affinity":{},"configPath":"/etc/flyteagent/config/*.yaml","enabled":true,"extraArgs":{},"image":{"pullPolicy":"IfNotPresent","repository":"ghcr.io/flyteorg/flyteagent","tag":"1.6.2b1"},"nodeSelector":{},"podAnnotations":{},"priorityClassName":"","replicaCount":1,"resources":{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flyteconsole":{"affinity":{},"ga":{"enabled":true,"tracking_id":"G-0QW4DJWJ20"},"image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flyteconsole","tag":"v1.8.4"},"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"500m","memory":"275Mi"},"requests":{"cpu":"10m","memory":"250Mi"}},"service":{"annotations":{},"type":"ClusterIP"},"tolerations":[]},"flytepropeller":{"affinity":{},"cacheSizeMbs":0,"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytepropeller","tag":"v1.1.95"},"manager":false,"nodeSelector":{},"podAnnotations":{},"replicaCount":1,"resources":{"limits":{"cpu":"200m","ephemeral-storage":"100Mi","memory":"200Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"flytescheduler":{"affinity":{},"configPath":"/etc/flyte/config/*.yaml","image":{"pullPolicy":"IfNotPresent","repository":"cr.flyte.org/flyteorg/flytescheduler","tag":"v1.1.105"},"nodeSelector":{},"podAnnotations":{},"resources":{"limits":{"cpu":"250m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}},"secrets":{},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]},"tolerations":[]},"storage":{"bucketName":"my-s3-bucket","custom":{},"gcs":null,"s3":{"region":"us-east-1"},"type":"sandbox"},"webhook":{"enabled":true,"service":{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"imagePullSecrets":[]}},"workflow_notifications":{"config":{},"enabled":false},"workflow_scheduler":{"enabled":true,"type":"native"}}` | ------------------------------------------------------------------- Core System settings This section consists of Core components of Flyte and their deployment settings. This includes FlyteAdmin service, Datacatalog, FlytePropeller and Flyteconsole | | flyte.cluster_resource_manager | object | `{"config":{"cluster_resources":{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}},"enabled":true,"service_account_name":"flyteadmin","templates":[{"key":"aa_namespace","value":"apiVersion: v1\nkind: Namespace\nmetadata:\n name: {{ namespace }}\nspec:\n finalizers:\n - kubernetes\n"},{"key":"ab_project_resource_quota","value":"apiVersion: v1\nkind: ResourceQuota\nmetadata:\n name: project-quota\n namespace: {{ namespace }}\nspec:\n hard:\n limits.cpu: {{ projectQuotaCpu }}\n limits.memory: {{ projectQuotaMemory }}\n"}]}` | Configuration for the Cluster resource manager component. This is an optional component, that enables automatic cluster configuration. This is useful to set default quotas, manage namespaces etc that map to a project/domain | | flyte.cluster_resource_manager.config.cluster_resources | object | `{"customData":[{"production":[{"projectQuotaCpu":{"value":"5"}},{"projectQuotaMemory":{"value":"4000Mi"}}]},{"staging":[{"projectQuotaCpu":{"value":"2"}},{"projectQuotaMemory":{"value":"3000Mi"}}]},{"development":[{"projectQuotaCpu":{"value":"4"}},{"projectQuotaMemory":{"value":"3000Mi"}}]}],"refresh":"5m","refreshInterval":"5m","standaloneDeployment":false,"templatePath":"/etc/flyte/clusterresource/templates"}` | ClusterResource parameters Refer to the [structure](https://pkg.go.dev/github.com/lyft/flyteadmin@v0.3.37/pkg/runtime/interfaces#ClusterResourceConfig) to customize. | | flyte.cluster_resource_manager.config.cluster_resources.standaloneDeployment | bool | `false` | Starts the cluster resource manager in standalone mode with requisite auth credentials to call flyteadmin service endpoints | @@ -91,7 +91,7 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.common.ingress.separateGrpcIngressAnnotations | object | `{"nginx.ingress.kubernetes.io/backend-protocol":"GRPC"}` | - Extra Ingress annotations applied only to the GRPC ingress. Only makes sense if `separateGrpcIngress` is enabled. | | flyte.common.ingress.tls | object | `{"enabled":false}` | - TLS Settings | | flyte.common.ingress.webpackHMR | bool | `true` | - Enable or disable HMR route to flyteconsole. This is useful only for frontend development. | -| flyte.configmap | object | `{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v0.0.30","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array"]}}},"k8s":{"plugins":{"k8s":{"default-cpus":"100m","default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}}` | ----------------------------------------------------------------- CONFIGMAPS SETTINGS | +| flyte.configmap | object | `{"adminServer":{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}},"catalog":{"catalog-cache":{"endpoint":"datacatalog:89","insecure":true,"type":"datacatalog"}},"console":{"BASE_URL":"/console","CONFIG_DIR":"/etc/flyte/config"},"copilot":{"plugins":{"k8s":{"co-pilot":{"image":"cr.flyte.org/flyteorg/flytecopilot:v0.0.30","name":"flyte-copilot-","start-timeout":"30s"}}}},"core":{"propeller":{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"},"webhook":{"certDir":"/etc/webhook/certs","serviceName":"flyte-pod-webhook"}},"datacatalogServer":{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}},"domain":{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]},"enabled_plugins":{"tasks":{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}},"k8s":{"plugins":{"agent-service":{"defaultGrpcEndpoint":"flyteagent.flyte.svc.cluster.local:8000","supportedTaskTypes":["bigquery_query_job_task"]},"k8s":{"default-cpus":"100m","default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}},"logger":{"logger":{"level":5,"show-source":true}},"remoteData":{"remoteData":{"region":"us-east-1","scheme":"local","signedUrls":{"durationMinutes":3}}},"resource_manager":{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}},"task_logs":{"plugins":{"logs":{"cloudwatch-enabled":false,"kubernetes-enabled":true,"kubernetes-template-uri":"http://localhost:30082/#/log/{{ \"{{\" }} .namespace {{ \"}}\" }}/{{ \"{{\" }} .podName {{ \"}}\" }}/pod?namespace={{ \"{{\" }} .namespace {{ \"}}\" }}"}}},"task_resource_defaults":{"task_resources":{"defaults":{"cpu":"100m","memory":"200Mi","storage":"5Mi"},"limits":{"cpu":2,"gpu":1,"memory":"1Gi","storage":"20Mi"}}}}` | ----------------------------------------------------------------- CONFIGMAPS SETTINGS | | flyte.configmap.adminServer | object | `{"auth":{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}},"flyteadmin":{"eventVersion":2,"metadataStoragePrefix":["metadata","admin"],"metricsScope":"flyte:","profilerPort":10254,"roleNameKey":"iam.amazonaws.com/role","testing":{"host":"http://flyteadmin"}},"server":{"grpcPort":8089,"httpPort":8088,"security":{"allowCors":true,"allowedHeaders":["Content-Type","flyte-authorization"],"allowedOrigins":["*"],"secure":false,"useAuth":false}}}` | FlyteAdmin server configuration | | flyte.configmap.adminServer.auth | object | `{"appAuth":{"thirdPartyConfig":{"flyteClient":{"clientId":"flytectl","redirectUri":"http://localhost:53593/callback","scopes":["offline","all"]}}},"authorizedUris":["https://localhost:30081","http://flyteadmin:80","http://flyteadmin.flyte.svc.cluster.local:80"],"userAuth":{"openId":{"baseUrl":"https://accounts.google.com","clientId":"657465813211-6eog7ek7li5k7i7fvgv2921075063hpe.apps.googleusercontent.com","scopes":["profile","openid"]}}}` | Authentication configuration | | flyte.configmap.adminServer.server.security.secure | bool | `false` | Controls whether to serve requests over SSL/TLS. | @@ -104,10 +104,10 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.configmap.core.propeller | object | `{"downstream-eval-duration":"30s","enable-admin-launcher":true,"leader-election":{"enabled":true,"lease-duration":"15s","lock-config-map":{"name":"propeller-leader","namespace":"flyte"},"renew-deadline":"10s","retry-period":"2s"},"limit-namespace":"all","max-workflow-retries":30,"metadata-prefix":"metadata/propeller","metrics-prefix":"flyte","prof-port":10254,"queue":{"batch-size":-1,"batching-interval":"2s","queue":{"base-delay":"5s","capacity":1000,"max-delay":"120s","rate":100,"type":"maxof"},"sub-queue":{"capacity":100,"rate":10,"type":"bucket"},"type":"batch"},"rawoutput-prefix":"s3://my-s3-bucket/","workers":4,"workflow-reeval-duration":"30s"}` | follows the structure specified [here](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/config). | | flyte.configmap.datacatalogServer | object | `{"application":{"grpcPort":8089,"grpcServerReflection":true,"httpPort":8080},"datacatalog":{"metrics-scope":"datacatalog","profiler-port":10254,"storage-prefix":"metadata/datacatalog"}}` | Datacatalog server config | | flyte.configmap.domain | object | `{"domains":[{"id":"development","name":"development"},{"id":"staging","name":"staging"},{"id":"production","name":"production"}]}` | Domains configuration for Flyte projects. This enables the specified number of domains across all projects in Flyte. | -| flyte.configmap.enabled_plugins.tasks | object | `{"task-plugins":{"default-for-task-types":{"container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array"]}}` | Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) | -| flyte.configmap.enabled_plugins.tasks.task-plugins | object | `{"default-for-task-types":{"container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array"]}` | Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) | -| flyte.configmap.enabled_plugins.tasks.task-plugins.enabled-plugins | list | `["container","sidecar","k8s-array"]` | [Enabled Plugins](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend plugins | -| flyte.configmap.k8s | object | `{"plugins":{"k8s":{"default-cpus":"100m","default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}}` | Kubernetes specific Flyte configuration | +| flyte.configmap.enabled_plugins.tasks | object | `{"task-plugins":{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}}` | Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig) | +| flyte.configmap.enabled_plugins.tasks.task-plugins | object | `{"default-for-task-types":{"bigquery_query_job_task":"agent-service","container":"container","container_array":"k8s-array","sidecar":"sidecar"},"enabled-plugins":["container","sidecar","k8s-array","agent-service"]}` | Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig) | +| flyte.configmap.enabled_plugins.tasks.task-plugins.enabled-plugins | list | `["container","sidecar","k8s-array","agent-service"]` | [Enabled Plugins](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend plugins | +| flyte.configmap.k8s | object | `{"plugins":{"agent-service":{"defaultGrpcEndpoint":"flyteagent.flyte.svc.cluster.local:8000","supportedTaskTypes":["bigquery_query_job_task"]},"k8s":{"default-cpus":"100m","default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}}}` | Kubernetes specific Flyte configuration | | flyte.configmap.k8s.plugins.k8s | object | `{"default-cpus":"100m","default-env-vars":[{"FLYTE_AWS_ENDPOINT":"http://minio.flyte:9000"},{"FLYTE_AWS_ACCESS_KEY_ID":"minio"},{"FLYTE_AWS_SECRET_ACCESS_KEY":"miniostorage"}],"default-memory":"200Mi"}` | Configuration section for all K8s specific plugins [Configuration structure](https://pkg.go.dev/github.com/lyft/flyteplugins/go/tasks/pluginmachinery/flytek8s/config) | | flyte.configmap.logger | object | `{"logger":{"level":5,"show-source":true}}` | Logger configuration | | flyte.configmap.resource_manager | object | `{"propeller":{"resourcemanager":{"redis":null,"type":"noop"}}}` | Resource manager configuration | @@ -148,6 +148,26 @@ helm upgrade -f values-sandbox.yaml flyte . | flyte.flyteadmin.serviceAccount.create | bool | `true` | Should a service account be created for flyteadmin | | flyte.flyteadmin.serviceAccount.imagePullSecrets | list | `[]` | ImagePullSecrets to automatically assign to the service account | | flyte.flyteadmin.tolerations | list | `[]` | tolerations for Flyteadmin deployment | +| flyte.flyteagent.additionalContainers | list | `[]` | Appends additional containers to the deployment spec. May include template values. | +| flyte.flyteagent.additionalVolumeMounts | list | `[]` | Appends additional volume mounts to the main container's spec. May include template values. | +| flyte.flyteagent.additionalVolumes | list | `[]` | Appends additional volumes to the deployment spec. May include template values. | +| flyte.flyteagent.affinity | object | `{}` | affinity for flyteagent deployment | +| flyte.flyteagent.configPath | string | `"/etc/flyteagent/config/*.yaml"` | Default regex string for searching configuration files | +| flyte.flyteagent.extraArgs | object | `{}` | Appends extra command line arguments to the main command | +| flyte.flyteagent.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | +| flyte.flyteagent.image.repository | string | `"ghcr.io/flyteorg/flyteagent"` | Docker image for flyteagent deployment | +| flyte.flyteagent.image.tag | string | `"1.6.2b1"` | Docker image tag | +| flyte.flyteagent.nodeSelector | object | `{}` | nodeSelector for flyteagent deployment | +| flyte.flyteagent.podAnnotations | object | `{}` | Annotations for flyteagent pods | +| flyte.flyteagent.priorityClassName | string | `""` | Sets priorityClassName for datacatalog pod(s). | +| flyte.flyteagent.replicaCount | int | `1` | Replicas count for flyteagent deployment | +| flyte.flyteagent.resources | object | `{"limits":{"cpu":"500m","ephemeral-storage":"100Mi","memory":"500Mi"},"requests":{"cpu":"10m","ephemeral-storage":"50Mi","memory":"50Mi"}}` | Default resources requests and limits for flyteagent deployment | +| flyte.flyteagent.service | object | `{"annotations":{"projectcontour.io/upstream-protocol.h2c":"grpc"},"type":"ClusterIP"}` | Service settings for flyteagent | +| flyte.flyteagent.serviceAccount | object | `{"annotations":{},"create":true,"imagePullSecrets":[]}` | Configuration for service accounts for flyteagent | +| flyte.flyteagent.serviceAccount.annotations | object | `{}` | Annotations for ServiceAccount attached to flyteagent pods | +| flyte.flyteagent.serviceAccount.create | bool | `true` | Should a service account be created for flyteagent | +| flyte.flyteagent.serviceAccount.imagePullSecrets | list | `[]` | ImagePullSecrets to automatically assign to the service account | +| flyte.flyteagent.tolerations | list | `[]` | tolerations for flyteagent deployment | | flyte.flyteconsole.affinity | object | `{}` | affinity for Flyteconsole deployment | | flyte.flyteconsole.image.pullPolicy | string | `"IfNotPresent"` | Docker image pull policy | | flyte.flyteconsole.image.repository | string | `"cr.flyte.org/flyteorg/flyteconsole"` | Docker image for Flyteconsole deployment | diff --git a/charts/flyte/values.yaml b/charts/flyte/values.yaml index a9c7395f39..4897aad2c0 100755 --- a/charts/flyte/values.yaml +++ b/charts/flyte/values.yaml @@ -212,6 +212,66 @@ flyte: # -- affinity for Flytepropeller deployment affinity: {} + # + # FLYTE_AGENT SETTINGS + # + + flyteagent: + enabled: true + # -- Replicas count for flyteagent deployment + replicaCount: 1 + image: + # -- Docker image for flyteagent deployment + repository: ghcr.io/flyteorg/flyteagent + # -- Docker image tag + tag: 1.6.2b1 + # -- Docker image pull policy + pullPolicy: IfNotPresent + # -- Default resources requests and limits for flyteagent deployment + resources: + limits: + cpu: 500m + ephemeral-storage: 100Mi + memory: 500Mi + requests: + cpu: 10m + ephemeral-storage: 50Mi + memory: 50Mi + # -- Default regex string for searching configuration files + configPath: /etc/flyteagent/config/*.yaml + # -- Service settings for flyteagent + service: + annotations: + projectcontour.io/upstream-protocol.h2c: grpc + type: ClusterIP + # -- Configuration for service accounts for flyteagent + serviceAccount: + # -- Should a service account be created for flyteagent + create: true + # -- Annotations for ServiceAccount attached to flyteagent pods + annotations: { } + # -- ImagePullSecrets to automatically assign to the service account + imagePullSecrets: [ ] + # -- Annotations for flyteagent pods + podAnnotations: { } + # -- nodeSelector for flyteagent deployment + nodeSelector: { } + # -- tolerations for flyteagent deployment + tolerations: [ ] + # -- affinity for flyteagent deployment + affinity: { } + # -- Appends additional volumes to the deployment spec. May include template values. + additionalVolumes: [ ] + # -- Appends additional volume mounts to the main container's spec. May include template values. + additionalVolumeMounts: [ ] + # -- Appends additional containers to the deployment spec. May include template values. + additionalContainers: [ ] + # -- Appends extra command line arguments to the main command + extraArgs: { } + # -- Sets priorityClassName for datacatalog pod(s). + priorityClassName: "" + + # # FLYTECONSOLE SETTINGS # @@ -527,10 +587,13 @@ flyte: - container - sidecar - k8s-array + - agent-service default-for-task-types: container: container sidecar: sidecar container_array: k8s-array + bigquery_query_job_task: agent-service + # -- Kubernetes specific Flyte configuration k8s: @@ -544,6 +607,10 @@ flyte: - FLYTE_AWS_ACCESS_KEY_ID: minio - FLYTE_AWS_SECRET_ACCESS_KEY: miniostorage default-memory: 200Mi + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task # -- Logger configuration logger: diff --git a/deployment/eks/flyte_aws_scheduler_helm_generated.yaml b/deployment/eks/flyte_aws_scheduler_helm_generated.yaml index d389cec657..f5a52178d7 100644 --- a/deployment/eks/flyte_aws_scheduler_helm_generated.yaml +++ b/deployment/eks/flyte_aws_scheduler_helm_generated.yaml @@ -482,6 +482,7 @@ data: tasks: task-plugins: default-for-task-types: + bigquery_query_job_task: agent-service container: container container_array: k8s-array sidecar: sidecar @@ -491,6 +492,10 @@ data: - k8s-array k8s.yaml: | plugins: + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task k8s: default-cpus: 100m default-env-vars: [] @@ -1229,7 +1234,7 @@ spec: template: metadata: annotations: - configChecksum: "a9c71eeb913ac23741f1a6cdd8deb9681ecb6efdf2248c3513050c4c10ae7bb" + configChecksum: "8107b3f4d0daaceb4acd17cccff42bde216c5d07db469232dd65062f90fb04e" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -1311,7 +1316,7 @@ spec: app.kubernetes.io/name: flyte-pod-webhook app.kubernetes.io/version: v1.1.95 annotations: - configChecksum: "a9c71eeb913ac23741f1a6cdd8deb9681ecb6efdf2248c3513050c4c10ae7bb" + configChecksum: "8107b3f4d0daaceb4acd17cccff42bde216c5d07db469232dd65062f90fb04e" spec: securityContext: fsGroup: 65534 diff --git a/deployment/eks/flyte_helm_dataplane_generated.yaml b/deployment/eks/flyte_helm_dataplane_generated.yaml index 8ced175e14..8473d5ad02 100644 --- a/deployment/eks/flyte_helm_dataplane_generated.yaml +++ b/deployment/eks/flyte_helm_dataplane_generated.yaml @@ -147,6 +147,7 @@ data: tasks: task-plugins: default-for-task-types: + bigquery_query_job_task: agent-service container: container container_array: k8s-array sidecar: sidecar @@ -156,6 +157,10 @@ data: - k8s-array k8s.yaml: | plugins: + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task k8s: default-cpus: 100m default-env-vars: [] @@ -426,7 +431,7 @@ spec: template: metadata: annotations: - configChecksum: "a9c71eeb913ac23741f1a6cdd8deb9681ecb6efdf2248c3513050c4c10ae7bb" + configChecksum: "8107b3f4d0daaceb4acd17cccff42bde216c5d07db469232dd65062f90fb04e" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -508,7 +513,7 @@ spec: app.kubernetes.io/name: flyte-pod-webhook app.kubernetes.io/version: v1.1.95 annotations: - configChecksum: "a9c71eeb913ac23741f1a6cdd8deb9681ecb6efdf2248c3513050c4c10ae7bb" + configChecksum: "8107b3f4d0daaceb4acd17cccff42bde216c5d07db469232dd65062f90fb04e" spec: securityContext: fsGroup: 65534 diff --git a/deployment/eks/flyte_helm_generated.yaml b/deployment/eks/flyte_helm_generated.yaml index 1c0ab9befe..3fbcea8fd2 100644 --- a/deployment/eks/flyte_helm_generated.yaml +++ b/deployment/eks/flyte_helm_generated.yaml @@ -513,6 +513,7 @@ data: tasks: task-plugins: default-for-task-types: + bigquery_query_job_task: agent-service container: container container_array: k8s-array sidecar: sidecar @@ -522,6 +523,10 @@ data: - k8s-array k8s.yaml: | plugins: + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task k8s: default-cpus: 100m default-env-vars: [] @@ -1348,7 +1353,7 @@ spec: template: metadata: annotations: - configChecksum: "a9c71eeb913ac23741f1a6cdd8deb9681ecb6efdf2248c3513050c4c10ae7bb" + configChecksum: "8107b3f4d0daaceb4acd17cccff42bde216c5d07db469232dd65062f90fb04e" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -1430,7 +1435,7 @@ spec: app.kubernetes.io/name: flyte-pod-webhook app.kubernetes.io/version: v1.1.95 annotations: - configChecksum: "a9c71eeb913ac23741f1a6cdd8deb9681ecb6efdf2248c3513050c4c10ae7bb" + configChecksum: "8107b3f4d0daaceb4acd17cccff42bde216c5d07db469232dd65062f90fb04e" spec: securityContext: fsGroup: 65534 diff --git a/deployment/gcp/flyte_helm_dataplane_generated.yaml b/deployment/gcp/flyte_helm_dataplane_generated.yaml index 62c728d209..ff2722519f 100644 --- a/deployment/gcp/flyte_helm_dataplane_generated.yaml +++ b/deployment/gcp/flyte_helm_dataplane_generated.yaml @@ -147,6 +147,7 @@ data: tasks: task-plugins: default-for-task-types: + bigquery_query_job_task: agent-service container: container container_array: k8s-array sidecar: sidecar @@ -156,6 +157,10 @@ data: - k8s-array k8s.yaml: | plugins: + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task k8s: default-cpus: 100m default-env-vars: [] @@ -434,7 +439,7 @@ spec: template: metadata: annotations: - configChecksum: "ccfe4f10dade73d343d8be6945fcb0d49c00ef7a83e78bf11262fc9b419a030" + configChecksum: "6a8d2b542c38c5225a7cda0fca1fe8247022476eb296b44609faff929bdf1f4" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -515,7 +520,7 @@ spec: app.kubernetes.io/name: flyte-pod-webhook app.kubernetes.io/version: v1.1.95 annotations: - configChecksum: "ccfe4f10dade73d343d8be6945fcb0d49c00ef7a83e78bf11262fc9b419a030" + configChecksum: "6a8d2b542c38c5225a7cda0fca1fe8247022476eb296b44609faff929bdf1f4" spec: securityContext: fsGroup: 65534 diff --git a/deployment/gcp/flyte_helm_generated.yaml b/deployment/gcp/flyte_helm_generated.yaml index 6778f5656e..344da15b39 100644 --- a/deployment/gcp/flyte_helm_generated.yaml +++ b/deployment/gcp/flyte_helm_generated.yaml @@ -526,6 +526,7 @@ data: tasks: task-plugins: default-for-task-types: + bigquery_query_job_task: agent-service container: container container_array: k8s-array sidecar: sidecar @@ -535,6 +536,10 @@ data: - k8s-array k8s.yaml: | plugins: + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task k8s: default-cpus: 100m default-env-vars: [] @@ -1371,7 +1376,7 @@ spec: template: metadata: annotations: - configChecksum: "ccfe4f10dade73d343d8be6945fcb0d49c00ef7a83e78bf11262fc9b419a030" + configChecksum: "6a8d2b542c38c5225a7cda0fca1fe8247022476eb296b44609faff929bdf1f4" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -1452,7 +1457,7 @@ spec: app.kubernetes.io/name: flyte-pod-webhook app.kubernetes.io/version: v1.1.95 annotations: - configChecksum: "ccfe4f10dade73d343d8be6945fcb0d49c00ef7a83e78bf11262fc9b419a030" + configChecksum: "6a8d2b542c38c5225a7cda0fca1fe8247022476eb296b44609faff929bdf1f4" spec: securityContext: fsGroup: 65534 diff --git a/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml b/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml index d9b1abccf4..dd1965fc98 100644 --- a/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml +++ b/deployment/sandbox-binary/flyte_sandbox_binary_helm_generated.yaml @@ -69,7 +69,7 @@ data: secretName: flyte-flyte-binary-webhook-secret serviceName: flyte-flyte-binary-webhook servicePort: 443 - flyte: + flyte: admin: disableClusterResourceManager: false disableScheduler: false @@ -84,13 +84,16 @@ data: 001-plugins.yaml: | tasks: task-plugins: - enabled-plugins: - - container - - sidecar - - K8S-ARRAY default-for-task-types: - - container: container - - container_array: K8S-ARRAY + bigquery_query_job_task: agent-service + container: container + container_array: k8s-array + sidecar: sidecar + enabled-plugins: + - container + - sidecar + - k8s-array + - agent-service plugins: logs: kubernetes-enabled: false @@ -105,6 +108,10 @@ data: kubernetes-enabled: false cloudwatch-enabled: false stackdriver-enabled: false + agent-service: + defaultGrpcEndpoint: flyte-sandbox-http.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task 002-database.yaml: | database: postgres: @@ -282,6 +289,13 @@ spec: port: 8088 targetPort: http nodePort: null + - name: grpc + port: 8089 + targetPort: grpc + nodePort: null + - name: agent-grpc + port: 8000 + targetPort: agent-grpc selector: app.kubernetes.io/name: flyte-binary app.kubernetes.io/instance: flyte @@ -336,7 +350,7 @@ spec: app.kubernetes.io/name: flyte-binary app.kubernetes.io/instance: flyte annotations: - checksum/configuration: 74424ca6109cf92affdf8d0c0d23bc6272511b47511fdab580b9853c41201bea + checksum/configuration: d0eb5481982cd41bc10637aa4ef0f2356e4c5a62a0a32e1a9f361ab915460b15 checksum/cluster-resource-templates: 7dfa59f3d447e9c099b8f8ffad3af466fecbc9cf9f8c97295d9634254a55d4ae spec: serviceAccountName: flyte-flyte-binary @@ -396,6 +410,12 @@ spec: mountPath: /etc/flyte/config.d - name: state mountPath: /var/run/flyte + - name: flyteagent + image: "ghcr.io/flyteorg/flyteagent:1.6.2b1" + imagePullPolicy: "IfNotPresent" + ports: + - name: agent-grpc + containerPort: 8000 volumes: - name: cluster-resource-templates configMap: diff --git a/deployment/sandbox/flyte_helm_generated.yaml b/deployment/sandbox/flyte_helm_generated.yaml index 4498a26d50..5eeb394d24 100644 --- a/deployment/sandbox/flyte_helm_generated.yaml +++ b/deployment/sandbox/flyte_helm_generated.yaml @@ -633,6 +633,7 @@ data: tasks: task-plugins: default-for-task-types: + bigquery_query_job_task: agent-service container: container container_array: k8s-array sidecar: sidecar @@ -640,8 +641,13 @@ data: - container - sidecar - k8s-array + - agent-service k8s.yaml: | plugins: + agent-service: + defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task k8s: default-cpus: 100m default-env-vars: @@ -6149,6 +6155,30 @@ spec: app.kubernetes.io/name: flyteadmin app.kubernetes.io/instance: flyte --- +# Source: flyte/charts/flyte/templates/agent/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: flyteagent + namespace: flyte + labels: + app.kubernetes.io/name: flyteagent + app.kubernetes.io/instance: flyte + helm.sh/chart: flyte-v0.1.10 + app.kubernetes.io/managed-by: Helm + annotations: + projectcontour.io/upstream-protocol.h2c: grpc +spec: + type: ClusterIP + ports: + - name: agent-grpc + port: 8000 + protocol: TCP + targetPort: agent-grpc + selector: + app.kubernetes.io/name: flyteagent + app.kubernetes.io/instance: flyte +--- # Source: flyte/charts/flyte/templates/console/service.yaml apiVersion: v1 kind: Service @@ -6824,6 +6854,53 @@ spec: secret: secretName: flyte-admin-secrets --- +# Source: flyte/charts/flyte/templates/agent/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: flyteagent + namespace: flyte + labels: + app.kubernetes.io/name: flyteagent + app.kubernetes.io/instance: flyte + helm.sh/chart: flyte-v0.1.10 + app.kubernetes.io/managed-by: Helm +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: flyteagent + app.kubernetes.io/instance: flyte + template: + metadata: + annotations: + labels: + app.kubernetes.io/name: flyteagent + app.kubernetes.io/instance: flyte + helm.sh/chart: flyte-v0.1.10 + app.kubernetes.io/managed-by: Helm + spec: + containers: + - command: + - pyflyte + - serve + image: "ghcr.io/flyteorg/flyteagent:1.6.2b1" + imagePullPolicy: "IfNotPresent" + name: flyteagent + ports: + - containerPort: 8000 + name: agent-grpc + resources: + limits: + cpu: 500m + ephemeral-storage: 100Mi + memory: 500Mi + requests: + cpu: 10m + ephemeral-storage: 50Mi + memory: 50Mi + serviceAccountName: flyteagent +--- # Source: flyte/charts/flyte/templates/clusterresourcesync/deployment.yaml apiVersion: apps/v1 kind: Deployment @@ -7119,7 +7196,7 @@ spec: template: metadata: annotations: - configChecksum: "77a1becb51025621fbbeb95c7bca83b0efbb96baa355f13333b94d7de0e7071" + configChecksum: "66c3d7807d11a8baff34bd1e84eca517c116fdf940dc50ba2d4e3a3167f731c" labels: app.kubernetes.io/name: flytepropeller app.kubernetes.io/instance: flyte @@ -7193,7 +7270,7 @@ spec: app.kubernetes.io/name: flyte-pod-webhook app.kubernetes.io/version: v1.1.95 annotations: - configChecksum: "77a1becb51025621fbbeb95c7bca83b0efbb96baa355f13333b94d7de0e7071" + configChecksum: "66c3d7807d11a8baff34bd1e84eca517c116fdf940dc50ba2d4e3a3167f731c" spec: securityContext: fsGroup: 65534 diff --git a/docker/sandbox-bundled/Makefile b/docker/sandbox-bundled/Makefile index 068a1f7755..5bb9c4f1a8 100644 --- a/docker/sandbox-bundled/Makefile +++ b/docker/sandbox-bundled/Makefile @@ -58,7 +58,7 @@ start: --publish "30002:30002" \ --publish "30080:30080" \ $(FLYTE_SANDBOX_IMAGE) - export KUBECONFIG=.kube/kubeconfig + export KUBECONFIG=$(PWD)/.kube/kubeconfig .PHONY: kubeconfig .SILENT: kubeconfig kubeconfig: diff --git a/docker/sandbox-bundled/images/manifest.txt b/docker/sandbox-bundled/images/manifest.txt index 7b713a0adf..a5c3524cff 100644 --- a/docker/sandbox-bundled/images/manifest.txt +++ b/docker/sandbox-bundled/images/manifest.txt @@ -9,3 +9,4 @@ docker.io/rancher/mirrored-coredns-coredns:1.9.1 docker.io/rancher/mirrored-library-busybox:1.34.1 docker.io/rancher/mirrored-metrics-server:v0.5.2 docker.io/rancher/mirrored-pause:3.6 +ghcr.io/flyteorg/flyteagent:1.6.2b1 diff --git a/docker/sandbox-bundled/manifests/complete.yaml b/docker/sandbox-bundled/manifests/complete.yaml index 22d9498d95..001bf495de 100644 --- a/docker/sandbox-bundled/manifests/complete.yaml +++ b/docker/sandbox-bundled/manifests/complete.yaml @@ -403,25 +403,53 @@ metadata: --- apiVersion: v1 data: - 000-core.yaml: "admin:\n endpoint: localhost:8089\n insecure: true\ncatalog-cache:\n - \ endpoint: localhost:8081\n insecure: true\n type: datacatalog\ncluster_resources:\n - \ standaloneDeployment: false\n templatePath: /etc/flyte/cluster-resource-templates\nlogger:\n - \ show-source: true\n level: 6\npropeller:\n create-flyteworkflow-crd: true\nwebhook:\n - \ certDir: /var/run/flyte/certs\n localCert: true\n secretName: flyte-sandbox-webhook-secret\n - \ serviceName: flyte-sandbox-webhook\n servicePort: 443\nflyte: \n admin:\n - \ disableClusterResourceManager: false\n disableScheduler: false\n disabled: - false\n seedProjects:\n - flytesnacks\n dataCatalog:\n disabled: false\n - \ propeller:\n disableWebhook: false\n disabled: false\n" + 000-core.yaml: | + admin: + endpoint: localhost:8089 + insecure: true + catalog-cache: + endpoint: localhost:8081 + insecure: true + type: datacatalog + cluster_resources: + standaloneDeployment: false + templatePath: /etc/flyte/cluster-resource-templates + logger: + show-source: true + level: 6 + propeller: + create-flyteworkflow-crd: true + webhook: + certDir: /var/run/flyte/certs + localCert: true + secretName: flyte-sandbox-webhook-secret + serviceName: flyte-sandbox-webhook + servicePort: 443 + flyte: + admin: + disableClusterResourceManager: false + disableScheduler: false + disabled: false + seedProjects: + - flytesnacks + dataCatalog: + disabled: false + propeller: + disableWebhook: false + disabled: false 001-plugins.yaml: | tasks: task-plugins: - enabled-plugins: - - container - - sidecar - - K8S-ARRAY default-for-task-types: - - container: container - - container_array: K8S-ARRAY + bigquery_query_job_task: agent-service + container: container + container_array: k8s-array + sidecar: sidecar + enabled-plugins: + - container + - sidecar + - k8s-array + - agent-service plugins: logs: kubernetes-enabled: true @@ -438,6 +466,10 @@ data: kubernetes-template-uri: http://localhost:30080/kubernetes-dashboard/#/log/{{.namespace }}/{{ .podName }}/pod?namespace={{ .namespace }} cloudwatch-enabled: false stackdriver-enabled: false + agent-service: + defaultGrpcEndpoint: flyte-sandbox-http.flyte.svc.cluster.local:8000 + supportedTaskTypes: + - bigquery_query_job_task 002-database.yaml: | database: postgres: @@ -752,7 +784,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: Q0NxRUxyMHdoV3cwWGFUYw== + haSharedSecret: Wm9NZkpoUExVeHRIZVFXdQ== proxyPassword: "" proxyUsername: "" kind: Secret @@ -895,6 +927,13 @@ spec: nodePort: null port: 8088 targetPort: http + - name: grpc + nodePort: null + port: 8089 + targetPort: grpc + - name: agent-grpc + port: 8000 + targetPort: agent-grpc selector: app.kubernetes.io/instance: flyte-sandbox app.kubernetes.io/name: flyte-sandbox @@ -1146,7 +1185,7 @@ spec: metadata: annotations: checksum/cluster-resource-templates: 6fd9b172465e3089fcc59f738b92b8dc4d8939360c19de8ee65f68b0e7422035 - checksum/configuration: af73555ceafa450e1e534169aeb7fffcab7726754f8802ab1d3edbb75d65969d + checksum/configuration: 8118b13cf076cdede0f232d5c1babb77d378cc2aa486840ed46a21b5ab4480ea checksum/db-password-secret: 669e1cdf4633c6dd40085f78d1bb6b9672d8120ff1f62077a879a4d46db133e2 labels: app.kubernetes.io/instance: flyte-sandbox @@ -1194,6 +1233,12 @@ spec: subPath: db-pass - mountPath: /var/run/flyte name: state + - image: ghcr.io/flyteorg/flyteagent:1.6.2b1 + imagePullPolicy: IfNotPresent + name: flyteagent + ports: + - containerPort: 8000 + name: agent-grpc initContainers: - args: - | @@ -1254,7 +1299,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 0488d24bf58944fda2bed74f8681cb973a80a5419722bad83d5f1d716a877d4d + checksum/secret: 1877f7ae4570a2829bc6ddeccc1fe2e2908839e31778233f2c94cc9ed5945f5b labels: app: docker-registry release: flyte-sandbox diff --git a/docker/sandbox-bundled/manifests/dev.yaml b/docker/sandbox-bundled/manifests/dev.yaml index aa09d5db8c..0859b4ecde 100644 --- a/docker/sandbox-bundled/manifests/dev.yaml +++ b/docker/sandbox-bundled/manifests/dev.yaml @@ -499,7 +499,7 @@ metadata: --- apiVersion: v1 data: - haSharedSecret: dnlQNHJXN0pVTmMyU3o4Yw== + haSharedSecret: YzNLTWRRM2JrYnU5eElvUg== proxyPassword: "" proxyUsername: "" kind: Secret @@ -875,7 +875,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 00f35e5b4ed3c4802faef7494267ad19aa43551163fc889a9bd0bde4458b3482 + checksum/secret: 0276ad91431541e35a00efa6a9deb2414112a1328c2a842983d8a682ab005c67 labels: app: docker-registry release: flyte-sandbox