introduce cdi

This commit is contained in:
Andrei Kvapil
2024-01-24 09:30:33 +01:00
parent 070e023399
commit a3c434f84a
11 changed files with 5241 additions and 28 deletions

View File

@@ -1,14 +1,14 @@
{
"containerimage.config.digest": "sha256:6be80a675f818b63eb76911528e759c1c797d3cd98aabad549140de4fa2f2b12",
"containerimage.config.digest": "sha256:e7fa7f0755bf5441558acc23e11dae287d21aa1828101ac14d5f20ae999d8b28",
"containerimage.descriptor": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:f04925e7d86974a5949546f2b8e32812f95a7f1d33c78945f36bd024556d1c79",
"digest": "sha256:1210e7234b71ffa2682369433da69bd9e6457f927e0f378ad292730ed3bffb45",
"size": 2074,
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
"containerimage.digest": "sha256:f04925e7d86974a5949546f2b8e32812f95a7f1d33c78945f36bd024556d1c79",
"containerimage.digest": "sha256:1210e7234b71ffa2682369433da69bd9e6457f927e0f378ad292730ed3bffb45",
"image.name": "ghcr.io/aenix-io/cozystack/installer:latest"
}

View File

@@ -140,6 +140,10 @@ spec:
kind: HelmRepository
name: cozystack-system
namespace: cozy-system
values:
cozystack:
configHash: {{ index (lookup "v1" "ConfigMap" "cozy-system" "cozystack") "data" | toJson | sha256sum }}
nodesHash: {{ include "master.nodeIPs" . | sha256sum }}
dependsOn:
- name: cilium
namespace: cozy-cilium
@@ -194,6 +198,50 @@ spec:
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: kubevirt-cdi-operator
namespace: cozy-kubevirt-cdi
spec:
interval: 1m
releaseName: kubevirt-cdi-operator
chart:
spec:
chart: cozy-kubevirt-cdi-operator
sourceRef:
kind: HelmRepository
name: cozystack-system
namespace: cozy-system
dependsOn:
- name: cilium
namespace: cozy-cilium
- name: kubeovn
namespace: cozy-kubeovn
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: kubevirt-cdi
namespace: cozy-kubevirt-cdi
spec:
interval: 1m
releaseName: kubevirt-cdi
chart:
spec:
chart: cozy-kubevirt-cdi
sourceRef:
kind: HelmRepository
name: cozystack-system
namespace: cozy-system
dependsOn:
- name: cilium
namespace: cozy-cilium
- name: kubeovn
namespace: cozy-kubeovn
- name: kubevirt-cdi-operator
namespace: cozy-kubevirt-cdi
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: metallb
namespace: cozy-metallb
@@ -215,6 +263,33 @@ spec:
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: metallb-addresses
namespace: cozy-metallb
spec:
interval: 1m
releaseName: metallb-addresses
chart:
spec:
chart: cozy-metallb-addresses
sourceRef:
kind: HelmRepository
name: cozystack-system
namespace: cozy-system
values:
cozystack:
configHash: {{ index (lookup "v1" "ConfigMap" "cozy-system" "cozystack") "data" | toJson | sha256sum }}
nodesHash: {{ include "master.nodeIPs" . | sha256sum }}
dependsOn:
- name: cilium
namespace: cozy-cilium
- name: kubeovn
namespace: cozy-kubeovn
- name: metallb
namespace: cozy-metallb
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: grafana-operator
namespace: cozy-grafana-operator

View File

@@ -13,6 +13,7 @@ namespaces:
privileged: true
- name: cozy-kubevirt
privileged: true
- name: cozy-kubevirt-cdi
- name: cozy-linstor
privileged: true
- name: cozy-mariadb-operator

View File

@@ -0,0 +1,2 @@
name: cozy-kubevirt-cdi-operator
version: 1.0.0

View File

@@ -0,0 +1,19 @@
NAME=kubevirt-cdi-operator
NAMESPACE=cozy-kubevirt-cdi
show:
helm template --dry-run=server -n $(NAMESPACE) $(NAME) .
apply:
helm upgrade -i -n $(NAMESPACE) $(NAME) .
diff:
helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) .
update:
rm -rf templates
mkdir templates
export VERSION=$$(basename $$(curl -s -w %{redirect_url} https://github.com/kubevirt/containerized-data-importer/releases/latest)) && \
wget https://github.com/kubevirt/containerized-data-importer/releases/download/$$VERSION/cdi-operator.yaml -O templates/cdi-operator.yaml
sed -i 's/namespace: cdi/namespace: cozy-kubevirt-cdi/g' templates/cdi-operator.yaml
awk -i inplace -v RS="---" '!/kind: Namespace/{printf "%s", $$0 RS}' templates/cdi-operator.yaml

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
name: cozy-kubevirt-cdi
version: 1.0.0

View File

@@ -0,0 +1,17 @@
NAME=kubevirt-cdi
NAMESPACE=cozy-kubevirt-cdi
show:
helm template --dry-run=server -n $(NAMESPACE) $(NAME) .
apply:
helm upgrade -i -n $(NAMESPACE) $(NAME) .
diff:
helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) .
update:
rm -rf templates
mkdir templates
export VERSION=$$(basename $$(curl -s -w %{redirect_url} https://github.com/kubevirt/containerized-data-importer/releases/latest)) && \
wget https://github.com/kubevirt/containerized-data-importer/releases/download/$$VERSION/cdi-cr.yaml -O templates/cdi-cr.yaml

View File

@@ -0,0 +1,18 @@
apiVersion: cdi.kubevirt.io/v1beta1
kind: CDI
metadata:
name: cdi
spec:
config:
featureGates:
- HonorWaitForFirstConsumer
imagePullPolicy: IfNotPresent
infra:
nodeSelector:
kubernetes.io/os: linux
tolerations:
- key: CriticalAddonsOnly
operator: Exists
workload:
nodeSelector:
kubernetes.io/os: linux

View File

@@ -1,32 +1,25 @@
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: public-ips
namespace: {{ .Release.namespace }}
spec:
autoAssign: false
{{- with .Values.metallb.publicAddresses }}
addresses:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- $cozyConfig := lookup "v1" "ConfigMap" "cozy-system" "cozystack" }}
{{- range $k, $v := $cozyConfig.data }}
{{- if hasPrefix "ipv4-external-pool-" $k }}
{{- $name := trimPrefix "ipv4-external-pool-" $k }}
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: private-ips
namespace: {{ .Release.namespace }}
name: cozy-{{ $name }}
spec:
{{- with .Values.metallb.privateAddresses }}
#autoAssign: false
addresses:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- range (splitList "," $v) }}
- {{ . }}
{{- end }}
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2adv
namespace: {{ .Release.namespace }}
name: cozy-{{ $name }}
spec:
ipAddressPools:
- public-ips
- private-ips
- cozy-{{ $name }}
{{- end }}
{{- end }}

View File

@@ -1,5 +0,0 @@
metallb:
publicAddresses:
- 1.2.3.4
privateAddresses:
- 192.168.100.200-192.168.100.250