Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ webmethods/terracottabigmemorymax 1.4.0 4.4.0 Terracot
webmethods/terracottabigmemorymax 2.1.1 4.5.0 Terracotta BigMemory Max Helm Chart for Kubernetes
webmethods/terracotta 1.0.0 < 11.1.0.12 Terracotta Helm Chart for Kubernetes
webmethods/terracotta 2.0.0 >= 11.1.0.12 Terracotta Helm Chart for Kubernetes
webmethods/terracotta 3.0.0 12.x Terracotta Helm Chart for Kubernetes
webmethods/terracotta 3.1.0 12.x Terracotta Helm Chart for Kubernetes
webmethods/universalmessaging 1.1.0 10.15 Universal Messaging (UM) Helm Chart for Kubernetes
webmethods/apianalyticstore 1.0.0 1.0 API Analytics Store Helm Chart for Kubernetes
```
Expand Down
2 changes: 1 addition & 1 deletion terracotta/helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: "3.0.0"
version: "3.1.0"

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
372 changes: 248 additions & 124 deletions terracotta/helm/README.md

Large diffs are not rendered by default.

361 changes: 238 additions & 123 deletions terracotta/helm/README.md.gotmpl

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions terracotta/helm/templates/operator/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ spec:
- name: {{ $key }}
value: {{ $val }}
{{- end }}
{{- range $key, $val := .Values.terracottaOperator.extraEnvs }}
- name: {{ $key }}
value: {{ $val }}
{{- end }}

serviceAccountName: {{ template "kube-terracotta.operator.serviceAccountName" . }}
{{- with .Values.imagePullSecrets }}
Expand Down
4 changes: 4 additions & 0 deletions terracotta/helm/templates/terracotta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ spec:
- name: {{ $key }}
value: {{ $val }}
{{- end }}
{{- range $key, $val := .Values.terracotta.extraEnvs }}
- name: {{ $key }}
value: {{ $val }}
{{- end }}
{{- if (gt (int .Values.terracotta.voters) 0) }}
voters: {{ .Values.terracotta.voters }}
{{- end }}
Expand Down
4 changes: 4 additions & 0 deletions terracotta/helm/templates/tms-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ spec:
- name: {{ $key }}
value: {{ $val }}
{{- end }}
{{- range $key, $val := .Values.tms.extraEnvs }}
- name: {{ $key }}
value: {{ $val }}
{{- end }}
ports:
- name: tmc-port
containerPort: 9480
Expand Down
20 changes: 20 additions & 0 deletions terracotta/helm/templates/trg-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "kube-terracotta.fullname" . }}-trg-service
namespace: {{ template "kube-terracotta.namespace" . }}
labels:
app: "trg"
{{- include "common.labels.standard" . | nindent 4 }}
{{- include "kube-terracotta.labels" . | nindent 4 }}
{{- with .Values.extraLabels -}}
{{ toYaml . | nindent 4 }}
{{- end }}
spec:
type: ClusterIP
clusterIP: None
ports:
- name: trg-port
port: 8080
selector:
app: "trg"
109 changes: 109 additions & 0 deletions terracotta/helm/templates/trg-statefulset.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ template "kube-terracotta.fullname" . }}-trg
namespace: {{ template "kube-terracotta.namespace" . }}
labels:
app: "trg"
{{- include "common.labels.standard" . | nindent 4 }}
{{- include "kube-terracotta.labels" . | nindent 4 }}
{{- with .Values.extraLabels -}}
{{ toYaml . | nindent 4 }}
{{- end }}
spec:
replicas: 1
selector:
matchLabels:
app: "trg"
serviceName: {{ template "kube-terracotta.fullname" . }}-trg-service
template:
metadata:
labels:
app: "trg"
spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 8 }}
serviceAccountName: {{ template "kube-terracotta.fullname" . }}-sa
{{- with .Values.trg.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.trg.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.terracotta.security.isConfigured }}
initContainers:
- name: "trg-server-init"
image: busybox:latest
imagePullPolicy: {{ .Values.pullPolicy }}
command: ["/bin/sh", "-c", "tar -xzf /certs/trg/security.tar.gz --directory /opt/terracotta/config"]
volumeMounts:
- name: trg-security-volume
mountPath: /certs/trg
- name: emptydir
mountPath: /opt/terracotta/config
{{- end }}
containers:
- name: "trg-server"
image: "{{ $.Values.trg.trgImage }}:{{ $.Values.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.pullPolicy }}
env:
- name: TRG_CONNECTION_URL
value: "terracotta://{{ template "serverUrl" . }}"
- name: TRG_CONFIG_FILE
value: "/opt/terracotta/config/rest-gateway.properties"
- name: TRG_CONNECTION_TIMEOUT
value: {{ .Values.trg.connectionTimeout | quote }}
- name: "JSON_LOGGING"
value: {{ .Values.trg.jsonLogging | quote }}
- name: "JSON_LOGGING_AUDIT"
value: {{ .Values.trg.jsonAuditLogging | quote }}
- name: "JSON_LOGGING_SECURITY"
value: {{ .Values.trg.jsonSecurityLogging | quote }}
{{- range $key, $val := .Values.extraEnvs }}
- name: {{ $key }}
value: {{ $val }}
{{- end }}
{{- range $key, $val := .Values.tms.extraEnvs }}
- name: {{ $key }}
value: {{ $val }}
{{- end }}
ports:
- name: trg-port
containerPort: 8080
volumeMounts:
- name: trgdata
mountPath: /opt/terracotta/run
{{- if .Values.terracotta.security.isConfigured }}
- name: emptydir
mountPath: /opt/terracotta/config
{{- end }}
{{- if .Values.trg.resources }}
resources:
{{ toYaml .Values.trg.resources | indent 12 }}
{{- end }}
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.terracotta.security.isConfigured }}
volumes:
- name: trg-security-volume
configMap:
name: {{ template "kube-terracotta.fullname" . }}-trg-security-configmap
- name: emptydir
emptyDir:
{{- end }}
volumeClaimTemplates:
- metadata:
name: trgdata
spec:
volumeMode: "Filesystem"
accessModes: [ "ReadWriteOnce" ]
{{- if .Values.storageClass }}
storageClassName: {{ .Values.storageClass }}
{{- end }}
resources:
requests:
storage: {{ .Values.trg.storage }}
25 changes: 23 additions & 2 deletions terracotta/helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ securityContext:
# -- Extra Labels
extraLabels: {}

# -- Exta environment properties to be passed on to the terracotta runtime
# -- Extra environment properties to be passed on to the terracotta runtime
# extraEnvs:
# name: extraEnvironmentVariable
# value: "myvalue"
Expand All @@ -37,6 +37,8 @@ terracottaOperator:
name: ""
connectionTimeout: "30s"
requestTimeout: "30s"
# -- Extra environment properties to be passed to the container
extraEnvs:

terracotta:
serverImage: "ibmwebmethods.azurecr.io/terracotta-server"
Expand Down Expand Up @@ -67,6 +69,8 @@ terracotta:
affinity:
# -- Configure pod topologySpreadConstraints for terracotta server
topologySpreadConstraints:
# -- Extra environment properties to be passed to the container
extraEnvs:

tms:
tmsImage: "ibmwebmethods.azurecr.io/terracotta-management-server"
Expand All @@ -75,6 +79,8 @@ tms:
jsonSecurityLogging: true
storage: 5Gi
resources: {}
# -- Extra environment properties to be passed to the container
extraEnvs:
# limits:
# memory: 16Gi
# requests:
Expand All @@ -89,4 +95,19 @@ trg:
trgImage: "ibmwebmethods.azurecr.io/terracotta-rest-gateway"
jsonLogging: false
jsonAuditLogging: true
jsonSecurityLogging: true
jsonSecurityLogging: true
# -- Connection timeout before failing the server. This is currently not possible to set it to infinite using 0 (issue: TDB-21419).
connectionTimeout: "604800"
storage: 1Gi
resources: {}
# -- Extra environment properties to be passed to the container
extraEnvs:
# limits:
# memory: 2Gi
# requests:
# memory: 512Mi

# -- Configure pod affinity for the REST gateway
affinity:
# -- Configure pod topologySpreadConstraints for the REST gateway
topologySpreadConstraints:
Loading