Commit 28fc24d5 authored by threedytech's avatar threedytech
Browse files

release: trk_jt_imp-14599

parent 6acdfef1
......@@ -52,7 +52,7 @@ We provide three channels for helm packages:
* **stable**: This channel contains the stable release packages of instant3Dhub.
* **dev**: This channel contains all rc and dev packages.
* **trk_<track-name>**: Each track package has its own channel and is named using the suffix trk_ followed by the name of the track.
* **trk_<track-name>**: Each track package has its own channel and is named using the suffix ``trk_`` followed by the name of the track.
Now, add the instant3Dhub Helm repository from one of the channels:
......@@ -171,7 +171,7 @@ Using External Services
PostgreSQL
-------------------------------------------
The system can optionally work with a previously provisioned PostgreSQL instance. This instance must be initialized corrctly with our schema and tables. For that we provide ansible playbooks to install and initialize postgres manually. For more information please `see our guide <./INSTALL_EXT_POSTGRES_GUIDE>`_.
The system can optionally work with a previously provisioned PostgreSQL instance. This instance must be initialized corrctly with our schema and tables. For that we provide ansible playbooks to install and initialize postgres manually. For more information please :ref:`see our guide <Guide: running instant3Dhub with external PostgreSQL>`.
If you are using external PostgresSQL, we recommend using k8s secrets to store the connection string. The secrets can be referenced then using these values in our helm chart.
......
......@@ -55,7 +55,7 @@ Clone the release repository
The script expects these env variables to be set in the setup file:
* RELEASE_NAME: Is the name of the release to be used when deploying instant3Dhub. This can be any name of your choice. Example: instant3dhub-test. Default is: i3dhub-singlenode.
* ENTRYPOINT: The external exposure hosts or proxies. Example: http://host-name.your-domain.com:30000. Default is: http://your-hostname:30042. For more information on how to set up a proxy please see our `guide <./INSTALL_PROXY_GUIDE.srt>`_.
* ENTRYPOINT: The external exposure hosts or proxies. Example: http://host-name.your-domain.com:30000. Default is: http://your-hostname:30042. For more information on how to set up a proxy please see our :ref:`guide <Guide: running instant3Dhub with external PostgreSQL>`.
* REGISTRY: Is the container registry where instant3Dhub images can be fetched. Example: hub.docker.com. Default is: images.threedy.io.
* LICENSE_SERVER: The address of the license server. Example: http://license.threedy.io:8200. Default is empty.
* ENABLE_GPU: Set to true if your system has a GPU and you want to enable it to be used by instant3Dhub visualization services. Default is false.
......
......@@ -190,6 +190,9 @@ will be used.
.. code-block:: yaml
# whether to use the BIOS ID of the current machine when performing host checks
use-bios-uuid: false
# interface and port to listen on
address: 0.0.0.0:8200
......
......@@ -34,7 +34,7 @@ instant3Dhub issue. Possible sources of this behavior:
* Volume mounts not setup correctly.
* Special capability nodes are all claimed by other pods.
Refer to :ref:`debugging steps below<kubectl>`, especially ``kubecl describe``
Refer to :ref:`debugging steps below <kubectl>`, especially ``kubecl describe``
to determine exact failure causes.
********************************************************************************
......@@ -56,9 +56,10 @@ these will be in a ``CrashLoopBackOff``:
Once these have started succesfully the rest of the containers should start.
If any containers are not starting, it is worth trying the
:ref:`debugging steps below<kubectl>` to determine the root cause.
:ref:`debugging steps below <kubectl>` to determine the root cause.
.. _kubectl:
********************************************************************************
``kubectl`` troubleshooting
********************************************************************************
......
......@@ -20,3 +20,5 @@
.idea/
*.tmproj
.vscode/
templates/grafana/*.sh
......@@ -57,7 +57,30 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- define "i3dhub.config.generators" -}}
/i3dhub-config/generators/
{{- end -}}
{{- define "i3dhub.config.prometheus" -}}
/etc/prometheus/
{{- end -}}
{{- define "i3dhub.config.grafana.provision.datasource" -}}
/etc/grafana/provisioning/datasources/
{{- end -}}
{{- define "i3dhub.config.grafana.provision.dashboard" -}}
/etc/grafana/provisioning/dashboards/
{{- end -}}
{{- define "i3dhub.config.grafana.dashboards" -}}
/etc/dashboards/instant3Dhub
{{- end -}}
{{- define "i3dhub.db.version.store" -}}
store:2
{{- end -}}
{{- define "i3dhub.tracing.jaeger.settings" -}}
- name: I3DH_OTEL_ENABLED
value: "true"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://i3dhub-jaeger:4318
- name: OTEL_TRACES_SAMPLER
value: parentbased_traceidratio
- name: OTEL_TRACES_SAMPLER_ARG
value: "{{ .Values.tracing.withIntegrated.samplingProbability }}"
{{- end -}}
......@@ -62,12 +62,7 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "75Mi"
cpu: "0.05"
limits:
memory: "75Mi"
cpu: "0.1"
{{ .Values.resourceLimits.adminsvc | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 8080
......@@ -93,11 +88,14 @@ spec:
name: {{ .Values.credentials.admin.secretKeyRef.name }}
key: {{ .Values.credentials.admin.secretKeyRef.key }}
{{- end }}
{{- if .Values.tracing.withJaeger }}
- name: I3DH_JAEGER_ELK_ENABLED
{{- if .Values.tracing.withKibana}}
- name: I3DH_ELK_ENABLED
value: "true"
{{- else if .Values.tracing.withDatadog }}
- name: I3DH_DATADOG_ENABLED
{{- end }}
{{- if .Values.tracing.withIntegrated.enabled }}
{{ include "i3dhub.tracing.jaeger.settings" . | indent 12 }}
{{- else if .Values.tracing.withOTel }}
- name: I3DH_OTEL_ENABLED
value: "true"
{{- end }}
{{- if .Values.tracing.additionalContainerEnv }}
......@@ -154,3 +152,18 @@ spec:
- name: http
protocol: TCP
port: 8080
---
apiVersion: v1
kind: Service
metadata:
name: i3dhub-adminsvc-headless
spec:
selector:
app: i3dhub-adminsvc
clusterIP: None
ports:
- name: metrics
port: 8080
targetPort: 8080
......@@ -52,8 +52,10 @@ spec:
secretKeyRef:
name: {{ .Values.credentials.rabbitmq.secretKeyRef.name }}
key: {{ .Values.credentials.rabbitmq.secretKeyRef.key }}
{{- if .Values.auth.signing.enabled }}
- name: KEYSTORE_ADDRESS
value: http://i3dhub-keystore:8080
{{- end }}
- name: CONSUL_ADDRESS
value: i3dhub-consul:8500
containers:
......@@ -67,12 +69,7 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "100Mi"
cpu: "0.1"
limits:
memory: "100Mi"
cpu: "0.2"
{{ .Values.resourceLimits.apigw | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 8080
......@@ -106,6 +103,9 @@ spec:
mountPath: "/var/cache/nginx"
- name: i3dhub-config-service
mountPath: {{ include "i3dhub.config.service" . }}
- name: i3dhub-nginx-ssl
mountPath: "/etc/nginx/ssl"
readOnly: true
- name: i3dhub-authsvc
image: {{ if .Values.registry }}{{ .Values.registry }}/{{ end }}i3dhub-authsvc:{{ .Values.imageTag }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
......@@ -116,20 +116,13 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "100Mi"
cpu: "0.2"
limits:
memory: "100Mi"
cpu: "0.4"
{{ .Values.resourceLimits.authsvc | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 6060
env:
- name: I3DH_CONSUL_HOST
value: i3dhub-consul:8500
- name: JAEGER_COLLECTOR_HOSTS
value: i3dhub-jaeger-collector:14250
- name: POSTGRES_CONNECTION_STRING
valueFrom:
secretKeyRef:
......@@ -140,11 +133,14 @@ spec:
secretKeyRef:
name: {{ .Values.credentials.rabbitmq.secretKeyRef.name }}
key: {{ .Values.credentials.rabbitmq.secretKeyRef.key }}
{{- if .Values.tracing.withJaeger }}
- name: I3DH_JAEGER_ELK_ENABLED
{{- if .Values.tracing.withKibana}}
- name: I3DH_ELK_ENABLED
value: "true"
{{- else if .Values.tracing.withDatadog }}
- name: I3DH_DATADOG_ENABLED
{{- end }}
{{- if .Values.tracing.withIntegrated.enabled }}
{{ include "i3dhub.tracing.jaeger.settings" . | indent 12 }}
{{- else if .Values.tracing.withOTel }}
- name: I3DH_OTEL_ENABLED
value: "true"
{{- end }}
{{- if .Values.tracing.additionalContainerEnv }}
......@@ -166,6 +162,10 @@ spec:
- name: i3dhub-config-generators
configMap:
name: i3dhub-config-generators
- name: i3dhub-nginx-ssl
secret:
secretName: apigw-tls-secret
optional: true
- name: local-nginx-config
emptyDir: {}
- name: local-nginx-log
......@@ -226,3 +226,18 @@ spec:
type: NodePort
{{- end }}
{{- end }}
---
apiVersion: v1
kind: Service
metadata:
name: i3dhub-apigw-authsvc-headless
spec:
selector:
app: i3dhub-apigw
clusterIP: None
ports:
- name: metrics
port: 6060
targetPort: 6060
......@@ -8,7 +8,7 @@ TODO: Find an automated way to list these with helm, .Files does not
work as we cannot access files in the templates/ folder. We need these to
be templated though as helm needs to be able modify them.
*/}}
{{ $services := tuple "AdminService.yml" "APIGateway.yml" "AuthService.yml" "BaseConfig.yml" "DeliveryService.yml" "EntryGateway.yml" "GeometricService.yml" "KeyStore.yml" "MeasurementService.yml" "QueryService.yml" "ResourceGateway.yml" "SharedSessionService.yml" "SpaceService.yml" "SpaceStore.yml" "SpaceStoreService.yml" "TrackerService.yml" "TranscoderService.yml" "UploadService.yml" "VisService.yml" "MigrateDatabases.yml" }}
{{ $services := tuple "AdminService.yml" "APIGateway.yml" "APIGatewayHTTP.yml" "APIGatewayHTTPS.yml" "AuthService.yml" "BaseConfig.yml" "DeliveryService.yml" "EntryGateway.yml" "GeometricService.yml" "KeyStore.yml" "MeasurementService.yml" "QueryService.yml" "ResourceGateway.yml" "SharedSessionService.yml" "SpaceService.yml" "SpaceStore.yml" "SpaceStoreService.yml" "TrackerServiceResGw.yml" "TrackerServiceGPU.yml" "TrackerServiceCPU.yml" "TranscoderService.yml" "UploadService.yml" "VisServiceResGw.yml" "VisServiceGPU.yml" "VisServiceCPU.yml" "MigrateDatabases.yml" }}
{{- $scope := . -}}
{{- range $_, $t := $services }}
{{- with $scope }}
......@@ -58,3 +58,91 @@ TODO: Find an automated way to list these with helm, .Files does not
{{ include $t . | indent 4 }}
{{- end }}
{{- end }}
{{- if .Values.tracing.withIntegrated.enabled }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: i3dhub-config-prometheus
data:
{{- /*
TODO: Find an automated way to list these with helm, .Files does not
work as we cannot access files in the templates/ folder. We need these to
be templated though as helm needs to be able modify them.
*/}}
{{ $cfgs := tuple "prometheus.yml" }}
{{- $scope := . -}}
{{- range $_, $t := $cfgs }}
{{- with $scope }}
{{ $t }}: |-
{{ include $t . | indent 4 }}
{{- end }}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: i3dhub-config-grafana-provision-dashboard
data:
{{- /*
TODO: Find an automated way to list these with helm, .Files does not
work as we cannot access files in the templates/ folder. We need these to
be templated though as helm needs to be able modify them.
*/}}
{{ $cfgs := tuple "dashboards.yml" }}
{{- $scope := . -}}
{{- range $_, $t := $cfgs }}
{{- with $scope }}
{{ $t }}: |-
{{ include $t . | indent 4 }}
{{- end }}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: i3dhub-config-grafana-provision-datasource
data:
{{- /*
TODO: Find an automated way to list these with helm, .Files does not
work as we cannot access files in the templates/ folder. We need these to
be templated though as helm needs to be able modify them.
*/}}
{{ $cfgs := tuple "datasources.yml" }}
{{- $scope := . -}}
{{- range $_, $t := $cfgs }}
{{- with $scope }}
{{ $t }}: |-
{{ include $t . | indent 4 }}
{{- end }}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: i3dhub-config-grafana-dashboards
data:
{{- /*
TODO: Find an automated way to list these with helm, .Files does not
work as we cannot access files in the templates/ folder. We need these to
be templated though as helm needs to be able modify them.
*/}}
{{ $cfgs := tuple "dashboard_main.json" "dashboard_transcoder.json" }}
{{- $scope := . -}}
{{- range $_, $t := $cfgs }}
{{- with $scope }}
{{ $t }}: |-
{{ include $t . | indent 4 }}
{{- end }}
{{- end }}
{{- end }} # .Values.tracing.withIntegrated.enabled
......@@ -36,12 +36,7 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "100Mi"
cpu: "0.05"
limits:
memory: "100Mi"
cpu: "0.1"
{{ .Values.resourceLimits.consul | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 8500
......
......@@ -52,8 +52,10 @@ spec:
secretKeyRef:
name: {{ .Values.credentials.rabbitmq.secretKeyRef.name }}
key: {{ .Values.credentials.rabbitmq.secretKeyRef.key }}
{{- if .Values.auth.signing.enabled }}
- name: KEYSTORE_ADDRESS
value: http://i3dhub-keystore:8080
{{- end }}
- name: CONSUL_ADDRESS
value: i3dhub-consul:8500
containers:
......@@ -67,12 +69,7 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "100Mi"
cpu: "0.1"
limits:
memory: "100Mi"
cpu: "0.2"
{{ .Values.resourceLimits.deliverysvc | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 8080
......@@ -81,13 +78,14 @@ spec:
value: i3dhub-elastic:9200
- name: I3DH_CONSUL_HOST
value: i3dhub-consul:8500
- name: JAEGER_COLLECTOR_HOSTS
value: i3dhub-jaeger-collector:14250
{{- if .Values.tracing.withJaeger }}
- name: I3DH_JAEGER_ELK_ENABLED
{{- if .Values.tracing.withKibana}}
- name: I3DH_ELK_ENABLED
value: "true"
{{- else if .Values.tracing.withDatadog }}
- name: I3DH_DATADOG_ENABLED
{{- end }}
{{- if .Values.tracing.withIntegrated.enabled }}
{{ include "i3dhub.tracing.jaeger.settings" . | indent 12 }}
{{- else if .Values.tracing.withOTel }}
- name: I3DH_OTEL_ENABLED
value: "true"
{{- end }}
{{- if .Values.tracing.additionalContainerEnv }}
......@@ -115,20 +113,13 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "100Mi"
cpu: "0.2"
limits:
memory: "100Mi"
cpu: "0.4"
{{ .Values.resourceLimits.authsvc | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 6060
env:
- name: I3DH_CONSUL_HOST
value: i3dhub-consul:8500
- name: JAEGER_COLLECTOR_HOSTS
value: i3dhub-jaeger-collector:14250
- name: POSTGRES_CONNECTION_STRING
valueFrom:
secretKeyRef:
......@@ -139,11 +130,14 @@ spec:
secretKeyRef:
name: {{ .Values.credentials.rabbitmq.secretKeyRef.name }}
key: {{ .Values.credentials.rabbitmq.secretKeyRef.key }}
{{- if .Values.tracing.withJaeger }}
- name: I3DH_JAEGER_ELK_ENABLED
{{- if .Values.tracing.withKibana}}
- name: I3DH_ELK_ENABLED
value: "true"
{{- else if .Values.tracing.withDatadog }}
- name: I3DH_DATADOG_ENABLED
{{- end }}
{{- if .Values.tracing.withIntegrated.enabled }}
{{ include "i3dhub.tracing.jaeger.settings" . | indent 12 }}
{{- else if .Values.tracing.withOTel }}
- name: I3DH_OTEL_ENABLED
value: "true"
{{- end }}
{{- if .Values.tracing.additionalContainerEnv }}
......@@ -190,3 +184,33 @@ spec:
ports:
- port: 8080
targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: i3dhub-deliverysvc-headless
spec:
selector:
app: i3dhub-deliverysvc
clusterIP: None
ports:
- name: metrics
port: 8080
targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: i3dhub-deliverysvc-authsvc-headless
spec:
selector:
app: i3dhub-deliverysvc
clusterIP: None
ports:
- name: metrics
port: 6060
targetPort: 6060
{{- if .Values.tracing.withJaeger }}
{{- if .Values.tracing.withKibana }}
# ELASTIC BEGIN
apiVersion: apps/v1
......@@ -40,12 +40,7 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "2000Mi"
cpu: "0.1"
limits:
memory: "2000Mi"
cpu: "0.2"
{{ .Values.resourceLimits.elasticsearch | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 9200 #TODO
......@@ -116,12 +111,7 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "800Mi"
cpu: "0.1"
limits:
memory: "800Mi"
cpu: "0.2"
{{ .Values.resourceLimits.kibana | toYaml | indent 12 }}
{{- end }}
ports:
- containerPort: 5601
......
......@@ -63,23 +63,21 @@ spec:
- containerPort: 8080
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: "75Mi"
cpu: "0.05"
limits:
memory: "75Mi"
cpu: "0.1"
{{ .Values.resourceLimits.entrygw | toYaml | indent 12 }}
{{- end }}
env:
- name: ELASTICSEARCH_HOSTS
value: i3dhub-elastic:9200
- name: I3DH_CONSUL_HOST
value: i3dhub-consul:8500
{{- if .Values.tracing.withJaeger }}
- name: I3DH_JAEGER_ELK_ENABLED
{{- if .Values.tracing.withKibana}}
- name: I3DH_ELK_ENABLED
value: "true"
{{- else if .Values.tracing.withDatadog }}
- name: I3DH_DATADOG_ENABLED
{{- end }}
{{- if .Values.tracing.withIntegrated.enabled }}
{{ include "i3dhub.tracing.jaeger.settings" . | indent 12 }}
{{- else if .Values.tracing.withOTel }}
- name: I3DH_OTEL_ENABLED
value: "true"
{{- end }}
{{- if .Values.tracing.additionalContainerEnv }}
......@@ -128,3 +126,18 @@ spec:
ports:
- port: 8080
targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: i3dhub-entrygw-headless
spec:
selector:
app: i3dhub-entrygw
clusterIP: None
ports:
- name: metrics
port: 8080
targetPort: 8080
{{- $numGeomServicePods := int .Values.numGeometricServicePods | default 0 -}}
apiVersion: apps/v1
kind: StatefulSet
metadata:
......@@ -68,24 +66,13 @@ spec:
{{- end }}
{{- if not .Values.resourceLimits.ignore }}
resources:
requests:
memory: {{ .Values.resourceLimits.geometric.requests.memory }}
cpu : {{ .Values.resourceLimits.geometric.requests.cpu }}
limits:
memory: {{ .Values.resourceLimits.geometric.limits.memory }}
{{- if .Values.resourceLimits.geometric.limits.cpu }}
cpu : {{ .Values.resourceLimits.geometric.limits.cpu }}
{{end -}}
{{ .Values.resourceLimits.geometric | toYaml | indent 12 }}
{{- end }}
env:
- name: ELASTICSEARCH_HOSTS
value: i3dhub-elastic:9200
- name: I3DH_CONSUL_HOST
value: i3dhub-consul:8500
- name: TALIC_LICENSE_FILE
value: /opt/instant3Dhub.custom/license.xml
- name: JAEGER_COLLECTOR_HOSTS
value: i3dhub-jaeger-collector:14250
- name: POSTGRES_CONNECTION_STRING
valueFrom:
secretKeyRef:
......@@ -96,11 +83,14 @@ spec:
secretKeyRef:
name: {{ .Values.credentials.rabbitmq.secretKeyRef.name }}
key: {{ .Values.credentials.rabbitmq.secretKeyRef.key }}
{{- if .Values.tracing.withJaeger }}
- name: I3DH_JAEGER_ELK_ENABLED
{{- if .Values.tracing.withKibana}}
- name: I3DH_ELK_ENABLED
value: "true"
{{- else if .Values.tracing.withDatadog }}
- name: I3DH_DATADOG_ENABLED
{{- end }}
{{- if .Values.tracing.withIntegrated.enabled }}
{{ include "i3dhub.tracing.jaeger.settings" . | indent 12 }}
{{- else if .Values.tracing.withOTel }}
- name: I3DH_OTEL_ENABLED
value: "true"
{{- end }}
{{- if .Values.tracing.additionalContainerEnv }}
......@@ -148,7 +138,10 @@ spec:
app: i3dhub-geometricsvc
clusterIP: None
ports:
{{- range $idx, $port := (untilStep 8080 (add 8080 .Values.numGeometricWorkerPerPod | int) 1)}}
- name: metrics
port: 8080
targetPort: 8080
{{- range $idx, $port := (untilStep 8081 (add 8081 .Values.numGeometricWorkerPerPod | int) 1)}}
- name: worker-{{ $idx }}
port: {{ $port }}
targetPort: {{ $port }}
......
{{- if .Values.tracing.withIntegrated.enabled }}