196 lines
5.7 KiB
YAML
196 lines
5.7 KiB
YAML
# 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
|