implement hull helm chart

This commit is contained in:
Ryan McGuire 2025-03-08 16:08:41 -05:00
parent 48828bf8d0
commit a99e52ae4c
2 changed files with 87 additions and 23 deletions

1
.gitignore vendored
View File

@ -30,3 +30,4 @@ config.y*ml
docker-compose.yml docker-compose.yml
.vscode .vscode
helm/values*.y*ml

View File

@ -1,13 +1,7 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/vidispine/hull/refs/heads/main/hull/values.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/vidispine/hull/refs/heads/main/hull/values.schema.json
hull: hull:
config: config:
settings: ## Ambient-Local-Exporter settings (config.yaml)
repo: gitea.libretechconsulting.com/rmcguire/ambient-local-exporter
# tag: _HT!{{ printf "%s%s" "v" _HT**Chart.AppVersion }}
tag: _HT**Chart.AppVersion
otel_service_name: "ambient-local-exporter"
otel_resource_attributes: helm.chart=_HT**Release.Name,app=ambient-local-exporter
otlp_endpoint: "http://otel.otel.svc.cluster.local:4317" # Replace me
appConfig: appConfig:
## App Config ## App Config
environment: production environment: production
@ -57,13 +51,48 @@ hull:
# discardMetrics: [] # discardMetrics: []
# sensorMappings: # sensorMappings:
# TempHumiditySensor1: Deep Freezer # TempHumiditySensor1: Deep Freezer
## Chart settings
settings:
resources: {} # Applies to the exporter container
repo: gitea.libretechconsulting.com/rmcguire/ambient-local-exporter
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: true
hostnames:
- ambient-local-exporter.mydomain.com
gatewayName: istio-ingressgateway
gatewayNamespace: istio-system
# Use this as a shortcut, or create your own hull.objects.grpcroute
grpcroute:
enabled: true
hostnames:
- ambient-local-exporter.mydomain.com
gatewayName: istio-ingressgateway
gatewayNamespace: istio-system
otelServiceName: ambient-local-exporter
otelResourceAttributes: app=ambient-local-exporter
otlpEndpoint: http://otel.otel.svc.cluster.local:4317 # Replace me
serviceType: ClusterIP
serviceLbIP: "" # Used if serviceTyps=LoadBalancer
general: general:
rbac: false rbac: false
render: render:
passes: 3 passes: 2
# Applies to all objects
metadata: metadata:
labels: labels:
app: ambient-local-exporter custom:
app: _HT**Release.Name
version: _HT**Chart.AppVersion
objects: objects:
configmap: configmap:
@ -72,18 +101,19 @@ hull:
config.yaml: config.yaml:
serialization: toYaml serialization: toYaml
inline: inline:
_HT!{{ _HT*hull.config.appConfig | toYaml }} _HT*hull.config.appConfig
environment: environment:
data: data:
OTEL_EXPORTER_OTLP_ENDPOINT: OTEL_EXPORTER_OTLP_ENDPOINT:
serialization: none serialization: none
inline: _HT*hull.config.settings.otlp_endpoint inline: _HT*hull.config.settings.otlpEndpoint
OTEL_SERVICE_NAME: OTEL_SERVICE_NAME:
serialization: none serialization: none
inline: _HT*hull.config.settings.otel_service_name inline: _HT*hull.config.settings.otelServiceName
OTEL_RESOURCE_ATTRIBUTES: OTEL_RESOURCE_ATTRIBUTES:
serialization: none serialization: none
inline: _HT*hull.config.settings.otel_resource_attributes inline: _HT!
{{ printf "deployment.name=%s,%s" _HT**Release.Name _HT*hull.config.settings.otelResourceAttributes }}
serviceaccount: serviceaccount:
default: default:
enabled: false enabled: false
@ -95,19 +125,19 @@ hull:
enabled: false enabled: false
deployment: deployment:
ambient-local-exporter: main:
pod: pod:
containers: containers:
main: main:
image: image:
repository: _HT*hull.config.settings.repo repository: _HT*hull.config.settings.repo
tag: _HT*hull.config.settings.tag tag: _HT!{{ printf "v%s" _HT*hull.config.settings.tag }}
imagePullPolicy: Always imagePullPolicy: Always
ports: ports:
http: http:
containerPort: 8080 containerPort: _HT*hull.config.settings.httpPort
grpc: grpc:
containerPort: 8081 containerPort: _HT*hull.config.settings.grpcPort
envFrom: envFrom:
main: main:
configMapRef: configMapRef:
@ -126,12 +156,45 @@ hull:
name: config name: config
service: service:
ambient-local-exporter: main:
type: ClusterIP type: _HT*hull.config.settings.serviceType
loadBalancerIP: _HT*hull.config.settings.serviceLbIP
ports: ports:
http: http:
port: 8080 port: _HT*hull.config.settings.httpPort
targetPort: http targetPort: http
grpc: grpc:
port: 8081 port: _HT*hull.config.settings.grpcPort
targetPort: grpc 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