# yaml-language-server: $schema=https://raw.githubusercontent.com/vidispine/hull/refs/heads/main/hull/values.schema.json hull: config: ## go-server-with-otel custom settings (config.yaml) appConfig: # Custom app config timezone: EST5EDT opts: factLang: en factType: random # go-app config name: Demo go-app logging: format: json level: debug enabled: true otel: enabled: true stdoutEnabled: false http: enabled: true listen: :8080 logRequests: true grpc: enabled: true enableReflection: true listen: :8081 grpcGatewayPath: /api enableGRPCGateway: true enableInstrumentation: true logRequests: true ## Chart settings settings: resources: {} # Applies to the app container repo: gitea.libretechconsulting.com/rmcguire/go-server-with-otel tag: _HT**Chart.AppVersion httpPort: 8080 # Should match appConfig http.listen grpcPort: 8081 # Should match appConfig grpc.listen # Use this as a shortcut, or create your own hull.objects.httproute httproute: enabled: false hostnames: - app.mydomain.com gatewayName: istio-ingressgateway gatewayNamespace: istio-system # Use this as a shortcut, or create your own hull.objects.grpcroute grpcroute: enabled: false hostnames: - app.mydomain.com gatewayName: istio-ingressgateway gatewayNamespace: istio-system otelServiceName: go-server-with-otel otelResourceAttributes: app=go-server-with-otel otlpEndpoint: http://otel.otel.svc.cluster.local:4317 # Replace me serviceType: ClusterIP serviceLbIP: "" # Used if serviceTyps=LoadBalancer general: rbac: false render: passes: 2 # Applies to all objects metadata: labels: custom: app: _HT**Release.Name version: _HT**Chart.AppVersion objects: configmap: config: data: config.yaml: serialization: toYaml inline: _HT*hull.config.appConfig environment: data: OTEL_EXPORTER_OTLP_ENDPOINT: serialization: none inline: _HT*hull.config.settings.otlpEndpoint OTEL_SERVICE_NAME: serialization: none inline: _HT*hull.config.settings.otelServiceName OTEL_RESOURCE_ATTRIBUTES: serialization: none inline: _HT! {{ printf "deployment.name=%s,%s" _HT**Release.Name _HT*hull.config.settings.otelResourceAttributes }} serviceaccount: default: enabled: false role: default: enabled: false rolebinding: default: enabled: false deployment: main: pod: containers: main: image: repository: _HT*hull.config.settings.repo tag: _HT*hull.config.settings.tag imagePullPolicy: Always args: - -config - /app/config.yaml ports: http: containerPort: _HT*hull.config.settings.httpPort grpc: containerPort: _HT*hull.config.settings.grpcPort envFrom: main: configMapRef: name: environment resources: _HT*hull.config.settings.resources readinessProbe: httpGet: path: /health port: 8080 scheme: HTTP periodSeconds: 10 failureThreshold: 2 livenessProbe: httpGet: path: /health port: 8080 scheme: HTTP periodSeconds: 10 failureThreshold: 2 volumeMounts: config: name: config mountPath: /app/config.yaml subPath: config.yaml volumes: environment: configMap: name: environment config: configMap: name: config service: main: type: _HT*hull.config.settings.serviceType loadBalancerIP: _HT*hull.config.settings.serviceLbIP ports: http: port: _HT*hull.config.settings.httpPort targetPort: http grpc: port: _HT*hull.config.settings.grpcPort targetPort: grpc httproute: main: enabled: _HT*hull.config.settings.httproute.enabled hostnames: _HT*hull.config.settings.httproute.hostnames parentRefs: - group: gateway.networking.k8s.io kind: Gateway name: _HT*hull.config.settings.httproute.gatewayName namespace: _HT*hull.config.settings.httproute.gatewayNamespace rules: - backendRefs: - group: "" kind: Service name: _HT^main port: _HT*hull.config.settings.httpPort grpcroute: main: enabled: _HT*hull.config.settings.grpcroute.enabled hostnames: _HT*hull.config.settings.grpcroute.hostnames parentRefs: - group: gateway.networking.k8s.io kind: Gateway name: _HT*hull.config.settings.grpcroute.gatewayName namespace: _HT*hull.config.settings.grpcroute.gatewayNamespace rules: - backendRefs: - group: "" kind: Service name: _HT^main port: _HT*hull.config.settings.grpcPort