Skip to content

Commit cb6b0ea

Browse files
authored
Merge pull request #32 from StackStorm/feature/st2scheduler
Add new st2 service st2scheduler
2 parents 06dfeba + 3166e22 commit cb6b0ea

File tree

5 files changed

+92
-1
lines changed

5 files changed

+92
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
# Changelog
22

33
## In Development
4+
5+
6+
## v0.7.0
47
* Add new Helm `st2.keyvalue` to import data into st2 K/V storage (#30)
8+
* Include new st2 component `st2scheduler`, introduced since st2 `v3.0` (#32)
59

610
## v0.6.0
711
* Add StackStorm FOSS (community version), make Enterprise install optional (#22)

Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v1
22
# Update StackStorm version here to rely on other Docker images tags
33
appVersion: 3.0dev
44
name: stackstorm-ha
5-
version: 0.6.0
5+
version: 0.7.0
66
description: StackStorm K8s Helm Chart, optimized for running StackStorm in HA environment.
77
home: https://stackstorm.com/#product
88
icon: https://avatars1.githubusercontent.com/u/4969009

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ All the workflow engine processes will share the load and pick up more work if o
102102
> As Mistral is going to be deprecated and removed from StackStorm platform soon, Helm chart relies only on
103103
> [Orquesta st2workflowengine](https://docs.stackstorm.com/orchestra/index.html) as a new native workflow engine.
104104
105+
### [st2scheduler](https://docs.stackstorm.com/reference/ha.html#st2scheduler)
106+
TODO: Description TBD
107+
105108
### [st2notifier](https://docs.stackstorm.com/reference/ha.html#st2notifier)
106109
Multiple st2notifier processes can run in active-active mode, using connections to RabbitMQ and MongoDB and generating triggers based on
107110
action execution completion as well as doing action rescheduling.

templates/deployments.yaml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,80 @@ spec:
629629
{{ toYaml . | indent 8 }}
630630
{{- end }}
631631

632+
---
633+
apiVersion: apps/v1
634+
kind: Deployment
635+
metadata:
636+
name: {{ .Release.Name }}-st2scheduler{{ template "enterpriseSuffix" . }}
637+
labels:
638+
app: st2scheduler
639+
tier: backend
640+
vendor: stackstorm
641+
support: {{ template "supportMethod" . }}
642+
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
643+
release: {{ .Release.Name }}
644+
heritage: {{ .Release.Service }}
645+
spec:
646+
selector:
647+
matchLabels:
648+
app: st2scheduler
649+
support: {{ template "supportMethod" . }}
650+
release: {{ .Release.Name }}
651+
# https://docs.stackstorm.com/reference/ha.html#st2scheduler
652+
replicas: {{ default 2 .Values.st2scheduler.replicas }}
653+
template:
654+
metadata:
655+
labels:
656+
app: st2scheduler
657+
tier: backend
658+
vendor: stackstorm
659+
support: {{ template "supportMethod" . }}
660+
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
661+
release: {{ .Release.Name }}
662+
heritage: {{ .Release.Service }}
663+
annotations:
664+
checksum/config: {{ include (print $.Template.BasePath "/configmaps_st2-conf.yaml") . | sha256sum }}
665+
spec:
666+
{{- if .Values.enterprise.enabled }}
667+
imagePullSecrets:
668+
- name: {{ .Release.Name }}-st2-license
669+
{{- end }}
670+
containers:
671+
- name: st2scheduler{{ template "enterpriseSuffix" . }}
672+
image: "{{ template "imageRepository" . }}/st2scheduler{{ template "enterpriseSuffix" . }}:{{ .Chart.AppVersion }}"
673+
imagePullPolicy: {{ .Values.image.pullPolicy }}
674+
# TODO: Add liveness/readiness probes (#3)
675+
#livenessProbe:
676+
#readinessProbe:
677+
envFrom:
678+
- configMapRef:
679+
name: {{ .Release.Name }}-st2-urls
680+
volumeMounts:
681+
- name: st2-config-vol
682+
mountPath: /etc/st2/st2.docker.conf
683+
subPath: st2.docker.conf
684+
- name: st2-config-vol
685+
mountPath: /etc/st2/st2.user.conf
686+
subPath: st2.user.conf
687+
resources:
688+
{{ toYaml .Values.st2scheduler.resources | indent 10 }}
689+
volumes:
690+
- name: st2-config-vol
691+
configMap:
692+
name: {{ .Release.Name }}-st2-config
693+
{{- with .Values.st2scheduler.nodeSelector }}
694+
nodeSelector:
695+
{{ toYaml . | indent 8 }}
696+
{{- end }}
697+
{{- with .Values.st2scheduler.affinity }}
698+
affinity:
699+
{{ toYaml . | indent 8 }}
700+
{{- end }}
701+
{{- with .Values.st2scheduler.tolerations }}
702+
tolerations:
703+
{{ toYaml . | indent 8 }}
704+
{{- end }}
705+
632706
---
633707
apiVersion: apps/v1
634708
kind: Deployment

values.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,16 @@ st2workflowengine:
277277
nodeSelector: {}
278278
tolerations: []
279279
affinity: {}
280+
# https://docs.stackstorm.com/reference/ha.html#st2scheduler
281+
# TODO: Description TBD
282+
st2scheduler:
283+
replicas: 2
284+
# TODO: Find out recommended/default resources for this specific service (#5)
285+
resources: {}
286+
# Additional advanced settings to control pod/deployment placement
287+
nodeSelector: {}
288+
tolerations: []
289+
affinity: {}
280290
# https://docs.stackstorm.com/reference/ha.html#st2notifier
281291
# st2notifier runs in active-active mode and requires for that coordination backend like Redis or Zookeeper
282292
st2notifier:

0 commit comments

Comments
 (0)