diff --git a/charts/clearml-serving/Chart.lock b/charts/clearml-serving/Chart.lock new file mode 100644 index 0000000..f5a7f54 --- /dev/null +++ b/charts/clearml-serving/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: kafka + repository: https://charts.bitnami.com/bitnami + version: 21.4.0 +- name: prometheus + repository: https://prometheus-community.github.io/helm-charts + version: 19.7.2 +- name: grafana + repository: https://grafana.github.io/helm-charts + version: 6.52.3 +digest: sha256:b28d01875a50b24230ba164d14671225b71d79172192a97e345661e4832f484b +generated: "2023-03-16T09:10:35.77395+01:00" diff --git a/charts/clearml-serving/Chart.yaml b/charts/clearml-serving/Chart.yaml index 7c9cc04..d93b0e0 100644 --- a/charts/clearml-serving/Chart.yaml +++ b/charts/clearml-serving/Chart.yaml @@ -2,9 +2,14 @@ apiVersion: v2 name: clearml-serving description: ClearML Serving Helm Chart type: application -version: 0.7.0 +version: "1.0.0" appVersion: "1.2.0" -kubeVersion: ">= 1.19.0-0 < 1.26.0-0" +kubeVersion: ">= 1.21.0-0 < 1.27.0-0" +home: https://clear.ml +icon: https://raw.githubusercontent.com/allegroai/clearml/master/docs/clearml-logo.svg +sources: + - https://github.com/allegroai/clearml-helm-charts + - https://github.com/allegroai/clearml maintainers: - name: valeriano-manassero url: https://github.com/valeriano-manassero @@ -13,3 +18,20 @@ keywords: - "machine learning" - mlops - "model serving" +dependencies: + - name: kafka + version: "21.4.0" + repository: "https://charts.bitnami.com/bitnami" + condition: kafka.enabled + - name: prometheus + version: "19.7.2" + repository: "https://prometheus-community.github.io/helm-charts" + condition: prometheus.enabled + - name: grafana + version: "6.52.3" + repository: "https://grafana.github.io/helm-charts" + condition: grafana.enabled +annotations: + artifacthub.io/changes: | + - kind: changed + description: refactoring diff --git a/charts/clearml-serving/charts/grafana-6.52.3.tgz b/charts/clearml-serving/charts/grafana-6.52.3.tgz new file mode 100644 index 0000000..7bae8e1 Binary files /dev/null and b/charts/clearml-serving/charts/grafana-6.52.3.tgz differ diff --git a/charts/clearml-serving/charts/kafka-21.4.0.tgz b/charts/clearml-serving/charts/kafka-21.4.0.tgz new file mode 100644 index 0000000..0af58fc Binary files /dev/null and b/charts/clearml-serving/charts/kafka-21.4.0.tgz differ diff --git a/charts/clearml-serving/charts/prometheus-19.7.2.tgz b/charts/clearml-serving/charts/prometheus-19.7.2.tgz new file mode 100644 index 0000000..0c70c69 Binary files /dev/null and b/charts/clearml-serving/charts/prometheus-19.7.2.tgz differ diff --git a/charts/clearml-serving/templates/alertmanager-deployment.yaml b/charts/clearml-serving/templates/alertmanager-deployment.yaml deleted file mode 100644 index c5c822a..0000000 --- a/charts/clearml-serving/templates/alertmanager-deployment.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: {} - labels: - clearml.serving.service: alertmanager - name: alertmanager -spec: - replicas: 1 - selector: - matchLabels: - clearml.serving.service: alertmanager - strategy: {} - template: - metadata: - annotations: {} - labels: - clearml.serving.network/clearml-serving-backend: "true" - clearml.serving.service: alertmanager - spec: - containers: - - image: "{{ .Values.alertmanager.image.repository }}:{{ .Values.alertmanager.image.tag }}" - name: clearml-serving-alertmanager - ports: - - containerPort: 9093 - resources: {} - restartPolicy: Always diff --git a/charts/clearml-serving/templates/alertmanager-service.yaml b/charts/clearml-serving/templates/alertmanager-service.yaml deleted file mode 100644 index dddf32c..0000000 --- a/charts/clearml-serving/templates/alertmanager-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - clearml.serving.service: alertmanager - name: clearml-serving-alertmanager -spec: - ports: - - name: "9093" - port: 9093 - targetPort: 9093 - selector: - clearml.serving.service: alertmanager diff --git a/charts/clearml-serving/templates/grafana-config-secret.yaml b/charts/clearml-serving/templates/grafana-config-secret.yaml deleted file mode 100644 index 5704088..0000000 --- a/charts/clearml-serving/templates/grafana-config-secret.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: grafana-config -stringData: - datasource.yaml: |- - apiVersion: 1 - - datasources: - - name: Prometheus - type: prometheus - # Access mode - proxy (server in the UI) or direct (browser in the UI). - access: proxy - url: http://clearml-serving-prometheus:9090 diff --git a/charts/clearml-serving/templates/grafana-deployment.yaml b/charts/clearml-serving/templates/grafana-deployment.yaml deleted file mode 100644 index 5ebf824..0000000 --- a/charts/clearml-serving/templates/grafana-deployment.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: {} - labels: - clearml.serving.service: grafana - name: grafana -spec: - replicas: 1 - selector: - matchLabels: - clearml.serving.service: grafana - strategy: - type: Recreate - template: - metadata: - annotations: {} - labels: - clearml.serving.network/clearml-serving-backend: "true" - clearml.serving.service: grafana - spec: - containers: - - image: "{{ .Values.grafana.image.repository }}:{{ .Values.grafana.image.tag }}" - name: clearml-serving-grafana - ports: - - containerPort: 3000 - resources: {} - volumeMounts: - - mountPath: /etc/grafana/provisioning/datasources/ - name: grafana-conf - restartPolicy: Always - volumes: - - name: grafana-conf - secret: - secretName: grafana-config diff --git a/charts/clearml-serving/templates/grafana-ingress.yaml b/charts/clearml-serving/templates/grafana-ingress.yaml deleted file mode 100644 index 3ab386b..0000000 --- a/charts/clearml-serving/templates/grafana-ingress.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{{- if .Values.grafana.ingress.enabled -}} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1 -{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1beta1 -{{- else -}} -apiVersion: extensions/v1beta1 -{{- end }} -kind: Ingress -metadata: - name: clearml-serving-grafana - labels: - clearml.serving.service: clearml-serving-grafana - annotations: - {{- toYaml .Values.grafana.ingress.annotations | nindent 4 }} -spec: - {{- if .Values.grafana.ingress.tlsSecretName }} - tls: - - hosts: - - {{ .Values.grafana.ingress.hostName }} - secretName: {{ .Values.grafana.ingress.tlsSecretName }} - {{- end }} - rules: - - host: {{ .Values.grafana.ingress.hostName }} - http: - paths: - - path: {{ .Values.grafana.ingress.path }} - {{ if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }} - pathType: Prefix - backend: - service: - name: clearml-serving-grafana - port: - number: 3000 - {{ else }} - backend: - serviceName: clearml-serving-grafana - servicePort: 3000 - {{ end }} -{{- end }} diff --git a/charts/clearml-serving/templates/grafana-service.yaml b/charts/clearml-serving/templates/grafana-service.yaml deleted file mode 100644 index 5abfb40..0000000 --- a/charts/clearml-serving/templates/grafana-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - clearml.serving.service: grafana - name: clearml-serving-grafana -spec: - ports: - - name: "3000" - port: 3000 - targetPort: 3000 - selector: - clearml.serving.service: grafana diff --git a/charts/clearml-serving/templates/kafka-deployment.yaml b/charts/clearml-serving/templates/kafka-deployment.yaml deleted file mode 100644 index 1c91574..0000000 --- a/charts/clearml-serving/templates/kafka-deployment.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: {} - labels: - clearml.serving.service: kafka - name: kafka -spec: - replicas: 1 - selector: - matchLabels: - clearml.serving.service: kafka - strategy: {} - template: - metadata: - annotations: {} - labels: - clearml.serving.network/clearml-serving-backend: "true" - clearml.serving.service: kafka - spec: - containers: - - env: - - name: ALLOW_PLAINTEXT_LISTENER - value: "yes" - - name: KAFKA_BROKER_ID - value: "1" - - name: KAFKA_CFG_ADVERTISED_LISTENERS - value: PLAINTEXT://clearml-serving-kafka:9092 - - name: KAFKA_CFG_LISTENERS - value: PLAINTEXT://0.0.0.0:9092 - - name: KAFKA_CFG_ZOOKEEPER_CONNECT - value: clearml-serving-zookeeper:2181 - - name: KAFKA_CREATE_TOPICS - value: '"topic_test:1:1"' - image: "{{ .Values.kafka.image.repository }}:{{ .Values.kafka.image.tag }}" - name: clearml-serving-kafka - ports: - - containerPort: 9092 - resources: {} - restartPolicy: Always diff --git a/charts/clearml-serving/templates/kafka-service.yaml b/charts/clearml-serving/templates/kafka-service.yaml deleted file mode 100644 index e112321..0000000 --- a/charts/clearml-serving/templates/kafka-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - clearml.serving.service: kafka - name: clearml-serving-kafka -spec: - ports: - - name: "9092" - port: 9092 - targetPort: 9092 - selector: - clearml.serving.service: kafka diff --git a/charts/clearml-serving/templates/prometheus-config-secret.yaml b/charts/clearml-serving/templates/prometheus-config-secret.yaml deleted file mode 100644 index 3a36528..0000000 --- a/charts/clearml-serving/templates/prometheus-config-secret.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: prometheus-config -stringData: - prometheus.yml: |- - global: - scrape_interval: "15s" # By default, scrape targets every 15 seconds. - evaluation_interval: 15s # By default, scrape targets every 15 seconds. - external_labels: - monitor: 'clearml-serving' - - scrape_configs: - # The job name is added as a label `job=` to any timeseries scraped from this config. - - job_name: 'prometheus' - - scrape_interval: 5s - - static_configs: - - targets: ['localhost:9090'] - - # The job name is added as a label `job=` to any timeseries scraped from this config. - - job_name: 'clearml-inference-stats' - - scrape_interval: 5s - - static_configs: - - targets: ['clearml-serving-statistics:9999'] \ No newline at end of file diff --git a/charts/clearml-serving/templates/prometheus-deployment.yaml b/charts/clearml-serving/templates/prometheus-deployment.yaml deleted file mode 100644 index cb52ece..0000000 --- a/charts/clearml-serving/templates/prometheus-deployment.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: {} - labels: - clearml.serving.service: prometheus - name: prometheus -spec: - replicas: 1 - selector: - matchLabels: - clearml.serving.service: prometheus - strategy: - type: Recreate - template: - metadata: - annotations: {} - labels: - clearml.serving.network/clearml-serving-backend: "true" - clearml.serving.service: prometheus - spec: - containers: - - args: - - --config.file=/mnt/prometheus.yml - - --storage.tsdb.path=/prometheus - - --web.console.libraries=/etc/prometheus/console_libraries - - --web.console.templates=/etc/prometheus/consoles - - --storage.tsdb.retention.time=200h - - --web.enable-lifecycle - image: "{{ .Values.prometheus.image.repository }}:{{ .Values.prometheus.image.tag }}" - name: clearml-serving-prometheus - ports: - - containerPort: 9090 - resources: {} - volumeMounts: - - mountPath: /mnt - name: prometheus-conf - restartPolicy: Always - volumes: - - name: prometheus-conf - secret: - secretName: prometheus-config diff --git a/charts/clearml-serving/templates/prometheus-service.yaml b/charts/clearml-serving/templates/prometheus-service.yaml deleted file mode 100644 index 5ac1f3a..0000000 --- a/charts/clearml-serving/templates/prometheus-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - clearml.serving.service: prometheus - name: clearml-serving-prometheus -spec: - ports: - - name: "9090" - port: 9090 - targetPort: 9090 - selector: - clearml.serving.service: prometheus diff --git a/charts/clearml-serving/templates/zookeeper-deployment.yaml b/charts/clearml-serving/templates/zookeeper-deployment.yaml deleted file mode 100644 index f3df88d..0000000 --- a/charts/clearml-serving/templates/zookeeper-deployment.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: {} - labels: - clearml.serving.service: zookeeper - name: zookeeper -spec: - replicas: 1 - selector: - matchLabels: - clearml.serving.service: zookeeper - strategy: {} - template: - metadata: - annotations: {} - labels: - clearml.serving.network/clearml-serving-backend: "true" - clearml.serving.service: zookeeper - spec: - containers: - - env: - - name: ALLOW_ANONYMOUS_LOGIN - value: "yes" - image: "{{ .Values.zookeeper.image.repository }}:{{ .Values.zookeeper.image.tag }}" - name: clearml-serving-zookeeper - ports: - - containerPort: 2181 - resources: {} - restartPolicy: Always diff --git a/charts/clearml-serving/templates/zookeeper-service.yaml b/charts/clearml-serving/templates/zookeeper-service.yaml deleted file mode 100644 index e24f0cb..0000000 --- a/charts/clearml-serving/templates/zookeeper-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - clearml.serving.service: zookeeper - name: clearml-serving-zookeeper -spec: - ports: - - name: "2181" - port: 2181 - targetPort: 2181 - selector: - clearml.serving.service: zookeeper diff --git a/charts/clearml-serving/values.yaml b/charts/clearml-serving/values.yaml index 55d5698..c207aeb 100644 --- a/charts/clearml-serving/values.yaml +++ b/charts/clearml-serving/values.yaml @@ -8,62 +8,6 @@ clearml: defaultBaseServeUrl: http://127.0.0.1:8080/serve servingTaskId: "ClearML Serving Task ID" -# -- Zookeeper generic configigurations -zookeeper: - image: - repository: "bitnami/zookeeper" - tag: "3.7.0" - nodeSelector: {} - tolerations: [] - affinity: {} - resources: {} - -# -- Kafka generic configigurations -kafka: - image: - repository: "bitnami/kafka" - tag: "3.1.0" - nodeSelector: {} - tolerations: [] - affinity: {} - resources: {} - -# -- Prometheus generic configigurations -prometheus: - image: - repository: "prom/prometheus" - tag: "v2.34.0" - nodeSelector: {} - tolerations: [] - affinity: {} - resources: {} - -# -- Grafana generic configigurations -grafana: - image: - repository: "grafana/grafana" - tag: "8.4.4-ubuntu" - nodeSelector: {} - tolerations: [] - affinity: {} - resources: {} - ingress: - enabled: false - hostName: "serving-grafana.clearml.127-0-0-1.nip.io" - tlsSecretName: "" - annotations: {} - path: "/" - -# -- Alertmanager generic configigurations -alertmanager: - image: - repository: "prom/alertmanager" - tag: "v0.23.0" - nodeSelector: {} - tolerations: [] - affinity: {} - resources: {} - # -- ClearML serving statistics configurations clearml_serving_statistics: # -- Container Image @@ -162,3 +106,15 @@ clearml_serving_triton: # nginx.ingress.kubernetes.io/ssl-redirect: "true" # nginx.ingress.kubernetes.io/backend-protocol: "GRPC" path: "/" + +# -- Configuration from https://github.com/bitnami/charts/blob/main/bitnami/kafka/values.yaml +kafka: + enabled: true + +# -- Configuration from https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml +prometheus: + enabled: true + +# -- Configuration from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml +grafana: + enabled: true