diff --git a/helm/ambient-local-exporter/Chart.lock b/helm/ambient-local-exporter/Chart.lock index 0d35145..b2f4eb5 100644 --- a/helm/ambient-local-exporter/Chart.lock +++ b/helm/ambient-local-exporter/Chart.lock @@ -2,5 +2,5 @@ dependencies: - name: hull repository: https://vidispine.github.io/hull version: 1.32.2 -digest: sha256:9dd0edc068e166b8eb990c3cd4cda72b48be33223883b26f9a27fcec454ac62e -generated: "2025-03-07T19:55:23.975447-05:00" +digest: sha256:7b73a7f152916fed9842efe4f65081b1cda0fcebd8f36d27e48136b608ce305f +generated: "2025-03-08T12:22:41.343082-05:00" diff --git a/helm/ambient-local-exporter/Chart.yaml b/helm/ambient-local-exporter/Chart.yaml index 61934ce..ff3edfc 100644 --- a/helm/ambient-local-exporter/Chart.yaml +++ b/helm/ambient-local-exporter/Chart.yaml @@ -26,6 +26,5 @@ appVersion: "0.9.0" dependencies: - name: hull repository: https://vidispine.github.io/hull - alias: exporter version: 1.32.2 diff --git a/helm/ambient-local-exporter/library-hull.yaml b/helm/ambient-local-exporter/library-hull.yaml new file mode 100644 index 0000000..6d338db --- /dev/null +++ b/helm/ambient-local-exporter/library-hull.yaml @@ -0,0 +1,643 @@ +################################ +### values.yaml for HULL +### The basic pre-configuration takes place here. +### +### Do not change this file, use additional values.hull.yaml +### to overwrite the selected fields! +################################ + +################################################### +### CONFIG +config: + general: + rbac: true + fullnameOverride: "" + nameOverride: "" + namespaceOverride: "" + noObjectNamePrefixes: false + createImagePullSecretsFromRegistries: true + globalImageRegistryServer: "" + globalImageRegistryToFirstRegistrySecretServer: false + serialization: + configmap: + enabled: true + fileExtensions: + json: toPrettyJson + yml: toYaml + yaml: toYaml + secret: + enabled: true + fileExtensions: + json: toPrettyJson + yml: toYaml + yaml: toYaml + render: + passes: 3 + emptyLabels: false + emptyAnnotations: false + emptyTemplateLabels: false + emptyTemplateAnnotations: false + emptyHullObjects: false + postRender: + globalStringReplacements: + instanceKey: + enabled: false + string: _HULL_OBJECT_TYPE_DEFAULT_ + replacement: OBJECT_INSTANCE_KEY + instanceKeyResolved: + enabled: false + string: _HULL_OBJECT_TYPE_DEFAULT_ + replacement: OBJECT_INSTANCE_KEY_RESOLVED + instanceName: + enabled: false + string: _HULL_OBJECT_TYPE_DEFAULT_ + replacement: OBJECT_INSTANCE_NAME + errorChecks: + objectYamlValid: true + hullGetTransformationReferenceValid: true + containerImageValid: true + virtualFolderDataPathExists: true + virtualFolderDataInlineValid: false + debug: + renderBrokenHullGetTransformationReferences: false + renderNilWhenInlineIsNil: false + renderPathMissingWhenPathIsNonExistent: false + metadata: + labels: + common: + 'app.kubernetes.io/managed-by': + 'app.kubernetes.io/version': + 'app.kubernetes.io/part-of': + 'app.kubernetes.io/name': + 'app.kubernetes.io/instance': + 'app.kubernetes.io/component': + 'helm.sh/chart': + 'vidispine.hull/version': + custom: {} + annotations: + hashes: false + custom: {} + data: {} + specific: {} + templates: + pod: + global: {} + container: + global: {} +################################################### + +################################################### +### OBJECTS +objects: + +# NAMESPACE + namespace: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + staticName: true + annotations: {} + labels: {} +################################################### + +# CONFIGMAPS + configmap: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# SECRETS + secret: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# REGISTRIES + registry: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# SERVICEACCOUNTS + serviceaccount: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + default: + enabled: _HT?eq (dig "serviceAccountName" "" _HT*hull.config.templates.pod.global) "" + annotations: {} + labels: {} +################################################### + +# ROLES + role: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: {} + default: + enabled: _HT?eq (dig "serviceAccountName" "" _HT*hull.config.templates.pod.global) "" + rules: {} +################################################### + +# ROLEBINDINGS + rolebinding: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + default: + enabled: _HT?eq (dig "serviceAccountName" "" _HT*hull.config.templates.pod.global) "" + roleRef: + apiGroup: "rbac.authorization.k8s.io" + kind: "Role" + name: _HT^default + subjects: + - kind: ServiceAccount + name: _HT^default + namespace: _HT**Release.Namespace +################################################### + +# CLUSTERROLES + clusterrole: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# CLUSTERROLEBINDINGS + clusterrolebinding: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# CUSTOMRESOURCEDEFINITIONS (deprecated with Helm3) +# customresourcedefinitions: +# _HULL_OBJECT_TYPE_DEFAULT_: +# enabled: true +# annotations: {} +# labels: {} +################################################### + +# CUSTOMRESOURCES + customresource: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# PERSISTENTVOLUMECLAIMS + persistentvolumeclaim: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# PERSISTENTVOLUMES + persistentvolume: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# STORAGECLASSES + storageclass: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# SERVICES + service: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + ports: + _HULL_OBJECT_TYPE_DEFAULT_: {} + +################################################### + +# INGRESSES + ingress: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + tls: + _HULL_OBJECT_TYPE_DEFAULT_: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: + http: + paths: + _HULL_OBJECT_TYPE_DEFAULT_: {} + +################################################### + +# INGRESSCLASSES + ingressclass: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + +################################################### + +# DEPLOYMENTS + deployment: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + templateAnnotations: {} + templateLabels: {} + pod: + initContainers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + containers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumes: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# JOBS + job: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + templateAnnotations: {} + templateLabels: {} + pod: + initContainers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + containers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumes: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# CRONJOBS + cronjob: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + job: + templateAnnotations: {} + templateLabels: {} + pod: + initContainers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + containers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumes: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# DAEMONSETS + daemonset: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + templateAnnotations: {} + templateLabels: {} + pod: + initContainers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + containers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumes: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# STATEFULSETS + statefulset: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + templateAnnotations: {} + templateLabels: {} + pod: + initContainers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + containers: + _HULL_OBJECT_TYPE_DEFAULT_: + env: + _HULL_OBJECT_TYPE_DEFAULT_: {} + envFrom: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumeMounts: + _HULL_OBJECT_TYPE_DEFAULT_: {} + volumes: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# SERVICEMONITORS + servicemonitor: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# HORIZONTALPODAUTOSCALER + horizontalpodautoscaler: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# PODDISRUPTIONBUDGET + poddisruptionbudget: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# PRIORITYCLASS + priorityclass: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# ENDPOINTS + endpoints: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# ENDPOINTSLICE + endpointslice: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# LIMITRANGE + limitrange: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################### + +# MUTATINGWEBHOOKCONFIGURATION + mutatingwebhookconfiguration: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + webhooks: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# VALIDATINGWEBHOOKCONFIGURATION + validatingwebhookconfiguration: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + webhooks: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################### + +# RESOURCEQUOTA + resourcequota: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################## + +# NETWORKPOLICY + networkpolicy: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################## + +# GATEWAY API - BACKENDLBPOLICY + backendlbpolicy: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + targetRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + +################################################## + +# GATEWAY API - BACKENDTLSPOLICY + backendtlspolicy: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + targetRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## + +# GATEWAY API - GATEWAYCLASS + gatewayclass: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} +################################################## + +# GATEWAY API - GATEWAY + gateway: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + addresses: + _HULL_OBJECT_TYPE_DEFAULT_: {} + listeners: + _HULL_OBJECT_TYPE_DEFAULT_: + tls: + certificateRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + frontendValidation: + caCertificateRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + allowedRoutes: + kinds: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## + +# GATEWAY API - GRPCROUTE + grpcroute: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + parentRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: + matches: + _HULL_OBJECT_TYPE_DEFAULT_: {} + filters: + _HULL_OBJECT_TYPE_DEFAULT_: {} + backendRefs: + _HULL_OBJECT_TYPE_DEFAULT_: + filters: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## + +# GATEWAY API - REFERENCEGRANT + referencegrant: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + from: + _HULL_OBJECT_TYPE_DEFAULT_: {} + to: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## + +# GATEWAY API - TCPROUTE + tcproute: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + parentRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: + backendRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## + +# GATEWAY API - TLSROUTE + tlsroute: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + parentRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: + backendRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## + +# GATEWAY API - UDPROUTE + udproute: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + parentRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: + backendRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## + +# GATEWAY API - HTTPROUTE + httproute: + _HULL_OBJECT_TYPE_DEFAULT_: + enabled: true + annotations: {} + labels: {} + parentRefs: + _HULL_OBJECT_TYPE_DEFAULT_: {} + rules: + _HULL_OBJECT_TYPE_DEFAULT_: + matches: + _HULL_OBJECT_TYPE_DEFAULT_: {} + filters: + _HULL_OBJECT_TYPE_DEFAULT_: {} + backendRefs: + _HULL_OBJECT_TYPE_DEFAULT_: + filters: + _HULL_OBJECT_TYPE_DEFAULT_: {} +################################################## diff --git a/helm/ambient-local-exporter/templates/exporter.yaml b/helm/ambient-local-exporter/templates/exporter.yaml index 0ba8d43..1739244 100644 --- a/helm/ambient-local-exporter/templates/exporter.yaml +++ b/helm/ambient-local-exporter/templates/exporter.yaml @@ -1 +1 @@ -{{- include "hull.objects.prepare.all" (dict "HULL_ROOT_KEY" "exporter" "ROOT_CONTEXT" $) }} +{{- include "hull.objects.prepare.all" (dict "HULL_ROOT_KEY" "hull" "ROOT_CONTEXT" $) }} diff --git a/helm/ambient-local-exporter/values.yaml b/helm/ambient-local-exporter/values.yaml index 5cf7f37..5d5bb1e 100644 --- a/helm/ambient-local-exporter/values.yaml +++ b/helm/ambient-local-exporter/values.yaml @@ -1,45 +1,98 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/vidispine/hull/refs/heads/main/hull/values.schema.json -exporter: +hull: config: - specific: - application_version: v0.9.0 + settings: + 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: + ## App Config + environment: production + name: ambient-local-exporter + logging: + level: info + format: json + output: stdout + timeFormat: rfc3339 + http: + listen: :8080 + logRequests: false + grpc: + enabled: true + listen: :8081 + logRequests: true + enableReflection: true + enableInstrumentation: true + otel: + enabled: true + metricIntervalSecs: 30 + stdoutEnabled: false + ## Ambient Config + metricPrefix: weather + weatherStations: + [] + # - name: Home Weather Station + # equipment: Ambient WS-2909 + # awnPassKey: D3:AD:B3:3F:00:00 + # proxyToAWN: true + # proxyToWunderground: false + # keepMetrics: + # - BaromAbsoluteIn + # - BaromRelativeIn + # - HumidityIndoor + # - StationType + # - TempIndoorF + # discardMetrics: [] + # - name: Shop Weather Station + # equipment: Ambient WS-5000 + # awnPassKey: D3:AD:B3:3F:00:00 + # wundergroundID: KINCOLUMXXX + # wundergroundPassword: somekey + # proxyToAWN: true + # proxyToWunderground: true + # keepMetrics: [] + # discardMetrics: [] + # sensorMappings: + # TempHumiditySensor1: Deep Freezer + general: + rbac: false + render: + passes: 3 metadata: labels: app: ambient-local-exporter objects: configmap: - environment: - data: - OTEL_EXPORTER_OTLP_ENDPOINT: - inline: http://otel.otel.svc.cluster.local:4317 # Set to your otel collector - OTEL_SERVICE_NAME: - inline: ambient-local-exporter - OTEL_RESOURCE_ATTRIBUTES: - inline: helm.chart=ambient-local-exporter,app=ambient-local-exporter config: data: config.yaml: serialization: toYaml inline: - ## App Config - environment: production - name: ambient-local-exporter - logging: - level: info - format: json - output: stdout - timeFormat: rfc3339 - http: - listen: :8080 - logRequests: false - otel: - enabled: true - metricIntervalSecs: 30 - stdoutEnabled: false - ## Ambient Config - metricPrefix: weather - weatherStations: [] + _HT!{{ _HT*hull.config.appConfig | toYaml }} + environment: + data: + OTEL_EXPORTER_OTLP_ENDPOINT: + serialization: none + inline: _HT*hull.config.settings.otlp_endpoint + OTEL_SERVICE_NAME: + serialization: none + inline: _HT*hull.config.settings.otel_service_name + OTEL_RESOURCE_ATTRIBUTES: + serialization: none + inline: _HT*hull.config.settings.otel_resource_attributes + serviceaccount: + default: + enabled: false + role: + default: + enabled: false + rolebinding: + default: + enabled: false deployment: ambient-local-exporter: @@ -47,18 +100,18 @@ exporter: containers: main: image: - repository: gitea.libretechconsulting.com/rmcguire/ambient-local-exporter - tag: _HT*exporter.config.specific.application_version + repository: _HT*hull.config.settings.repo + tag: _HT*hull.config.settings.tag imagePullPolicy: Always ports: http: containerPort: 8080 grpc: containerPort: 8081 - # envFrom: - # main: - # configMapRef: - # name: environment + envFrom: + main: + configMapRef: + name: environment volumeMounts: config: name: config