Skip to content

Commit 8649a0c

Browse files
feat(helm): Add opensearch to cogstack-helm-ce (#46)
* feat(helm): Make opensearch optional * feat(helm): Update Chart.lock * build(helm): Add helm Chart testing config yaml
1 parent e35feb6 commit 8649a0c

9 files changed

Lines changed: 60 additions & 9 deletions

File tree

.github/linters/ct.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# See https://github.com/helm/chart-testing#configuration
2+
remote: origin
3+
target-branch: main
4+
chart-dirs:
5+
- deployment/kubernetes/charts
6+
helm-extra-args: --timeout 1000s
7+
chart-repos:
8+
- opensearch=https://opensearch-project.github.io/helm-charts

.github/workflows/kubernetes-charts-build.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
id: list-changed
4343
working-directory: .
4444
run: |
45-
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }} --chart-dirs deployment/kubernetes/charts)
45+
changed=$(ct list-changed --config .github/linters/ct.yaml)
4646
if [[ -n "$changed" ]]; then
4747
echo "changed=true" >> "$GITHUB_OUTPUT"
4848
fi
@@ -66,7 +66,7 @@ jobs:
6666
working-directory: .
6767
env:
6868
CT_CHECK_VERSION_INCREMENT: "false"
69-
run: ct lint --target-branch ${{ github.event.repository.default_branch }} --chart-dirs deployment/kubernetes/charts
69+
run: ct lint --config .github/linters/ct.yaml
7070

7171
- name: Create kind cluster
7272
if: steps.list-changed.outputs.changed == 'true'
@@ -75,7 +75,7 @@ jobs:
7575
- name: Run chart-testing (install)
7676
if: steps.list-changed.outputs.changed == 'true'
7777
working-directory: .
78-
run: ct install --target-branch ${{ github.event.repository.default_branch }} --chart-dirs deployment/kubernetes/charts
78+
run: ct install --config .github/linters/ct.yaml
7979

8080
helm-publish:
8181
runs-on: ubuntu-latest

deployment/kubernetes/charts/cogstack-helm-ce/Chart.lock

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,11 @@ dependencies:
88
- name: medcat-trainer-helm
99
repository: file://../medcat-trainer-helm
1010
version: 0.0.1
11-
digest: sha256:08371a768a9f330606777903fab163ca84918222bbe3f516fab2772f5563d390
12-
generated: "2026-02-26T15:00:09.073243923Z"
11+
- name: opensearch
12+
repository: https://opensearch-project.github.io/helm-charts/
13+
version: 3.5.0
14+
- name: opensearch-dashboards
15+
repository: https://opensearch-project.github.io/helm-charts/
16+
version: 3.5.0
17+
digest: sha256:5c0bf142e8060c45f3045a9a925a3801813f23b7f0a37d100ffe2a3ab3d387e7
18+
generated: "2026-02-27T14:25:01.321704435Z"

deployment/kubernetes/charts/cogstack-helm-ce/Chart.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,11 @@ dependencies:
4242
alias: medcat-trainer
4343
version: "0.0.1"
4444
repository: "file://../medcat-trainer-helm"
45+
- name: opensearch
46+
condition: opensearch.enabled
47+
version: "3.5.0"
48+
repository: "https://opensearch-project.github.io/helm-charts/"
49+
- name: opensearch-dashboards
50+
condition: opensearch-dashboards.enabled
51+
version: "3.5.0"
52+
repository: "https://opensearch-project.github.io/helm-charts/"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Note Helm Chart Testing is preconfigured to use any values in the ci folder.
2+
# https://github.com/helm/chart-testing/blob/b4897a48501b16fc1f4fd9d08197bc884f0fd38c/doc/ct_lint.md
3+
opensearch:
4+
replicas: 1

deployment/kubernetes/charts/cogstack-helm-ce/templates/NOTES.txt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,21 @@ export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $TR
1616
export CONTAINER_PORT_API=$(kubectl get pod --namespace {{ .Release.Namespace }} $TRAINER_POD_NAME -o jsonpath="{.spec.containers[?(@.name==\"medcat-trainer\")].ports[0].containerPort}")
1717
kubectl --namespace {{ .Release.Namespace }} port-forward $TRAINER_POD_NAME 8000:$CONTAINER_PORT 8001:$CONTAINER_PORT_API &
1818

19+
{{- if .Values.opensearch.enabled }}
20+
# 4. Opensearch
21+
export OPENSEARCH_SERVICE={{ template "opensearch.serviceName" .Subcharts.opensearch }}
22+
export OPENSEARCH_PORT={{ .Values.opensearch.httpPort }}
23+
kubectl --namespace {{ .Release.Namespace }} port-forward svc/$OPENSEARCH_SERVICE 9200:$OPENSEARCH_PORT &
24+
{{- end }}
25+
26+
{{- if index .Values "opensearch-dashboards" "enabled" }}
27+
export OPENSEARCH_DASHBOARD_SERVICE={{ include "opensearch-dashboards.fullname" (index .Subcharts "opensearch-dashboards" ) }}
28+
export OPENSEARCH_DASHBOARD_PORT={{ index .Values "opensearch-dashboards" "service" "port" }}
29+
kubectl --namespace {{ .Release.Namespace }} port-forward svc/$OPENSEARCH_DASHBOARD_SERVICE 5601:$OPENSEARCH_DASHBOARD_PORT &
30+
{{- end }}
31+
1932
echo "Visit http://127.0.0.1:5000 to use MedCAT Service"
2033
echo "Visit http://127.0.0.1:5001 to use AnonCAT"
21-
echo "Visit http://127.0.0.1:8000 to use MedCAT Trainer"
34+
echo "Visit http://127.0.0.1:8000 to use MedCAT Trainer"
35+
{{ if .Values.opensearch.enabled }}echo "Call https://127.0.0.1:9200 to use OpenSearch"{{- end }}
36+
{{ if index .Values "opensearch-dashboards" "enabled" }}echo "Visit http://127.0.0.1:5601 to use OpenSearch Dashboards"{{- end }}

deployment/kubernetes/charts/cogstack-helm-ce/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,12 @@ medcat-service:
2323
image:
2424
repository: cogstacksystems/medcat-service
2525
tag: "1.2.0"
26+
27+
opensearch:
28+
enabled: true
29+
extraEnvs:
30+
- name: OPENSEARCH_INITIAL_ADMIN_PASSWORD
31+
value: "opensearch-312$A"
32+
33+
opensearch-dashboards:
34+
enabled: true

deployment/kubernetes/charts/medcat-trainer-helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ replicaCount: 1
99
image:
1010
repository: cogstacksystems/medcat-trainer
1111
# This sets the pull policy for images.
12-
pullPolicy: Always
12+
pullPolicy: IfNotPresent
1313
# Overrides the image tag whose default is the chart appVersion.
1414
# tag: "latest"
1515
nginxImage:

deployment/kubernetes/local_dev_startup.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ minikube addons enable metrics-server
55
minikube dashboard --url=true &
66

77
helm upgrade medcat-service ./medcat-service-helm --install --recreate-pods --wait --timeout 5m0s # Install if it doesnt already exist, else upgrade
8-
98
helm test medcat-service --logs
109

1110
# Run CT Lint
@@ -21,7 +20,9 @@ helm test medcat-service --logs
2120
# Test medcat trainer
2221
# kubectl port-forward svc/nginx 8000:8000
2322

24-
helm upgrade x ./medcat-trainer-helm --install --wait --timeout 5m0s # Install if it doesnt already exist, else upgrade
23+
# helm upgrade x ./medcat-trainer-helm --install --wait --timeout 5m0s # Install if it doesnt already exist, else upgrade
2524
# kubectl port-forward svc/medcat-trainer-solr 8983:8983
2625

2726
## helm install trainer-registry oci://registry-1.docker.io/cogstacksystems/medcat-trainer-helm --wait --timeout 5m0s
27+
28+
helm upgrade cogstack-helm-ce ./cogstack-helm-ce --install --render-subchart-notes --wait --timeout 5m0s

0 commit comments

Comments
 (0)