mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-04-05 15:05:55 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ae04b755d | ||
|
|
e17dcaa65e | ||
|
|
85d4ed251d | ||
|
|
f1c01a0fe8 | ||
|
|
2cff181279 | ||
|
|
2e3555600d | ||
|
|
98f488fcac |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1 +1,3 @@
|
|||||||
_out
|
_out
|
||||||
|
.git
|
||||||
|
.idea
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
# Cozystack
|
# Cozystack
|
||||||
|
|
||||||
**Cozystack** is an open-source **PaaS platform** for cloud providers.
|
**Cozystack** is a free PaaS platform and framework for building clouds.
|
||||||
|
|
||||||
With Cozystack, you can transform your bunch of servers into an intelligent system with a simple REST API for spawning Kubernetes clusters, Database-as-a-Service, virtual machines, load balancers, HTTP caching services, and other services with ease.
|
With Cozystack, you can transform your bunch of servers into an intelligent system with a simple REST API for spawning Kubernetes clusters, Database-as-a-Service, virtual machines, load balancers, HTTP caching services, and other services with ease.
|
||||||
|
|
||||||
@@ -44,6 +44,8 @@ If you encounter any difficulties, start with the [troubleshooting guide](https:
|
|||||||
Versioning adheres to the [Semantic Versioning](http://semver.org/) principles.
|
Versioning adheres to the [Semantic Versioning](http://semver.org/) principles.
|
||||||
A full list of the available releases is available in the GitHub repository's [Release](https://github.com/aenix-io/cozystack/releases) section.
|
A full list of the available releases is available in the GitHub repository's [Release](https://github.com/aenix-io/cozystack/releases) section.
|
||||||
|
|
||||||
|
- [Roadmap](https://github.com/orgs/aenix-io/projects/2)
|
||||||
|
|
||||||
## Contributions
|
## Contributions
|
||||||
|
|
||||||
Contributions are highly appreciated and very welcomed!
|
Contributions are highly appreciated and very welcomed!
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ PUSH := 1
|
|||||||
LOAD := 0
|
LOAD := 0
|
||||||
REGISTRY := ghcr.io/aenix-io/cozystack
|
REGISTRY := ghcr.io/aenix-io/cozystack
|
||||||
NGINX_CACHE_TAG = v0.1.0
|
NGINX_CACHE_TAG = v0.1.0
|
||||||
TAG := v0.1.0
|
TAG := v0.2.0
|
||||||
|
|
||||||
image: image-nginx
|
image: image-nginx
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
PUSH := 1
|
PUSH := 1
|
||||||
LOAD := 0
|
LOAD := 0
|
||||||
REGISTRY := ghcr.io/aenix-io/cozystack
|
REGISTRY := ghcr.io/aenix-io/cozystack
|
||||||
TAG := v0.1.0
|
TAG := v0.2.0
|
||||||
UBUNTU_CONTAINER_DISK_TAG = v1.29.1
|
UBUNTU_CONTAINER_DISK_TAG = v1.29.1
|
||||||
|
|
||||||
image: image-ubuntu-container-disk
|
image: image-ubuntu-container-disk
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ NAME=installer
|
|||||||
PUSH := 1
|
PUSH := 1
|
||||||
LOAD := 0
|
LOAD := 0
|
||||||
REGISTRY := ghcr.io/aenix-io/cozystack
|
REGISTRY := ghcr.io/aenix-io/cozystack
|
||||||
TAG := v0.1.0
|
TAG := v0.2.0
|
||||||
TALOS_VERSION=$(shell awk '/^version:/ {print $$2}' images/talos/profiles/installer.yaml)
|
TALOS_VERSION=$(shell awk '/^version:/ {print $$2}' images/talos/profiles/installer.yaml)
|
||||||
|
|
||||||
show:
|
show:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ NAMESPACE=cozy-dashboard
|
|||||||
PUSH := 1
|
PUSH := 1
|
||||||
LOAD := 0
|
LOAD := 0
|
||||||
REPOSITORY := ghcr.io/aenix-io/cozystack
|
REPOSITORY := ghcr.io/aenix-io/cozystack
|
||||||
TAG := v0.1.0
|
TAG := v0.2.0
|
||||||
|
|
||||||
show:
|
show:
|
||||||
helm template --dry-run=server -n $(NAMESPACE) $(NAME) .
|
helm template --dry-run=server -n $(NAMESPACE) $(NAME) .
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ diff:
|
|||||||
|
|
||||||
update:
|
update:
|
||||||
rm -rf charts && mkdir -p charts/kube-ovn
|
rm -rf charts && mkdir -p charts/kube-ovn
|
||||||
curl -sSL https://github.com/kubeovn/kube-ovn/archive/refs/heads/master.tar.gz | \
|
tag=$$(git ls-remote --tags --sort="v:refname" https://github.com/kubeovn/kube-ovn | awk -F'[/^]' 'END{print $$3}') && \
|
||||||
tar -C charts/kube-ovn -xzvf - --strip 2 kube-ovn-master/charts
|
curl -sSL https://github.com/kubeovn/kube-ovn/archive/refs/tags/$${tag}.tar.gz | \
|
||||||
|
tar xzvf - --strip 1 kube-ovn-$${tag#*v}/charts
|
||||||
patch -p4 < patches/cozyconfig.diff
|
patch -p4 < patches/cozyconfig.diff
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.1.0
|
version: 1.13.0
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# 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
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ $ kubectl label node -lnode-role.kubernetes.io/control-plane kube-ovn/role=mast
|
|||||||
$ kubectl label node -lovn.kubernetes.io/ovs_dp_type!=userspace ovn.kubernetes.io/ovs_dp_type=kernel --overwrite
|
$ kubectl label node -lovn.kubernetes.io/ovs_dp_type!=userspace ovn.kubernetes.io/ovs_dp_type=kernel --overwrite
|
||||||
|
|
||||||
# standard install
|
# standard install
|
||||||
$ helm install --debug kubeovn ./charts --set MASTER_NODES=${Node0}
|
$ helm install --debug kubeovn ./charts/kube-ovn --set MASTER_NODES=${Node0}
|
||||||
|
|
||||||
# high availability install
|
# high availability install
|
||||||
$ helm install --debug kubeovn ./charts --set MASTER_NODES=${Node0},${Node1},${Node2}
|
$ helm install --debug kubeovn ./charts/kube-ovn --set MASTER_NODES=${Node0},${Node1},${Node2}
|
||||||
|
|
||||||
# upgrade to this version
|
# upgrade to this version
|
||||||
$ helm upgrade --debug kubeovn ./charts --set MASTER_NODES=${Node0},${Node1},${Node2}
|
$ helm upgrade --debug kubeovn ./charts/kube-ovn --set MASTER_NODES=${Node0},${Node1},${Node2}
|
||||||
```
|
```
|
||||||
|
|
||||||
If `MASTER_NODES` unspecified Helm will take internal IPs of nodes with `kube-ovn/role=master` label
|
If `MASTER_NODES` unspecified Helm will take internal IPs of nodes with `kube-ovn/role=master` label
|
||||||
@@ -32,7 +32,7 @@ machine:
|
|||||||
- name: openvswitch
|
- name: openvswitch
|
||||||
```
|
```
|
||||||
|
|
||||||
and use the following options for install this Helm-chart:
|
and use the following options to install this Helm-chart:
|
||||||
|
|
||||||
```
|
```
|
||||||
--set cni_conf.MOUNT_LOCAL_BIN_DIR=false
|
--set cni_conf.MOUNT_LOCAL_BIN_DIR=false
|
||||||
|
|||||||
@@ -29,3 +29,26 @@ Number of master nodes
|
|||||||
{{- define "kubeovn.nodeCount" -}}
|
{{- define "kubeovn.nodeCount" -}}
|
||||||
{{- len (split "," (.Values.MASTER_NODES | default (include "kubeovn.nodeIPs" .))) }}
|
{{- len (split "," (.Values.MASTER_NODES | default (include "kubeovn.nodeIPs" .))) }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "kubeovn.ovs-ovn.updateStrategy" -}}
|
||||||
|
{{- $ds := lookup "apps/v1" "DaemonSet" $.Values.namespace "ovs-ovn" -}}
|
||||||
|
{{- if $ds -}}
|
||||||
|
{{- if eq $ds.spec.updateStrategy.type "RollingUpdate" -}}
|
||||||
|
RollingUpdate
|
||||||
|
{{- else -}}
|
||||||
|
{{- $imageVersion := (index $ds.spec.template.spec.containers 0).image | splitList ":" | last | trimPrefix "v" -}}
|
||||||
|
{{- $versionRegex := `^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)` -}}
|
||||||
|
{{- if regexMatch $versionRegex $imageVersion -}}
|
||||||
|
{{- if regexFind $versionRegex $imageVersion | semverCompare ">= 1.12.0" -}}
|
||||||
|
RollingUpdate
|
||||||
|
{{- else -}}
|
||||||
|
OnDelete
|
||||||
|
{{- end -}}
|
||||||
|
{{- else -}}
|
||||||
|
OnDelete
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- else -}}
|
||||||
|
RollingUpdate
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|||||||
@@ -80,6 +80,10 @@ spec:
|
|||||||
value: "{{ .Values.networking.OVN_NORTHD_N_THREADS }}"
|
value: "{{ .Values.networking.OVN_NORTHD_N_THREADS }}"
|
||||||
- name: ENABLE_COMPACT
|
- name: ENABLE_COMPACT
|
||||||
value: "{{ .Values.networking.ENABLE_COMPACT }}"
|
value: "{{ .Values.networking.ENABLE_COMPACT }}"
|
||||||
|
{{- if include "kubeovn.ovs-ovn.updateStrategy" . | eq "OnDelete" }}
|
||||||
|
- name: OVN_VERSION_COMPATIBILITY
|
||||||
|
value: "22.03"
|
||||||
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: {{ index .Values "ovn-central" "requests" "cpu" }}
|
cpu: {{ index .Values "ovn-central" "requests" "cpu" }}
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ spec:
|
|||||||
- --default-vlan-name={{- .Values.networking.vlan.VLAN_NAME }}
|
- --default-vlan-name={{- .Values.networking.vlan.VLAN_NAME }}
|
||||||
- --default-vlan-id={{- .Values.networking.vlan.VLAN_ID }}
|
- --default-vlan-id={{- .Values.networking.vlan.VLAN_ID }}
|
||||||
- --ls-dnat-mod-dl-dst={{- .Values.func.LS_DNAT_MOD_DL_DST }}
|
- --ls-dnat-mod-dl-dst={{- .Values.func.LS_DNAT_MOD_DL_DST }}
|
||||||
|
- --ls-ct-skip-dst-lport-ips={{- .Values.func.LS_CT_SKIP_DST_LPORT_IPS }}
|
||||||
- --pod-nic-type={{- .Values.networking.POD_NIC_TYPE }}
|
- --pod-nic-type={{- .Values.networking.POD_NIC_TYPE }}
|
||||||
- --enable-lb={{- .Values.func.ENABLE_LB }}
|
- --enable-lb={{- .Values.func.ENABLE_LB }}
|
||||||
- --enable-np={{- .Values.func.ENABLE_NP }}
|
- --enable-np={{- .Values.func.ENABLE_NP }}
|
||||||
@@ -86,7 +87,6 @@ spec:
|
|||||||
- --log_file_max_size=0
|
- --log_file_max_size=0
|
||||||
- --enable-lb-svc={{- .Values.func.ENABLE_LB_SVC }}
|
- --enable-lb-svc={{- .Values.func.ENABLE_LB_SVC }}
|
||||||
- --keep-vm-ip={{- .Values.func.ENABLE_KEEP_VM_IP }}
|
- --keep-vm-ip={{- .Values.func.ENABLE_KEEP_VM_IP }}
|
||||||
- --pod-default-fip-type={{- .Values.networking.POD_DEFAULT_FIP_TYPE }}
|
|
||||||
- --enable-metrics={{- .Values.networking.ENABLE_METRICS }}
|
- --enable-metrics={{- .Values.networking.ENABLE_METRICS }}
|
||||||
- --node-local-dns-ip={{- .Values.networking.NODE_LOCAL_DNS_IP }}
|
- --node-local-dns-ip={{- .Values.networking.NODE_LOCAL_DNS_IP }}
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -0,0 +1,109 @@
|
|||||||
|
{{- if eq .Values.func.ENABLE_IC true }}
|
||||||
|
kind: Deployment
|
||||||
|
apiVersion: apps/v1
|
||||||
|
metadata:
|
||||||
|
name: ovn-ic-controller
|
||||||
|
namespace: kube-system
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/description: |
|
||||||
|
OVN IC Client
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 0
|
||||||
|
maxUnavailable: 1
|
||||||
|
type: RollingUpdate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: ovn-ic-controller
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: ovn-ic-controller
|
||||||
|
component: network
|
||||||
|
type: infra
|
||||||
|
spec:
|
||||||
|
tolerations:
|
||||||
|
- effect: NoSchedule
|
||||||
|
operator: Exists
|
||||||
|
- effect: NoExecute
|
||||||
|
operator: Exists
|
||||||
|
- key: CriticalAddonsOnly
|
||||||
|
operator: Exists
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: ovn-ic-controller
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
priorityClassName: system-cluster-critical
|
||||||
|
serviceAccountName: ovn
|
||||||
|
hostNetwork: true
|
||||||
|
containers:
|
||||||
|
- name: ovn-ic-controller
|
||||||
|
image: {{ .Values.global.registry.address }}/{{ .Values.global.images.kubeovn.repository }}:{{ .Values.global.images.kubeovn.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
command: ["/kube-ovn/start-ic-controller.sh"]
|
||||||
|
args:
|
||||||
|
- --log_file=/var/log/kube-ovn/kube-ovn-ic-controller.log
|
||||||
|
- --log_file_max_size=0
|
||||||
|
- --logtostderr=false
|
||||||
|
- --alsologtostderr=true
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add: ["SYS_NICE"]
|
||||||
|
env:
|
||||||
|
- name: ENABLE_SSL
|
||||||
|
value: "{{ .Values.networking.ENABLE_SSL }}"
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: OVN_DB_IPS
|
||||||
|
value: "{{ .Values.MASTER_NODES }}"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 300m
|
||||||
|
memory: 200Mi
|
||||||
|
limits:
|
||||||
|
cpu: 3
|
||||||
|
memory: 1Gi
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /var/run/ovn
|
||||||
|
name: host-run-ovn
|
||||||
|
- mountPath: /etc/ovn
|
||||||
|
name: host-config-ovn
|
||||||
|
- mountPath: /var/log/ovn
|
||||||
|
name: host-log-ovn
|
||||||
|
- mountPath: /etc/localtime
|
||||||
|
name: localtime
|
||||||
|
- mountPath: /var/run/tls
|
||||||
|
name: kube-ovn-tls
|
||||||
|
- mountPath: /var/log/kube-ovn
|
||||||
|
name: kube-ovn-log
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: "linux"
|
||||||
|
kube-ovn/role: "master"
|
||||||
|
volumes:
|
||||||
|
- name: host-run-ovn
|
||||||
|
hostPath:
|
||||||
|
path: /run/ovn
|
||||||
|
- name: host-config-ovn
|
||||||
|
hostPath:
|
||||||
|
path: /etc/origin/ovn
|
||||||
|
- name: host-log-ovn
|
||||||
|
hostPath:
|
||||||
|
path: /var/log/ovn
|
||||||
|
- name: localtime
|
||||||
|
hostPath:
|
||||||
|
path: /etc/localtime
|
||||||
|
- name: kube-ovn-log
|
||||||
|
hostPath:
|
||||||
|
path: /var/log/kube-ovn
|
||||||
|
- name: kube-ovn-tls
|
||||||
|
secret:
|
||||||
|
optional: true
|
||||||
|
secretName: kube-ovn-tls
|
||||||
|
{{- end }}
|
||||||
@@ -133,6 +133,10 @@ spec:
|
|||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
|
endpoints:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
status:
|
status:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
@@ -169,10 +173,317 @@ spec:
|
|||||||
name: v1
|
name: v1
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
status:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
externalSubnets:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
selector:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
qosPolicy:
|
||||||
|
type: string
|
||||||
|
tolerations:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- Equal
|
||||||
|
- Exists
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
effect:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- NoExecute
|
||||||
|
- NoSchedule
|
||||||
|
- PreferNoSchedule
|
||||||
|
tolerationSeconds:
|
||||||
|
type: integer
|
||||||
|
affinity:
|
||||||
|
properties:
|
||||||
|
nodeAffinity:
|
||||||
|
properties:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
preference:
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
matchFields:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
weight:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- preference
|
||||||
|
- weight
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
properties:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
matchFields:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- nodeSelectorTerms
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
podAffinity:
|
||||||
|
properties:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
podAffinityTerm:
|
||||||
|
properties:
|
||||||
|
labelSelector:
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
x-kubernetes-patch-strategy: merge
|
||||||
|
x-kubernetes-patch-merge-key: key
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
namespaces:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
topologyKey:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- topologyKey
|
||||||
|
type: object
|
||||||
|
weight:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- podAffinityTerm
|
||||||
|
- weight
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
labelSelector:
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
x-kubernetes-patch-strategy: merge
|
||||||
|
x-kubernetes-patch-merge-key: key
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
namespaces:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
topologyKey:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- topologyKey
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
podAntiAffinity:
|
||||||
|
properties:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
podAffinityTerm:
|
||||||
|
properties:
|
||||||
|
labelSelector:
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
x-kubernetes-patch-strategy: merge
|
||||||
|
x-kubernetes-patch-merge-key: key
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
namespaces:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
topologyKey:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- topologyKey
|
||||||
|
type: object
|
||||||
|
weight:
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- podAffinityTerm
|
||||||
|
- weight
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
labelSelector:
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
items:
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
x-kubernetes-patch-strategy: merge
|
||||||
|
x-kubernetes-patch-merge-key: key
|
||||||
|
operator:
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
- operator
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
namespaces:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
topologyKey:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- topologyKey
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
spec:
|
spec:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
@@ -190,6 +501,8 @@ spec:
|
|||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
|
qosPolicy:
|
||||||
|
type: string
|
||||||
tolerations:
|
tolerations:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
@@ -54,17 +54,28 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
- pods
|
- pods
|
||||||
- pods/exec
|
|
||||||
- namespaces
|
- namespaces
|
||||||
- nodes
|
|
||||||
- configmaps
|
|
||||||
verbs:
|
verbs:
|
||||||
- create
|
|
||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
|
- patch
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- nodes
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
- patch
|
- patch
|
||||||
- update
|
- update
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods/exec
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- "k8s.cni.cncf.io"
|
- "k8s.cni.cncf.io"
|
||||||
resources:
|
resources:
|
||||||
@@ -74,40 +85,53 @@ rules:
|
|||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
- networking.k8s.io
|
- networking.k8s.io
|
||||||
- apps
|
|
||||||
resources:
|
resources:
|
||||||
- networkpolicies
|
- networkpolicies
|
||||||
- daemonsets
|
- configmaps
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
|
||||||
- apps
|
- apps
|
||||||
resources:
|
resources:
|
||||||
- services/status
|
- daemonsets
|
||||||
verbs:
|
verbs:
|
||||||
- update
|
- get
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
- networking.k8s.io
|
|
||||||
- apps
|
|
||||||
- extensions
|
|
||||||
resources:
|
resources:
|
||||||
- services
|
- services
|
||||||
|
- services/status
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- update
|
||||||
|
- create
|
||||||
|
- delete
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
- endpoints
|
- endpoints
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
- statefulsets
|
- statefulsets
|
||||||
- deployments
|
- deployments
|
||||||
- deployments/scale
|
- deployments/scale
|
||||||
verbs:
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
- create
|
- create
|
||||||
- delete
|
- delete
|
||||||
- update
|
- update
|
||||||
- patch
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -148,8 +172,6 @@ rules:
|
|||||||
- patch
|
- patch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
- networking.k8s.io
|
|
||||||
- apps
|
|
||||||
resources:
|
resources:
|
||||||
- services
|
- services
|
||||||
- endpoints
|
- endpoints
|
||||||
@@ -173,29 +195,34 @@ metadata:
|
|||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- "kubeovn.io"
|
- "kubeovn.io"
|
||||||
|
- ""
|
||||||
resources:
|
resources:
|
||||||
- subnets
|
- subnets
|
||||||
- provider-networks
|
- provider-networks
|
||||||
- ovn-eips
|
- pods
|
||||||
- ovn-eips/status
|
|
||||||
- ips
|
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- watch
|
- watch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
|
- "kubeovn.io"
|
||||||
resources:
|
resources:
|
||||||
- pods
|
- ovn-eips
|
||||||
|
- ovn-eips/status
|
||||||
- nodes
|
- nodes
|
||||||
- configmaps
|
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- patch
|
- patch
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- "kubeovn.io"
|
||||||
|
resources:
|
||||||
|
- ips
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -222,8 +249,6 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
|
||||||
- networking.k8s.io
|
|
||||||
- apps
|
- apps
|
||||||
resources:
|
resources:
|
||||||
- daemonsets
|
- daemonsets
|
||||||
|
|||||||
@@ -90,10 +90,6 @@ spec:
|
|||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: spec.nodeName
|
fieldPath: spec.nodeName
|
||||||
- name: MODULES
|
|
||||||
value: "{{- .Values.performance.MODULES }}"
|
|
||||||
- name: RPMS
|
|
||||||
value: "{{- .Values.performance.RPMS }}"
|
|
||||||
- name: POD_IPS
|
- name: POD_IPS
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
|
|||||||
@@ -6,12 +6,13 @@ metadata:
|
|||||||
annotations:
|
annotations:
|
||||||
kubernetes.io/description: |
|
kubernetes.io/description: |
|
||||||
This daemon set launches the openvswitch daemon.
|
This daemon set launches the openvswitch daemon.
|
||||||
|
chart-version: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||||
spec:
|
spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: ovs
|
app: ovs
|
||||||
updateStrategy:
|
updateStrategy:
|
||||||
type: RollingUpdate
|
type: {{ include "kubeovn.ovs-ovn.updateStrategy" . }}
|
||||||
rollingUpdate:
|
rollingUpdate:
|
||||||
maxSurge: 1
|
maxSurge: 1
|
||||||
maxUnavailable: 0
|
maxUnavailable: 0
|
||||||
@@ -21,6 +22,8 @@ spec:
|
|||||||
app: ovs
|
app: ovs
|
||||||
component: network
|
component: network
|
||||||
type: infra
|
type: infra
|
||||||
|
annotations:
|
||||||
|
chart-version: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
- effect: NoSchedule
|
- effect: NoSchedule
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{{ if (lookup "apps/v1" "DaemonSet" .Values.namespace "ovs-ovn") }}
|
{{- if eq (include "kubeovn.ovs-ovn.updateStrategy" .) "OnDelete" }}
|
||||||
{{ if eq (lookup "apps/v1" "DaemonSet" .Values.namespace "ovs-ovn").spec.updateStrategy.type "OnDelete" }}
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
@@ -33,6 +32,16 @@ rules:
|
|||||||
- ovs-ovn
|
- ovs-ovn
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
resourceNames:
|
||||||
|
- ovn-central
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -46,6 +55,7 @@ rules:
|
|||||||
verbs:
|
verbs:
|
||||||
- list
|
- list
|
||||||
- get
|
- get
|
||||||
|
- watch
|
||||||
- delete
|
- delete
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
@@ -127,16 +137,27 @@ spec:
|
|||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: metadata.namespace
|
fieldPath: metadata.namespace
|
||||||
|
- name: ENABLE_SSL
|
||||||
|
value: "{{ .Values.networking.ENABLE_SSL }}"
|
||||||
|
- name: OVN_DB_IPS
|
||||||
|
value: "{{ .Values.MASTER_NODES | default (include "kubeovn.nodeIPs" .) }}"
|
||||||
command:
|
command:
|
||||||
- sh
|
- bash
|
||||||
|
- -eo
|
||||||
|
- pipefail
|
||||||
- -c
|
- -c
|
||||||
- /kube-ovn/upgrade-ovs.sh 2>&1 | tee -a /var/log/kube-ovn/upgrade-ovs.log
|
- /kube-ovn/upgrade-ovs.sh 2>&1 | tee -a /var/log/kube-ovn/upgrade-ovs.log
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /var/log/kube-ovn
|
- mountPath: /var/log/kube-ovn
|
||||||
name: kube-ovn-log
|
name: kube-ovn-log
|
||||||
|
- mountPath: /var/run/tls
|
||||||
|
name: kube-ovn-tls
|
||||||
volumes:
|
volumes:
|
||||||
- name: kube-ovn-log
|
- name: kube-ovn-log
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.log_conf.LOG_DIR }}/kube-ovn
|
path: {{ .Values.log_conf.LOG_DIR }}/kube-ovn
|
||||||
{{ end }}
|
- name: kube-ovn-tls
|
||||||
|
secret:
|
||||||
|
optional: true
|
||||||
|
secretName: kube-ovn-tls
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ networking:
|
|||||||
VLAN_ID: "100"
|
VLAN_ID: "100"
|
||||||
EXCHANGE_LINK_NAME: false
|
EXCHANGE_LINK_NAME: false
|
||||||
ENABLE_EIP_SNAT: true
|
ENABLE_EIP_SNAT: true
|
||||||
POD_DEFAULT_FIP_TYPE: ""
|
|
||||||
DEFAULT_SUBNET: "ovn-default"
|
DEFAULT_SUBNET: "ovn-default"
|
||||||
DEFAULT_VPC: "ovn-cluster"
|
DEFAULT_VPC: "ovn-cluster"
|
||||||
NODE_SUBNET: "join"
|
NODE_SUBNET: "join"
|
||||||
@@ -63,6 +62,7 @@ func:
|
|||||||
ENABLE_LB_SVC: false
|
ENABLE_LB_SVC: false
|
||||||
ENABLE_KEEP_VM_IP: true
|
ENABLE_KEEP_VM_IP: true
|
||||||
LS_DNAT_MOD_DL_DST: true
|
LS_DNAT_MOD_DL_DST: true
|
||||||
|
LS_CT_SKIP_DST_LPORT_IPS: true
|
||||||
CHECK_GATEWAY: true
|
CHECK_GATEWAY: true
|
||||||
LOGICAL_GATEWAY: false
|
LOGICAL_GATEWAY: false
|
||||||
ENABLE_BIND_LOCAL_IP: true
|
ENABLE_BIND_LOCAL_IP: true
|
||||||
@@ -90,8 +90,6 @@ dual_stack:
|
|||||||
PINGER_EXTERNAL_DOMAIN: "google.com."
|
PINGER_EXTERNAL_DOMAIN: "google.com."
|
||||||
|
|
||||||
performance:
|
performance:
|
||||||
MODULES: "kube_ovn_fastpath.ko"
|
|
||||||
RPMS: "openvswitch-kmod"
|
|
||||||
GC_INTERVAL: 360
|
GC_INTERVAL: 360
|
||||||
INSPECT_INTERVAL: 20
|
INSPECT_INTERVAL: 20
|
||||||
OVS_VSCTL_CONCURRENCY: 100
|
OVS_VSCTL_CONCURRENCY: 100
|
||||||
@@ -145,7 +143,7 @@ ovs-ovn:
|
|||||||
cpu: "200m"
|
cpu: "200m"
|
||||||
memory: "200Mi"
|
memory: "200Mi"
|
||||||
limits:
|
limits:
|
||||||
cpu: "1000m"
|
cpu: "2"
|
||||||
memory: "1000Mi"
|
memory: "1000Mi"
|
||||||
kube-ovn-controller:
|
kube-ovn-controller:
|
||||||
requests:
|
requests:
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
kube-ovn:
|
kube-ovn:
|
||||||
global:
|
|
||||||
registry:
|
|
||||||
address: ghcr.io/kvaps
|
|
||||||
images:
|
|
||||||
kubeovn:
|
|
||||||
repository: test
|
|
||||||
tag: kube-ovn-static-v1.13.0-cozystack2
|
|
||||||
|
|
||||||
namespace: cozy-kubeovn
|
namespace: cozy-kubeovn
|
||||||
|
|
||||||
func:
|
func:
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ name: piraeus
|
|||||||
description: |
|
description: |
|
||||||
The Piraeus Operator manages software defined storage clusters using LINSTOR in Kubernetes.
|
The Piraeus Operator manages software defined storage clusters using LINSTOR in Kubernetes.
|
||||||
type: application
|
type: application
|
||||||
version: 2.3.0
|
version: 2.4.1
|
||||||
appVersion: "v2.3.0"
|
appVersion: "v2.4.1"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: Piraeus Datastore
|
- name: Piraeus Datastore
|
||||||
url: https://piraeus.io
|
url: https://piraeus.io
|
||||||
|
|||||||
@@ -17,19 +17,19 @@ data:
|
|||||||
# quay.io/piraeusdatastore/piraeus-server:v1.24.2
|
# quay.io/piraeusdatastore/piraeus-server:v1.24.2
|
||||||
components:
|
components:
|
||||||
linstor-controller:
|
linstor-controller:
|
||||||
tag: v1.25.1
|
tag: v1.26.2
|
||||||
image: piraeus-server
|
image: piraeus-server
|
||||||
linstor-satellite:
|
linstor-satellite:
|
||||||
tag: v1.25.1
|
tag: v1.26.2
|
||||||
image: piraeus-server
|
image: piraeus-server
|
||||||
linstor-csi:
|
linstor-csi:
|
||||||
tag: v1.3.0
|
tag: v1.4.0
|
||||||
image: piraeus-csi
|
image: piraeus-csi
|
||||||
drbd-reactor:
|
drbd-reactor:
|
||||||
tag: v1.4.0
|
tag: v1.4.0
|
||||||
image: drbd-reactor
|
image: drbd-reactor
|
||||||
ha-controller:
|
ha-controller:
|
||||||
tag: v1.1.4
|
tag: v1.2.0
|
||||||
image: piraeus-ha-controller
|
image: piraeus-ha-controller
|
||||||
drbd-shutdown-guard:
|
drbd-shutdown-guard:
|
||||||
tag: v1.0.0
|
tag: v1.0.0
|
||||||
@@ -38,7 +38,7 @@ data:
|
|||||||
tag: v0.10
|
tag: v0.10
|
||||||
image: ktls-utils
|
image: ktls-utils
|
||||||
drbd-module-loader:
|
drbd-module-loader:
|
||||||
tag: v9.2.6
|
tag: v9.2.8
|
||||||
# The special "match" attribute is used to select an image based on the node's reported OS.
|
# The special "match" attribute is used to select an image based on the node's reported OS.
|
||||||
# The operator will first check the k8s node's ".status.nodeInfo.osImage" field, and compare it against the list
|
# The operator will first check the k8s node's ".status.nodeInfo.osImage" field, and compare it against the list
|
||||||
# here. If one matches, that specific image name will be used instead of the fallback image.
|
# here. If one matches, that specific image name will be used instead of the fallback image.
|
||||||
@@ -54,12 +54,18 @@ data:
|
|||||||
image: drbd9-almalinux8
|
image: drbd9-almalinux8
|
||||||
- osImage: AlmaLinux 9
|
- osImage: AlmaLinux 9
|
||||||
image: drbd9-almalinux9
|
image: drbd9-almalinux9
|
||||||
|
- osImage: Rocky Linux 8
|
||||||
|
image: drbd9-almalinux8
|
||||||
|
- osImage: Rocky Linux 9
|
||||||
|
image: drbd9-almalinux9
|
||||||
- osImage: Ubuntu 18\.04
|
- osImage: Ubuntu 18\.04
|
||||||
image: drbd9-bionic
|
image: drbd9-bionic
|
||||||
- osImage: Ubuntu 20\.04
|
- osImage: Ubuntu 20\.04
|
||||||
image: drbd9-focal
|
image: drbd9-focal
|
||||||
- osImage: Ubuntu 22\.04
|
- osImage: Ubuntu 22\.04
|
||||||
image: drbd9-jammy
|
image: drbd9-jammy
|
||||||
|
- osImage: Debian GNU/Linux 12
|
||||||
|
image: drbd9-bookworm
|
||||||
- osImage: Debian GNU/Linux 11
|
- osImage: Debian GNU/Linux 11
|
||||||
image: drbd9-bullseye
|
image: drbd9-bullseye
|
||||||
- osImage: Debian GNU/Linux 10
|
- osImage: Debian GNU/Linux 10
|
||||||
@@ -69,25 +75,25 @@ data:
|
|||||||
base: registry.k8s.io/sig-storage
|
base: registry.k8s.io/sig-storage
|
||||||
components:
|
components:
|
||||||
csi-attacher:
|
csi-attacher:
|
||||||
tag: v4.4.2
|
tag: v4.5.0
|
||||||
image: csi-attacher
|
image: csi-attacher
|
||||||
csi-livenessprobe:
|
csi-livenessprobe:
|
||||||
tag: v2.11.0
|
tag: v2.12.0
|
||||||
image: livenessprobe
|
image: livenessprobe
|
||||||
csi-provisioner:
|
csi-provisioner:
|
||||||
tag: v3.6.2
|
tag: v4.0.0
|
||||||
image: csi-provisioner
|
image: csi-provisioner
|
||||||
csi-snapshotter:
|
csi-snapshotter:
|
||||||
tag: v6.3.2
|
tag: v7.0.1
|
||||||
image: csi-snapshotter
|
image: csi-snapshotter
|
||||||
csi-resizer:
|
csi-resizer:
|
||||||
tag: v1.9.2
|
tag: v1.10.0
|
||||||
image: csi-resizer
|
image: csi-resizer
|
||||||
csi-external-health-monitor-controller:
|
csi-external-health-monitor-controller:
|
||||||
tag: v0.10.0
|
tag: v0.11.0
|
||||||
image: csi-external-health-monitor-controller
|
image: csi-external-health-monitor-controller
|
||||||
csi-node-driver-registrar:
|
csi-node-driver-registrar:
|
||||||
tag: v2.9.1
|
tag: v2.10.0
|
||||||
image: csi-node-driver-registrar
|
image: csi-node-driver-registrar
|
||||||
{{- range $idx, $value := .Values.imageConfigOverride }}
|
{{- range $idx, $value := .Values.imageConfigOverride }}
|
||||||
{{ add $idx 1 }}_helm_override.yaml: |
|
{{ add $idx 1 }}_helm_override.yaml: |
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -152,3 +152,27 @@ webhooks:
|
|||||||
resources:
|
resources:
|
||||||
- linstorsatelliteconfigurations
|
- linstorsatelliteconfigurations
|
||||||
sideEffects: None
|
sideEffects: None
|
||||||
|
- admissionReviewVersions:
|
||||||
|
- v1
|
||||||
|
clientConfig:
|
||||||
|
service:
|
||||||
|
name: '{{ include "piraeus-operator.fullname" . }}-webhook-service'
|
||||||
|
namespace: '{{ .Release.Namespace }}'
|
||||||
|
path: /validate-storage-k8s-io-v1-storageclass
|
||||||
|
{{- if not .Values.tls.certManagerIssuerRef }}
|
||||||
|
caBundle: {{ $ca }}
|
||||||
|
{{- end }}
|
||||||
|
failurePolicy: {{ .Values.webhook.failurePolicy }}
|
||||||
|
timeoutSeconds: {{ .Values.webhook.timeoutSeconds }}
|
||||||
|
name: vstorageclass.kb.io
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- storage.k8s.io
|
||||||
|
apiVersions:
|
||||||
|
- v1
|
||||||
|
operations:
|
||||||
|
- CREATE
|
||||||
|
- UPDATE
|
||||||
|
resources:
|
||||||
|
- storageclasses
|
||||||
|
sideEffects: None
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 1.21.1
|
appVersion: 1.22.2
|
||||||
description: CloudNativePG Helm Chart
|
description: CloudNativePG Operator Helm Chart
|
||||||
home: https://cloudnative-pg.io
|
home: https://cloudnative-pg.io
|
||||||
icon: https://raw.githubusercontent.com/cloudnative-pg/artwork/main/cloudnativepg-logo.svg
|
icon: https://raw.githubusercontent.com/cloudnative-pg/artwork/main/cloudnativepg-logo.svg
|
||||||
keywords:
|
keywords:
|
||||||
|
- operator
|
||||||
|
- controller
|
||||||
- postgresql
|
- postgresql
|
||||||
- postgres
|
- postgres
|
||||||
- database
|
- database
|
||||||
@@ -14,4 +16,4 @@ name: cloudnative-pg
|
|||||||
sources:
|
sources:
|
||||||
- https://github.com/cloudnative-pg/charts
|
- https://github.com/cloudnative-pg/charts
|
||||||
type: application
|
type: application
|
||||||
version: 0.19.1
|
version: 0.20.2
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -31,8 +31,9 @@ spec:
|
|||||||
{{- include "cloudnative-pg.selectorLabels" . | nindent 6 }}
|
{{- include "cloudnative-pg.selectorLabels" . | nindent 6 }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
{{- with .Values.podAnnotations }}
|
|
||||||
annotations:
|
annotations:
|
||||||
|
checksum/config: {{ include (print $.Template.BasePath "/config.yaml") . | sha256sum }}
|
||||||
|
{{- with .Values.podAnnotations }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{{- if .Values.monitoring.grafanaDashboard.create -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.monitoring.grafanaDashboard.configMapName }}
|
||||||
|
namespace: {{ default .Release.Namespace .Values.monitoring.grafanaDashboard.namespace }}
|
||||||
|
labels:
|
||||||
|
{{ .Values.monitoring.grafanaDashboard.sidecarLabel }}: {{ .Values.monitoring.grafanaDashboard.sidecarLabelValue | quote }}
|
||||||
|
data:
|
||||||
|
cnp.json: |-
|
||||||
|
{{ .Files.Get "monitoring/grafana-dashboard.json" | indent 6 }}
|
||||||
|
{{- end -}}
|
||||||
@@ -95,6 +95,26 @@
|
|||||||
"monitoring": {
|
"monitoring": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"grafanaDashboard": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"configMapName": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"create": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"namespace": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"sidecarLabel": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"sidecarLabelValue": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"podMonitorEnabled": {
|
"podMonitorEnabled": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,6 +139,16 @@ affinity: {}
|
|||||||
monitoring:
|
monitoring:
|
||||||
# -- Specifies whether the monitoring should be enabled. Requires Prometheus Operator CRDs.
|
# -- Specifies whether the monitoring should be enabled. Requires Prometheus Operator CRDs.
|
||||||
podMonitorEnabled: false
|
podMonitorEnabled: false
|
||||||
|
grafanaDashboard:
|
||||||
|
create: false
|
||||||
|
# -- Allows overriding the namespace where the ConfigMap will be created, defaulting to the same one as the Release.
|
||||||
|
namespace: ""
|
||||||
|
# -- The name of the ConfigMap containing the dashboard.
|
||||||
|
configMapName: "cnpg-grafana-dashboard"
|
||||||
|
# -- Label that ConfigMaps should have to be loaded as dashboards.
|
||||||
|
sidecarLabel: "grafana_dashboard"
|
||||||
|
# -- Label value that ConfigMaps should have to be loaded as dashboards.
|
||||||
|
sidecarLabelValue: "1"
|
||||||
|
|
||||||
# Default monitoring queries
|
# Default monitoring queries
|
||||||
monitoringQueriesConfigMap:
|
monitoringQueriesConfigMap:
|
||||||
|
|||||||
Reference in New Issue
Block a user