Skip to content

Commit

Permalink
Merge branch 'main' into feature/persistant-storage
Browse files Browse the repository at this point in the history
  • Loading branch information
antejavor authored Jul 2, 2024
2 parents 80052f6 + c21de83 commit 323d0e5
Show file tree
Hide file tree
Showing 6 changed files with 173 additions and 8 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/lint-test-high-availability.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Lint and Test Charts

on:
pull_request:
paths:
- 'charts/memgraph-high-availability/**'


jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.14.0

- uses: actions/setup-python@v4
with:
python-version: '3.12'
check-latest: true

- name: Set up chart-testing
uses: helm/[email protected]

- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Run chart-testing (lint)
if: steps.list-changed.outputs.changed == 'true'
run: ct lint --target-branch ${{ github.event.repository.default_branch }}
continue-on-error: true

- name: Create kind cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/[email protected]

- name: Set up Memgraph environment variables
if: steps.list-changed.outputs.changed == 'true'
run: |
echo "MEMGRAPH_ENTERPRISE_LICENSE=${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}" >> $GITHUB_ENV
echo "MEMGRAPH_ORGANIZATION_NAME=${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}" >> $GITHUB_ENV
- name: Custom Helm install for memgraph-high-availability
if: steps.list-changed.outputs.changed == 'true'
env:
MEMGRAPH_ENTERPRISE_LICENSE: ${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}
MEMGRAPH_ORGANIZATION_NAME: ${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}
run: |
helm install mem-ha-test ./charts/memgraph-high-availability \
--set memgraph.env.MEMGRAPH_ENTERPRISE_LICENSE=$MEMGRAPH_ENTERPRISE_LICENSE \
--set memgraph.env.MEMGRAPH_ORGANIZATION_NAME=$MEMGRAPH_ORGANIZATION_NAME
- name: Wait for Memgraph setup to complete
if: steps.list-changed.outputs.changed == 'true'
run: sleep 30

- name: Check the status of Memgraph setup
if: steps.list-changed.outputs.changed == 'true'
run: |
pods=$(kubectl get pods --selector=job-name=memgraph-setup --output=jsonpath='{.items[*].metadata.name}')
for pod in $pods; do
echo "Logs from $pod:"
kubectl logs $pod
done
- name: Run Helm tests
if: steps.list-changed.outputs.changed == 'true'
run: |
helm test mem-ha-test
kubectl logs -l app=memgraph
56 changes: 56 additions & 0 deletions .github/workflows/lint-test-memgraph-lab.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Lint and Test Charts Memgraph Lab

on:
pull_request:
paths:
- 'charts/memgraph-lab/**'


jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.14.0

- uses: actions/setup-python@v4
with:
python-version: '3.12'
check-latest: true

- name: Set up chart-testing
uses: helm/[email protected]

- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Run chart-testing (lint)
if: steps.list-changed.outputs.changed == 'true'
run: ct lint --target-branch ${{ github.event.repository.default_branch }}
continue-on-error: true

- name: Create kind cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/[email protected]

- name: Set up Memgraph environment variables
if: steps.list-changed.outputs.changed == 'true'
run: |
echo "MEMGRAPH_ENTERPRISE_LICENSE=${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}" >> $GITHUB_ENV
echo "MEMGRAPH_ORGANIZATION_NAME=${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}" >> $GITHUB_ENV
- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'
run: ct install --target-branch ${{ github.event.repository.default_branch }}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Lint and Test Charts
name: Lint and Test Charts Memgraph

on:
pull_request:
paths:
- 'charts/**'
- 'charts/memgraph/**'


jobs:
Expand Down Expand Up @@ -45,6 +45,12 @@ jobs:
if: steps.list-changed.outputs.changed == 'true'
uses: helm/[email protected]

- name: Set up Memgraph environment variables
if: steps.list-changed.outputs.changed == 'true'
run: |
echo "MEMGRAPH_ENTERPRISE_LICENSE=${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}" >> $GITHUB_ENV
echo "MEMGRAPH_ORGANIZATION_NAME=${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}" >> $GITHUB_ENV
- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'
run: ct install --target-branch ${{ github.event.repository.default_branch }}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Welcome to the Memgraph Helm Charts repository. This repository provides Helm ch
## Available charts
- [**Memgraph standalone**](#memgraph-standalone)
- [**Memgraph Lab**](#memgraph-lab)
- [**Memgraph high availability](#memgraph-high-availability)
- [**Memgraph high availability**](#memgraph-high-availability)

## Prerequisites
Helm version 3 or above installed.
Expand Down Expand Up @@ -64,7 +64,7 @@ To upgrade or uninstall a deployed Memgraph release, you can use the `helm upgra
## Memgraph high availability
Deploys high available Memgraph cluster, that includes two data instances and three coordinators.

For detailed information and usage instructions, please refer to the [chart's individual README file](./charts/memgraph/README.md).
For detailed information and usage instructions, please refer to the [chart's individual README file](./charts/memgraph-high-availability/README.md).

To install Memgraph standalone, run the following command:

Expand Down
4 changes: 2 additions & 2 deletions charts/memgraph-lab/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ spec:
protocol: TCP
livenessProbe:
httpGet:
path: /
path: /check
port: http
readinessProbe:
httpGet:
path: /
path: /check
port: http
resources:
{{- toYaml .Values.resources | nindent 12 }}
Expand Down
26 changes: 24 additions & 2 deletions charts/memgraph/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,29 @@ spec:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
initContainers:
- name: init-volume-mounts
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
volumeMounts:
{{- if $.Values.persistentVolumeClaim.storagePVC }}
- name: {{ include "memgraph.fullname" . }}-lib-storage
mountPath: /var/lib/memgraph
{{- end }}
{{- if $.Values.persistentVolumeClaim.logPVC }}
- name: {{ include "memgraph.fullname" . }}-log-storage
mountPath: /var/log/memgraph
{{- end }}
command: [ "/bin/sh","-c" ]
args: [ "chown -R memgraph:memgraph /var/log; chown -R memgraph:memgraph /var/lib" ]
securityContext:
privileged: true
readOnlyRootFilesystem: false
capabilities:
drop: [ "all" ]
add: [ "CHOWN" ]
runAsUser: 0
runAsNonRoot: false

terminationGracePeriodSeconds: 1800
securityContext:
{{- with .Values.imagePullSecrets }}
Expand All @@ -46,6 +69,7 @@ spec:
persistentVolumeClaim:
claimName: {{ include "memgraph.fullname" . }}-log-storage
{{- end }}

containers:
- name: memgraph
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
Expand All @@ -57,8 +81,6 @@ spec:
- "--log-file=''"
{{- end }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
securityContext:
runAsUser: 0
ports:
- name: bolt
containerPort: {{ .Values.service.port }}
Expand Down

0 comments on commit 323d0e5

Please sign in to comment.