Compare commits

..

1 Commits

Author SHA1 Message Date
Andrei Kvapil
aa4d3a5c77 Positioning Cozystack as framework for building clouds
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-03-05 09:32:12 +01:00
32 changed files with 5541 additions and 13923 deletions

2
.gitignore vendored
View File

@@ -1,3 +1 @@
_out _out
.git
.idea

View File

@@ -44,8 +44,6 @@ 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!

View File

@@ -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.2.0 TAG := v0.1.0
image: image-nginx image: image-nginx

View File

@@ -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.2.0 TAG := v0.1.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

View File

@@ -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.2.0 TAG := v0.1.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:

View File

@@ -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.2.0 TAG := v0.1.0
show: show:
helm template --dry-run=server -n $(NAMESPACE) $(NAME) . helm template --dry-run=server -n $(NAMESPACE) $(NAME) .

View File

@@ -12,7 +12,6 @@ diff:
update: update:
rm -rf charts && mkdir -p charts/kube-ovn rm -rf charts && mkdir -p charts/kube-ovn
tag=$$(git ls-remote --tags --sort="v:refname" https://github.com/kubeovn/kube-ovn | awk -F'[/^]' 'END{print $$3}') && \ curl -sSL https://github.com/kubeovn/kube-ovn/archive/refs/heads/master.tar.gz | \
curl -sSL https://github.com/kubeovn/kube-ovn/archive/refs/tags/$${tag}.tar.gz | \ tar -C charts/kube-ovn -xzvf - --strip 2 kube-ovn-master/charts
tar xzvf - --strip 1 kube-ovn-$${tag#*v}/charts
patch -p4 < patches/cozyconfig.diff patch -p4 < patches/cozyconfig.diff

View File

@@ -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: 1.13.0 version: 0.1.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

View File

@@ -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/kube-ovn --set MASTER_NODES=${Node0} $ helm install --debug kubeovn ./charts --set MASTER_NODES=${Node0}
# high availability install # high availability install
$ helm install --debug kubeovn ./charts/kube-ovn --set MASTER_NODES=${Node0},${Node1},${Node2} $ helm install --debug kubeovn ./charts --set MASTER_NODES=${Node0},${Node1},${Node2}
# upgrade to this version # upgrade to this version
$ helm upgrade --debug kubeovn ./charts/kube-ovn --set MASTER_NODES=${Node0},${Node1},${Node2} $ helm upgrade --debug kubeovn ./charts --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 to install this Helm-chart: and use the following options for install this Helm-chart:
``` ```
--set cni_conf.MOUNT_LOCAL_BIN_DIR=false --set cni_conf.MOUNT_LOCAL_BIN_DIR=false

View File

@@ -133,10 +133,6 @@ 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:
@@ -173,317 +169,10 @@ 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:
@@ -501,8 +190,6 @@ spec:
type: array type: array
items: items:
type: string type: string
qosPolicy:
type: string
tolerations: tolerations:
type: array type: array
items: items:

View File

@@ -29,26 +29,3 @@ 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 -}}

View File

@@ -80,10 +80,6 @@ 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" }}

View File

@@ -72,7 +72,6 @@ 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 }}
@@ -87,6 +86,7 @@ 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:

View File

@@ -1,109 +0,0 @@
{{- 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 }}

View File

@@ -54,28 +54,17 @@ rules:
- "" - ""
resources: resources:
- pods - pods
- namespaces
verbs:
- get
- list
- patch
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- pods/exec - pods/exec
- namespaces
- nodes
- configmaps
verbs: verbs:
- create - create
- get
- list
- watch
- patch
- update
- apiGroups: - apiGroups:
- "k8s.cni.cncf.io" - "k8s.cni.cncf.io"
resources: resources:
@@ -85,53 +74,40 @@ rules:
- apiGroups: - apiGroups:
- "" - ""
- networking.k8s.io - networking.k8s.io
resources:
- networkpolicies
- configmaps
verbs:
- get
- list
- watch
- apiGroups:
- apps - apps
resources: resources:
- networkpolicies
- daemonsets - daemonsets
verbs: verbs:
- get - get
- apiGroups:
- ""
resources:
- services
- services/status
verbs:
- get
- list
- update
- create
- delete
- watch
- apiGroups:
- ""
resources:
- endpoints
verbs:
- create
- update
- get
- list - list
- watch - watch
- apiGroups: - apiGroups:
- ""
- apps - apps
resources: resources:
- services/status
verbs:
- update
- apiGroups:
- ""
- networking.k8s.io
- apps
- extensions
resources:
- services
- endpoints
- 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:
@@ -172,6 +148,8 @@ rules:
- patch - patch
- apiGroups: - apiGroups:
- "" - ""
- networking.k8s.io
- apps
resources: resources:
- services - services
- endpoints - endpoints
@@ -195,34 +173,29 @@ metadata:
rules: rules:
- apiGroups: - apiGroups:
- "kubeovn.io" - "kubeovn.io"
- ""
resources: resources:
- subnets - subnets
- provider-networks - provider-networks
- pods - ovn-eips
- ovn-eips/status
- ips
verbs: verbs:
- get - get
- list - list
- patch
- update
- watch - watch
- apiGroups: - apiGroups:
- "" - ""
- "kubeovn.io"
resources: resources:
- ovn-eips - pods
- 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:
@@ -249,6 +222,8 @@ rules:
- get - get
- list - list
- apiGroups: - apiGroups:
- ""
- networking.k8s.io
- apps - apps
resources: resources:
- daemonsets - daemonsets

View File

@@ -90,6 +90,10 @@ 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:

View File

@@ -6,13 +6,12 @@ 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: {{ include "kubeovn.ovs-ovn.updateStrategy" . }} type: RollingUpdate
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: 1
maxUnavailable: 0 maxUnavailable: 0
@@ -22,8 +21,6 @@ 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

View File

@@ -1,4 +1,5 @@
{{- if eq (include "kubeovn.ovs-ovn.updateStrategy" .) "OnDelete" }} {{ if (lookup "apps/v1" "DaemonSet" .Values.namespace "ovs-ovn") }}
{{ if eq (lookup "apps/v1" "DaemonSet" .Values.namespace "ovs-ovn").spec.updateStrategy.type "OnDelete" }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
@@ -32,16 +33,6 @@ rules:
- ovs-ovn - ovs-ovn
verbs: verbs:
- get - get
- apiGroups:
- apps
resources:
- deployments
resourceNames:
- ovn-central
verbs:
- get
- list
- watch
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
@@ -55,7 +46,6 @@ rules:
verbs: verbs:
- list - list
- get - get
- watch
- delete - delete
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
@@ -137,27 +127,16 @@ 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:
- bash - sh
- -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
- name: kube-ovn-tls {{ end }}
secret:
optional: true
secretName: kube-ovn-tls
{{ end }} {{ end }}

View File

@@ -40,6 +40,7 @@ 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"
@@ -62,7 +63,6 @@ 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,6 +90,8 @@ 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
@@ -143,7 +145,7 @@ ovs-ovn:
cpu: "200m" cpu: "200m"
memory: "200Mi" memory: "200Mi"
limits: limits:
cpu: "2" cpu: "1000m"
memory: "1000Mi" memory: "1000Mi"
kube-ovn-controller: kube-ovn-controller:
requests: requests:

View File

@@ -1,4 +1,12 @@
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:

View File

@@ -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.4.1 version: 2.3.0
appVersion: "v2.4.1" appVersion: "v2.3.0"
maintainers: maintainers:
- name: Piraeus Datastore - name: Piraeus Datastore
url: https://piraeus.io url: https://piraeus.io

View File

@@ -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.26.2 tag: v1.25.1
image: piraeus-server image: piraeus-server
linstor-satellite: linstor-satellite:
tag: v1.26.2 tag: v1.25.1
image: piraeus-server image: piraeus-server
linstor-csi: linstor-csi:
tag: v1.4.0 tag: v1.3.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.2.0 tag: v1.1.4
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.8 tag: v9.2.6
# 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,18 +54,12 @@ 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
@@ -75,25 +69,25 @@ data:
base: registry.k8s.io/sig-storage base: registry.k8s.io/sig-storage
components: components:
csi-attacher: csi-attacher:
tag: v4.5.0 tag: v4.4.2
image: csi-attacher image: csi-attacher
csi-livenessprobe: csi-livenessprobe:
tag: v2.12.0 tag: v2.11.0
image: livenessprobe image: livenessprobe
csi-provisioner: csi-provisioner:
tag: v4.0.0 tag: v3.6.2
image: csi-provisioner image: csi-provisioner
csi-snapshotter: csi-snapshotter:
tag: v7.0.1 tag: v6.3.2
image: csi-snapshotter image: csi-snapshotter
csi-resizer: csi-resizer:
tag: v1.10.0 tag: v1.9.2
image: csi-resizer image: csi-resizer
csi-external-health-monitor-controller: csi-external-health-monitor-controller:
tag: v0.11.0 tag: v0.10.0
image: csi-external-health-monitor-controller image: csi-external-health-monitor-controller
csi-node-driver-registrar: csi-node-driver-registrar:
tag: v2.10.0 tag: v2.9.1
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: |

View File

@@ -152,27 +152,3 @@ 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

View File

@@ -1,11 +1,9 @@
apiVersion: v2 apiVersion: v2
appVersion: 1.22.2 appVersion: 1.21.1
description: CloudNativePG Operator Helm Chart description: CloudNativePG 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
@@ -16,4 +14,4 @@ name: cloudnative-pg
sources: sources:
- https://github.com/cloudnative-pg/charts - https://github.com/cloudnative-pg/charts
type: application type: application
version: 0.20.2 version: 0.19.1

File diff suppressed because one or more lines are too long

View File

@@ -31,9 +31,8 @@ spec:
{{- include "cloudnative-pg.selectorLabels" . | nindent 6 }} {{- include "cloudnative-pg.selectorLabels" . | nindent 6 }}
template: template:
metadata: metadata:
annotations:
checksum/config: {{ include (print $.Template.BasePath "/config.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }} {{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
labels: labels:

View File

@@ -1,12 +0,0 @@
{{- 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 -}}

View File

@@ -95,26 +95,6 @@
"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"
} }

View File

@@ -139,16 +139,6 @@ 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: