Compare commits

...

4 Commits

Author SHA1 Message Date
Andrei Kvapil
042cc98c34 check all repositories in cozy-public 2024-02-19 15:59:56 +01:00
Andrei Kvapil
9180896f54 the declarative way to flush redis 2024-02-19 15:47:00 +01:00
Andrei Kvapil
b37071f05e Enable ZFS support for LINSTOR (#22) 2024-02-19 15:12:49 +01:00
Andrei Kvapil
c64c6b549b Enable leader election for Cozystack (#23) 2024-02-19 15:08:16 +01:00
5 changed files with 51 additions and 8 deletions

View File

@@ -1,3 +1,15 @@
FROM golang:alpine3.19 as k8s-await-election-builder
ARG K8S_AWAIT_ELECTION_GITREPO=https://github.com/LINBIT/k8s-await-election
ARG K8S_AWAIT_ELECTION_VERSION=0.4.1
RUN apk add --no-cache git make
RUN git clone ${K8S_AWAIT_ELECTION_GITREPO} /usr/local/go/k8s-await-election/ \
&& cd /usr/local/go/k8s-await-election \
&& git reset --hard v${K8S_AWAIT_ELECTION_VERSION} \
&& make \
&& mv ./out/k8s-await-election-amd64 /k8s-await-election
FROM alpine:3.19 AS builder
RUN apk add --no-cache make git
@@ -18,7 +30,8 @@ COPY scripts /cozystack/scripts
COPY --from=builder /src/packages/core /cozystack/packages/core
COPY --from=builder /src/packages/system /cozystack/packages/system
COPY --from=builder /src/_out/repos /cozystack/assets/repos
COPY --from=k8s-await-election-builder /k8s-await-election /usr/bin/k8s-await-election
COPY dashboards /cozystack/assets/dashboards
WORKDIR /cozystack
ENTRYPOINT [ "/cozystack/scripts/installer.sh" ]
ENTRYPOINT ["/usr/bin/k8s-await-election", "/cozystack/scripts/installer.sh" ]

View File

@@ -41,8 +41,6 @@ spec:
selector:
matchLabels:
app: cozystack
strategy:
type: Recreate
template:
metadata:
labels:
@@ -58,6 +56,18 @@ spec:
value: localhost
- name: KUBERNETES_SERVICE_PORT
value: "7445"
- name: K8S_AWAIT_ELECTION_ENABLED
value: "1"
- name: K8S_AWAIT_ELECTION_NAME
value: cozystack
- name: K8S_AWAIT_ELECTION_LOCK_NAME
value: cozystack
- name: K8S_AWAIT_ELECTION_LOCK_NAMESPACE
value: cozy-system
- name: K8S_AWAIT_ELECTION_IDENTITY
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: darkhttpd
image: "{{ .Files.Get "images/installer.tag" | trim }}@{{ index (.Files.Get "images/installer.json" | fromJson) "containerimage.digest" }}"
command:

View File

@@ -646,6 +646,20 @@ spec:
namespace: cozy-cilium
- name: kubeovn
namespace: cozy-kubeovn
{{- if .Capabilities.APIVersions.Has "source.toolkit.fluxcd.io/v1beta2" }}
{{- with (lookup "source.toolkit.fluxcd.io/v1beta2" "HelmRepository" "cozy-public" "").items }}
values:
kubeapps:
redis:
master:
podAnnotations:
{{- range $index, $repo := . }}
{{- with (($repo.status).artifact).revision }}
repository.cozystack.io/{{ $repo.metadata.name }}: {{ quote . }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease

View File

@@ -27,6 +27,13 @@ spec:
$patch: delete
- name: drbd-module-loader
$patch: delete
containers:
- name: linstor-satellite
volumeMounts:
- mountPath: /run
name: host-run
securityContext:
readOnlyRootFilesystem: false
volumes:
- name: run-systemd-system
$patch: delete
@@ -46,3 +53,7 @@ spec:
hostPath:
path: /var/etc/lvm/archive
type: DirectoryOrCreate
- name: host-run
hostPath:
path: /run
type: DirectoryOrCreate

View File

@@ -35,11 +35,6 @@ kubectl annotate helmrepositories.source.toolkit.fluxcd.io -A -l cozystack.io/re
# Install platform chart
make -C packages/core/platform apply
# Flush kubeapps cache
if kubectl wait --for=condition=ready -n cozy-dashboard pod/dashboard-redis-master-0 --timeout=1s; then
kubectl exec -ti -n cozy-dashboard dashboard-redis-master-0 -- sh -c 'redis-cli -a "$REDIS_PASSWORD" flushdb'
fi
# Reconcile platform chart
trap 'exit' INT TERM
while true; do