Skip to content

Helm Values

This page documents all available Helm values for customizing your TRIGRA installation.

Terminal window
helm install trigra ./helm/trigra \
--set replicaCount=2 \
--set github.webhookSecret="your-secret" \
--set service.type=NodePort
# Number of pod replicas
replicaCount: 1

For high availability, set to 2 or more.


image:
repository: taiwrash/trigra
pullPolicy: IfNotPresent
tag: "latest" # Overrides chart appVersion
ValueDefaultDescription
repositorytaiwrash/trigraDocker image repository
pullPolicyIfNotPresentWhen to pull the image
taglatestImage tag to deploy

service:
type: LoadBalancer
port: 80
nodePort: "" # Only used if type is NodePort
ValueDefaultDescription
typeLoadBalancerService type: LoadBalancer, NodePort, ClusterIP
port80Service port
nodePort""Specific NodePort (30000-32767)

Examples:

Terminal window
# NodePort with specific port
helm install trigra ./helm/trigra \
--set service.type=NodePort \
--set service.nodePort=30080
# ClusterIP (internal only)
helm install trigra ./helm/trigra \
--set service.type=ClusterIP

github:
token: ""
webhookSecret: ""
ValueDefaultDescription
token""GitHub token for private repos (optional)
webhookSecret""Required. Secret for webhook validation

resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi

Adjust based on your cluster capacity.


nodeSelector: {}
# Example:
# nodeSelector:
# kubernetes.io/arch: amd64
# node-type: worker

tolerations: []
# Example:
# tolerations:
# - key: "dedicated"
# operator: "Equal"
# value: "trigra"
# effect: "NoSchedule"

affinity: {}
# Example for anti-affinity:
# affinity:
# podAntiAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchLabels:
# app: trigra
# topologyKey: kubernetes.io/hostname

namespace: default

The namespace where TRIGRA deploys resources. Different from the namespace where TRIGRA itself runs.


serviceAccount:
create: true
name: "" # If empty, uses release name
annotations: {}

podAnnotations: {}
# Example:
# podAnnotations:
# prometheus.io/scrape: "true"
# prometheus.io/port: "8080"

securityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000

values-production.yaml
replicaCount: 3
image:
repository: taiwrash/trigra
tag: "v1.0.0"
pullPolicy: Always
service:
type: LoadBalancer
port: 80
github:
webhookSecret: "" # Set via --set
namespace: production
resources:
limits:
cpu: 1000m
memory: 512Mi
requests:
cpu: 200m
memory: 256Mi
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: trigra
topologyKey: kubernetes.io/hostname
podAnnotations:
prometheus.io/scrape: "true"

Deploy with:

Terminal window
helm install trigra ./helm/trigra \
-f values-production.yaml \
--set github.webhookSecret="$WEBHOOK_SECRET"