Compare commits

..

1 Commits

Author SHA1 Message Date
Andrei Kvapil
32d7b2ade8 Add clickhouse-operator
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
2024-04-13 08:57:27 +02:00
125 changed files with 448 additions and 568 deletions

View File

@@ -20,28 +20,9 @@ miss_map=$(echo "$new_map" | awk 'NR==FNR { new_map[$1 " " $2] = $3; next } { if
resolved_miss_map=$( resolved_miss_map=$(
echo "$miss_map" | while read chart version commit; do echo "$miss_map" | while read chart version commit; do
if [ "$commit" = HEAD ]; then if [ "$commit" = HEAD ]; then
line=$(awk '/^version:/ {print NR; exit}' "./$chart/Chart.yaml") line=$(git show HEAD:"./$chart/Chart.yaml" | awk '/^version:/ {print NR; exit}')
change_commit=$(git --no-pager blame -L"$line",+1 -- "$chart/Chart.yaml" | awk '{print $1}') change_commit=$(git --no-pager blame -L"$line",+1 HEAD -- "$chart/Chart.yaml" | awk '{print $1}')
commit=$(git describe --always "$change_commit~1")
if [ "$change_commit" = "00000000" ]; then
# Not commited yet, use previus commit
line=$(git show HEAD:"./$chart/Chart.yaml" | awk '/^version:/ {print NR; exit}')
commit=$(git --no-pager blame -L"$line",+1 HEAD -- "$chart/Chart.yaml" | awk '{print $1}')
if [ $(echo $commit | cut -c1) = "^" ]; then
# Previus commit not exists
commit=$(echo $commit | cut -c2-)
fi
else
# Commited, but version_map wasn't updated
line=$(git show HEAD:"./$chart/Chart.yaml" | awk '/^version:/ {print NR; exit}')
change_commit=$(git --no-pager blame -L"$line",+1 HEAD -- "$chart/Chart.yaml" | awk '{print $1}')
if [ $(echo $change_commit | cut -c1) = "^" ]; then
# Previus commit not exists
commit=$(echo $change_commit | cut -c2-)
else
commit=$(git describe --always "$change_commit~1")
fi
fi
fi fi
echo "$chart $version $commit" echo "$chart $version $commit"
done done

25
hack/prepare_release.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/sh
set -e
if [ -e $1 ]; then
echo "Please pass version in the first argument"
echo "Example: $0 0.2.0"
exit 1
fi
version=$1
talos_version=$(awk '/^version:/ {print $2}' packages/core/installer/images/talos/profiles/installer.yaml)
set -x
sed -i "/^TAG / s|=.*|= v${version}|" \
packages/apps/http-cache/Makefile \
packages/apps/kubernetes/Makefile \
packages/core/installer/Makefile \
packages/system/dashboard/Makefile
sed -i "/^VERSION / s|=.*|= ${version}|" \
packages/core/Makefile \
packages/system/Makefile
make -C packages/core fix-chartnames
make -C packages/system fix-chartnames

View File

@@ -15,6 +15,13 @@ metadata:
namespace: cozy-system namespace: cozy-system
--- ---
# Source: cozy-installer/templates/cozystack.yaml # Source: cozy-installer/templates/cozystack.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: cozystack
namespace: cozy-system
---
# Source: cozy-installer/templates/cozystack.yaml
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
@@ -63,7 +70,7 @@ spec:
serviceAccountName: cozystack serviceAccountName: cozystack
containers: containers:
- name: cozystack - name: cozystack
image: "ghcr.io/aenix-io/cozystack/cozystack:v0.3.1" image: "ghcr.io/aenix-io/cozystack/cozystack:v0.2.0"
env: env:
- name: KUBERNETES_SERVICE_HOST - name: KUBERNETES_SERVICE_HOST
value: localhost value: localhost
@@ -82,7 +89,7 @@ spec:
fieldRef: fieldRef:
fieldPath: metadata.name fieldPath: metadata.name
- name: darkhttpd - name: darkhttpd
image: "ghcr.io/aenix-io/cozystack/cozystack:v0.3.1" image: "ghcr.io/aenix-io/cozystack/cozystack:v0.2.0"
command: command:
- /usr/bin/darkhttpd - /usr/bin/darkhttpd
- /cozystack/assets - /cozystack/assets

View File

@@ -1,25 +0,0 @@
apiVersion: v2
name: clickhouse
description: Managed ClickHouse service
icon: https://cdn.worldvectorlogo.com/logos/clickhouse.svg
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# 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.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0
# 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
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "24.3.0"

View File

@@ -1,36 +0,0 @@
apiVersion: "clickhouse.altinity.com/v1"
kind: "ClickHouseInstallation"
metadata:
name: "{{ .Release.Name }}"
spec:
{{- with .Values.size }}
defaults:
templates:
dataVolumeClaimTemplate: data-volume-template
{{- end }}
configuration:
{{- with .Values.users }}
users:
{{- range $name, $u := . }}
{{ $name }}/password_sha256_hex: {{ sha256sum $u.password }}
{{ $name }}/profile: {{ ternary "readonly" "default" (index $u "readonly" | default false) }}
{{- end }}
{{- end }}
profiles:
readonly/readonly: "1"
clusters:
- name: "clickhouse"
layout:
shardsCount: {{ .Values.shards }}
replicasCount: {{ .Values.replicas }}
{{- with .Values.size }}
templates:
volumeClaimTemplates:
- name: data-volume-template
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ . }}
{{- end }}

View File

@@ -1,10 +0,0 @@
size: 10Gi
shards: 1
replicas: 2
users:
user1:
password: strongpassword
user2:
readonly: true
password: hackme

View File

@@ -16,10 +16,10 @@ 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.2.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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.25.3" appVersion: "1.16.0"

View File

@@ -1,20 +1,22 @@
PUSH := 1
LOAD := 0
REGISTRY := ghcr.io/aenix-io/cozystack
NGINX_CACHE_TAG = v0.1.0 NGINX_CACHE_TAG = v0.1.0
TAG := v0.2.0
include ../../../scripts/common-envs.mk
image: image-nginx image: image-nginx
image-nginx: image-nginx:
docker buildx build --platform linux/amd64 --build-arg ARCH=amd64 images/nginx-cache \ docker buildx build --platform linux/amd64 --build-arg ARCH=amd64 images/nginx-cache \
--provenance false \ --provenance false \
--tag $(REGISTRY)/nginx-cache:$(call settag,$(NGINX_CACHE_TAG)) \ --tag $(REGISTRY)/nginx-cache:$(NGINX_CACHE_TAG) \
--tag $(REGISTRY)/nginx-cache:$(call settag,$(NGINX_CACHE_TAG)-$(TAG)) \ --tag $(REGISTRY)/nginx-cache:$(NGINX_CACHE_TAG)-$(TAG) \
--cache-from type=registry,ref=$(REGISTRY)/nginx-cache:latest \ --cache-from type=registry,ref=$(REGISTRY)/nginx-cache:$(NGINX_CACHE_TAG) \
--cache-to type=inline \ --cache-to type=inline \
--metadata-file images/nginx-cache.json \ --metadata-file images/nginx-cache.json \
--push=$(PUSH) \ --push=$(PUSH) \
--load=$(LOAD) --load=$(LOAD)
echo "$(REGISTRY)/nginx-cache:$(call settag,$(NGINX_CACHE_TAG))" > images/nginx-cache.tag echo "$(REGISTRY)/nginx-cache:$(NGINX_CACHE_TAG)" > images/nginx-cache.tag
update: update:
tag=$$(git ls-remote --tags --sort="v:refname" https://github.com/chrislim2888/IP2Location-C-Library | awk -F'[/^]' 'END{print $$3}') && \ tag=$$(git ls-remote --tags --sort="v:refname" https://github.com/chrislim2888/IP2Location-C-Library | awk -F'[/^]' 'END{print $$3}') && \

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:e406d5ac59cc06bbab51e16ae9a520143ad4f54952ef8f8cca982dc89454d616", "containerimage.config.digest": "sha256:0487fc50bb5f870720b05e947185424a400fad38b682af8f1ca4b418ed3c5b4b",
"containerimage.digest": "sha256:08e5063e65d2adc17278abee0ab43ce31cf37bc9bc7eb7988ef16f1f1c459862" "containerimage.digest": "sha256:be12f3834be0e2f129685f682fab83c871610985fc43668ce6a294c9de603798"
} }

View File

@@ -74,7 +74,7 @@ data:
option redispatch 1 option redispatch 1
default-server observe layer7 error-limit 10 on-error mark-down default-server observe layer7 error-limit 10 on-error mark-down
{{- range $i, $e := until (int $.Values.nginx.replicas) }} {{- range $i, $e := until (int $.Values.replicas) }}
server cache{{ $i }} {{ $.Release.Name }}-nginx-cache-{{ $i }}:80 check server cache{{ $i }} {{ $.Release.Name }}-nginx-cache-{{ $i }}:80 check
{{- end }} {{- end }}
{{- range $i, $e := $.Values.endpoints }} {{- range $i, $e := $.Values.endpoints }}

View File

@@ -7,7 +7,7 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
replicas: {{ .Values.haproxy.replicas }} replicas: 2
selector: selector:
matchLabels: matchLabels:
app: {{ .Release.Name }}-haproxy app: {{ .Release.Name }}-haproxy

View File

@@ -11,7 +11,7 @@ spec:
selector: selector:
matchLabels: matchLabels:
app: {{ $.Release.Name }}-nginx-cache app: {{ $.Release.Name }}-nginx-cache
{{- range $i := until (int $.Values.nginx.replicas) }} {{- range $i := until 3 }}
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment

View File

@@ -1,10 +1,4 @@
external: false external: false
haproxy:
replicas: 2
nginx:
replicas: 2
size: 10Gi size: 10Gi
endpoints: endpoints:
- 10.100.3.1:80 - 10.100.3.1:80

View File

@@ -1,25 +0,0 @@
apiVersion: v2
name: kafka
description: Managed Kafka service
icon: https://upload.wikimedia.org/wikipedia/commons/0/05/Apache_kafka.svg
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# 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.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0
# 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
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "3.7.0"

View File

@@ -1,53 +0,0 @@
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: {{ .Release.Name }}
labels:
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
kafka:
replicas: {{ .Values.replicas }}
listeners:
- name: plain
port: 9092
type: internal
tls: false
- name: tls
port: 9093
type: internal
tls: true
- name: external
port: 9094
{{- if .Values.external }}
type: loadbalancer
{{- else }}
type: internal
{{- end }}
tls: false
config:
offsets.topic.replication.factor: 3
transaction.state.log.replication.factor: 3
transaction.state.log.min.isr: 2
default.replication.factor: 3
min.insync.replicas: 2
storage:
type: jbod
volumes:
- id: 0
type: persistent-claim
{{- with .Values.kafka.size }}
size: {{ . }}
{{- end }}
deleteClaim: true
zookeeper:
replicas: {{ .Values.replicas }}
storage:
type: persistent-claim
{{- with .Values.zookeeper.size }}
size: {{ . }}
{{- end }}
deleteClaim: false
entityOperator:
topicOperator: {}
userOperator: {}

View File

@@ -1,17 +0,0 @@
{{- range $topic := .Values.topics }}
---
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaTopic
metadata:
name: "{{ $.Release.Name }}-{{ kebabcase $topic.name }}"
labels:
strimzi.io/cluster: "{{ $.Release.Name }}"
spec:
topicName: "{{ $topic.name }}"
partitions: 10
replicas: 3
{{- with $topic.config }}
config:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -1,22 +0,0 @@
external: false
kafka:
size: 10Gi
replicas: 3
zookeeper:
size: 5Gi
replicas: 3
topics:
- name: Results
partitions: 1
replicas: 3
config:
min.insync.replicas: 2
- name: Orders
config:
cleanup.policy: compact
segment.ms: 3600000
max.compaction.lag.ms: 5400000
min.insync.replicas: 2
partitions: 1
replicationFactor: 3

View File

@@ -16,10 +16,10 @@ 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.2.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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.19.0" appVersion: "1.16.0"

View File

@@ -1,17 +1,19 @@
PUSH := 1
LOAD := 0
REGISTRY := ghcr.io/aenix-io/cozystack
TAG := v0.2.0
UBUNTU_CONTAINER_DISK_TAG = v1.29.1 UBUNTU_CONTAINER_DISK_TAG = v1.29.1
include ../../../scripts/common-envs.mk
image: image-ubuntu-container-disk image: image-ubuntu-container-disk
image-ubuntu-container-disk: image-ubuntu-container-disk:
docker buildx build --platform linux/amd64 --build-arg ARCH=amd64 images/ubuntu-container-disk \ docker buildx build --platform linux/amd64 --build-arg ARCH=amd64 images/ubuntu-container-disk \
--provenance false \ --provenance false \
--tag $(REGISTRY)/ubuntu-container-disk:$(call settag,$(UBUNTU_CONTAINER_DISK_TAG)) \ --tag $(REGISTRY)/ubuntu-container-disk:$(UBUNTU_CONTAINER_DISK_TAG) \
--tag $(REGISTRY)/ubuntu-container-disk:$(call settag,$(UBUNTU_CONTAINER_DISK_TAG)-$(TAG)) \ --tag $(REGISTRY)/ubuntu-container-disk:$(UBUNTU_CONTAINER_DISK_TAG)-$(TAG) \
--cache-from type=registry,ref=$(REGISTRY)/ubuntu-container-disk:latest \ --cache-from type=registry,ref=$(REGISTRY)/ubuntu-container-disk:$(UBUNTU_CONTAINER_DISK_TAG) \
--cache-to type=inline \ --cache-to type=inline \
--metadata-file images/ubuntu-container-disk.json \ --metadata-file images/ubuntu-container-disk.json \
--push=$(PUSH) \ --push=$(PUSH) \
--load=$(LOAD) --load=$(LOAD)
echo "$(REGISTRY)/ubuntu-container-disk:$(call settag,$(UBUNTU_CONTAINER_DISK_TAG))" > images/ubuntu-container-disk.tag echo "$(REGISTRY)/ubuntu-container-disk:$(UBUNTU_CONTAINER_DISK_TAG)" > images/ubuntu-container-disk.tag

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:62baab666445d76498fb14cc1d0865fc82e4bdd5cb1d7ba80475dc5024184622", "containerimage.config.digest": "sha256:43d0bfd01c5e364ba961f1e3dc2c7ccd7fd4ca65bd26bc8c4a5298d7ff2c9f4f",
"containerimage.digest": "sha256:9363d717f966f4e7927da332eaaf17401b42203a2fcb493b428f94d096dae3a5" "containerimage.digest": "sha256:908b3c186bee86f1c9476317eb6582d07f19776b291aa068e5642f8fd08fa9e7"
} }

View File

@@ -64,13 +64,12 @@ metadata:
cluster.x-k8s.io/managed-by: kamaji cluster.x-k8s.io/managed-by: kamaji
name: {{ .Release.Name }} name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
{{- range $groupName, $group := .Values.nodeGroups }}
--- ---
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate kind: KubeadmConfigTemplate
metadata: metadata:
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
template: template:
spec: spec:
@@ -79,7 +78,7 @@ spec:
kubeletExtraArgs: {} kubeletExtraArgs: {}
discovery: discovery:
bootstrapToken: bootstrapToken:
apiServerEndpoint: {{ $.Release.Name }}.{{ $.Release.Namespace }}.svc:6443 apiServerEndpoint: {{ .Release.Name }}.{{ .Release.Namespace }}.svc:6443
initConfiguration: initConfiguration:
skipPhases: skipPhases:
- addon/kube-proxy - addon/kube-proxy
@@ -87,8 +86,8 @@ spec:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtMachineTemplate kind: KubevirtMachineTemplate
metadata: metadata:
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
template: template:
spec: spec:
@@ -96,7 +95,7 @@ spec:
checkStrategy: ssh checkStrategy: ssh
virtualMachineTemplate: virtualMachineTemplate:
metadata: metadata:
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
spec: spec:
runStrategy: Always runStrategy: Always
template: template:
@@ -104,7 +103,7 @@ spec:
domain: domain:
cpu: cpu:
threads: 1 threads: 1
cores: {{ $group.resources.cpu }} cores: 2
sockets: 1 sockets: 1
devices: devices:
disks: disks:
@@ -113,7 +112,7 @@ spec:
name: containervolume name: containervolume
networkInterfaceMultiqueue: true networkInterfaceMultiqueue: true
memory: memory:
guest: {{ $group.resources.memory }} guest: 1024Mi
evictionStrategy: External evictionStrategy: External
volumes: volumes:
- containerDisk: - containerDisk:
@@ -123,28 +122,29 @@ spec:
apiVersion: cluster.x-k8s.io/v1beta1 apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineDeployment kind: MachineDeployment
metadata: metadata:
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: {{ $.Release.Namespace }} namespace: {{ .Release.Namespace }}
annotations: annotations:
cluster.x-k8s.io/cluster-api-autoscaler-node-group-min-size: "{{ $group.minReplicas }}" cluster.x-k8s.io/cluster-api-autoscaler-node-group-max-size: "2"
cluster.x-k8s.io/cluster-api-autoscaler-node-group-max-size: "{{ $group.maxReplicas }}" cluster.x-k8s.io/cluster-api-autoscaler-node-group-min-size: "0"
capacity.cluster-autoscaler.kubernetes.io/memory: "{{ $group.resources.memory }}" capacity.cluster-autoscaler.kubernetes.io/memory: "1024Mi"
capacity.cluster-autoscaler.kubernetes.io/cpu: "{{ $group.resources.cpu }}" capacity.cluster-autoscaler.kubernetes.io/cpu: "2"
spec: spec:
clusterName: {{ $.Release.Name }} clusterName: {{ .Release.Name }}
selector:
matchLabels: null
template: template:
spec: spec:
bootstrap: bootstrap:
configRef: configRef:
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate kind: KubeadmConfigTemplate
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: default namespace: default
clusterName: {{ $.Release.Name }} clusterName: {{ .Release.Name }}
infrastructureRef: infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtMachineTemplate kind: KubevirtMachineTemplate
name: {{ $.Release.Name }}-{{ $groupName }} name: {{ .Release.Name }}-md-0
namespace: default namespace: default
version: v1.29.0 version: v1.23.10
{{- end }}

View File

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"host": {
"type": "string",
"title": "Domain name for this kubernetes cluster",
"description": "This host will be used for all apps deployed in this tenant"
}
}
}

View File

@@ -1,10 +1 @@
host: "" host: ""
controlPlane:
replicas: 2
nodeGroups:
md0:
minReplicas: 0
maxReplicas: 10
resources:
cpu: 2
memory: 1024Mi

View File

@@ -16,10 +16,10 @@ 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.3.0 version: 0.2.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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "11.0.2" appVersion: "1.16.0"

View File

@@ -12,7 +12,7 @@ spec:
port: 3306 port: 3306
replicas: {{ .Values.replicas }} replicas: 2
affinity: affinity:
podAntiAffinity: podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution: requiredDuringSchedulingIgnoredDuringExecution:
@@ -28,13 +28,11 @@ spec:
- {{ .Release.Name }} - {{ .Release.Name }}
topologyKey: "kubernetes.io/hostname" topologyKey: "kubernetes.io/hostname"
{{- if gt (int .Values.replicas) 1 }}
replication: replication:
enabled: true enabled: true
#primary: #primary:
# podIndex: 0 # podIndex: 0
# automaticFailover: true # automaticFailover: true
{{- end }}
metrics: metrics:
enabled: true enabled: true

View File

@@ -1,8 +1,6 @@
external: false external: false
size: 10Gi size: 10Gi
replicas: 2
users: users:
root: root:
password: strongpassword password: strongpassword

View File

@@ -16,10 +16,10 @@ 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.2.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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "16.2" appVersion: "1.16.0"

View File

@@ -4,7 +4,7 @@ kind: Cluster
metadata: metadata:
name: {{ .Release.Name }} name: {{ .Release.Name }}
spec: spec:
instances: {{ .Values.replicas }} instances: 2
enableSuperuserAccess: true enableSuperuserAccess: true
postgresql: postgresql:

View File

@@ -1,6 +1,5 @@
external: false external: false
size: 10Gi size: 10Gi
replicas: 2
users: users:
user1: user1:

View File

@@ -16,10 +16,10 @@ 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.2.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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "3.12.2" appVersion: "1.16.0"

View File

@@ -6,7 +6,7 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
replicas: {{ .Values.replicas }} replicas: 3
{{- if .Values.external }} {{- if .Values.external }}
service: service:
type: LoadBalancer type: LoadBalancer

View File

@@ -5,10 +5,6 @@
"external": { "external": {
"type": "boolean", "type": "boolean",
"title": "Enable external Access" "title": "Enable external Access"
},
"replicas": {
"type": "integer",
"title": "Replicas"
} }
} }
} }

View File

@@ -1,2 +1 @@
replicas: 3
external: false external: false

View File

@@ -16,10 +16,10 @@ 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.2.0 version: 0.1.1
# 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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "6.2.6" appVersion: "1.16.0"

View File

@@ -14,7 +14,7 @@ spec:
limits: limits:
memory: 100Mi memory: 100Mi
redis: redis:
replicas: {{ .Values.replicas }} replicas: 3
resources: resources:
requests: requests:
cpu: 150m cpu: 150m

View File

@@ -9,10 +9,6 @@
"size": { "size": {
"type": "string", "type": "string",
"title": "Disk Size" "title": "Disk Size"
},
"replicas": {
"type": "integer",
"title": "Replicas"
} }
} }
} }

View File

@@ -1,3 +1,2 @@
replicas: 2
external: false external: false
size: 5Gi size: 5Gi

View File

@@ -16,10 +16,10 @@ 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.2.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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "2.9.7" appVersion: "1.16.0"

View File

@@ -7,7 +7,7 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
replicas: {{ .Values.replicas }} replicas: 2
selector: selector:
matchLabels: matchLabels:
app: {{ .Release.Name }}-haproxy app: {{ .Release.Name }}-haproxy

View File

@@ -1,5 +1,4 @@
external: false external: false
replicas: 2
httpAndHttps: httpAndHttps:
mode: tcp mode: tcp
targetPorts: targetPorts:

View File

@@ -1,26 +1,15 @@
clickhouse 0.1.0 ca79f72 http-cache 0.1.0 HEAD
clickhouse 0.2.0 HEAD kubernetes 0.1.0 HEAD
http-cache 0.1.0 a956713
http-cache 0.2.0 HEAD
kafka 0.1.0 HEAD
kubernetes 0.1.0 f642698
kubernetes 0.2.0 HEAD
mysql 0.1.0 f642698 mysql 0.1.0 f642698
mysql 0.2.0 8b975ff0 mysql 0.2.0 HEAD
mysql 0.3.0 HEAD postgres 0.1.0 HEAD
postgres 0.1.0 f642698 rabbitmq 0.1.0 HEAD
postgres 0.2.0 HEAD redis 0.1.1 HEAD
rabbitmq 0.1.0 f642698 tcp-balancer 0.1.0 HEAD
rabbitmq 0.2.0 HEAD
redis 0.1.1 f642698
redis 0.2.0 HEAD
tcp-balancer 0.1.0 f642698
tcp-balancer 0.2.0 HEAD
tenant 0.1.3 3d1b86c tenant 0.1.3 3d1b86c
tenant 0.1.4 d200480 tenant 0.1.4 d200480
tenant 0.1.5 e3ab858 tenant 0.1.5 e3ab858
tenant 1.0.0 HEAD tenant 1.0.0 HEAD
virtual-machine 0.1.4 f2015d6 virtual-machine 0.1.4 f2015d6
virtual-machine 0.1.5 HEAD virtual-machine 0.1.5 HEAD
vpn 0.1.0 f642698 vpn 0.1.0 HEAD
vpn 0.2.0 HEAD

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: vpn name: vpn
description: Managed VPN service description: Establish a connection from your computer
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Outline_VPN_icon.png/600px-Outline_VPN_icon.png icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Outline_VPN_icon.png/600px-Outline_VPN_icon.png
# A chart can be either an 'application' or a 'library' chart. # A chart can be either an 'application' or a 'library' chart.
@@ -16,10 +16,10 @@ 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.2.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
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: "1.8.1" appVersion: "1.16.0"

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata: metadata:
name: {{ .Release.Name }}-vpn name: {{ .Release.Name }}-vpn
spec: spec:
replicas: {{ .Values.replicas }} replicas: 2
selector: selector:
matchLabels: matchLabels:
app: {{ .Release.Name }}-vpn app: {{ .Release.Name }}-vpn

View File

@@ -1,5 +1,4 @@
external: false external: false
replicas: 2
users: users:
user1: user1:

6
packages/core/Makefile Normal file
View File

@@ -0,0 +1,6 @@
VERSION := 0.2.0
gen: fix-chartnames
fix-chartnames:
find . -name Chart.yaml -maxdepth 2 | awk -F/ '{print $$2}' | while read i; do printf "name: cozy-%s\nversion: $(VERSION)\n" "$$i" > "$$i/Chart.yaml"; done

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-fluxcd name: cozy-fluxcd
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,5 +1,5 @@
NAMESPACE=cozy-fluxcd
NAME=fluxcd NAME=fluxcd
NAMESPACE=cozy-$(NAME)
API_VERSIONS_FLAGS=$(addprefix -a ,$(shell kubectl api-versions)) API_VERSIONS_FLAGS=$(addprefix -a ,$(shell kubectl api-versions))

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-installer name: cozy-installer
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,10 +1,11 @@
NAME=installer
NAMESPACE=cozy-system NAMESPACE=cozy-system
NAME=installer
PUSH := 1
LOAD := 0
REGISTRY := ghcr.io/aenix-io/cozystack
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)
include ../../../scripts/common-envs.mk
show: show:
helm template -n $(NAMESPACE) $(NAME) . helm template -n $(NAMESPACE) $(NAME) .
@@ -23,37 +24,37 @@ image-cozystack:
make -C ../../.. repos make -C ../../.. repos
docker buildx build -f images/cozystack/Dockerfile ../../.. \ docker buildx build -f images/cozystack/Dockerfile ../../.. \
--provenance false \ --provenance false \
--tag $(REGISTRY)/cozystack:$(call settag,$(TAG)) \ --tag $(REGISTRY)/cozystack:$(TAG) \
--cache-from type=registry,ref=$(REGISTRY)/cozystack:latest \ --cache-from type=registry,ref=$(REGISTRY)/cozystack:$(TAG) \
--cache-to type=inline \ --cache-to type=inline \
--metadata-file images/cozystack.json \ --metadata-file images/cozystack.json \
--push=$(PUSH) \ --push=$(PUSH) \
--load=$(LOAD) --load=$(LOAD)
echo "$(REGISTRY)/cozystack:$(call settag,$(TAG))" > images/cozystack.tag echo "$(REGISTRY)/cozystack:$(TAG)" > images/cozystack.tag
image-talos: image-talos:
test -f ../../../_out/assets/installer-amd64.tar || make talos-installer test -f ../../../_out/assets/installer-amd64.tar || make talos-installer
docker load -i ../../../_out/assets/installer-amd64.tar docker load -i ../../../_out/assets/installer-amd64.tar
docker tag ghcr.io/siderolabs/installer:$(TALOS_VERSION) ghcr.io/aenix-io/cozystack/talos:$(call settag,$(TALOS_VERSION)) docker tag ghcr.io/siderolabs/installer:$(TALOS_VERSION) ghcr.io/aenix-io/cozystack/talos:$(TALOS_VERSION)
docker push ghcr.io/aenix-io/cozystack/talos:$(call settag,$(TALOS_VERSION)) docker push ghcr.io/aenix-io/cozystack/talos:$(TALOS_VERSION)
image-matchbox: image-matchbox:
test -f ../../../_out/assets/kernel-amd64 || make talos-kernel test -f ../../../_out/assets/kernel-amd64 || make talos-kernel
test -f ../../../_out/assets/initramfs-metal-amd64.xz || make talos-initramfs test -f ../../../_out/assets/initramfs-metal-amd64.xz || make talos-initramfs
docker buildx build -f images/matchbox/Dockerfile ../../.. \ docker buildx build -f images/matchbox/Dockerfile ../../.. \
--provenance false \ --provenance false \
--tag $(REGISTRY)/matchbox:$(call settag,$(TAG)) \ --tag $(REGISTRY)/matchbox:$(TAG) \
--tag $(REGISTRY)/matchbox:$(call settag,$(TALOS_VERSION)-$(TAG)) \ --tag $(REGISTRY)/matchbox:$(TALOS_VERSION)-$(TAG) \
--cache-from type=registry,ref=$(REGISTRY)/matchbox:latest \ --cache-from type=registry,ref=$(REGISTRY)/matchbox:$(TALOS_VERSION) \
--cache-to type=inline \ --cache-to type=inline \
--metadata-file images/matchbox.json \ --metadata-file images/matchbox.json \
--push=$(PUSH) \ --push=$(PUSH) \
--load=$(LOAD) --load=$(LOAD)
echo "$(REGISTRY)/matchbox:$(call settag,$(TALOS_VERSION))" > images/matchbox.tag echo "$(REGISTRY)/matchbox:$(TALOS_VERSION)" > images/matchbox.tag
assets: talos-iso talos-nocloud assets: talos-iso
talos-initramfs talos-kernel talos-installer talos-iso talos-nocloud: talos-initramfs talos-kernel talos-installer talos-iso:
mkdir -p ../../../_out/assets mkdir -p ../../../_out/assets
cat images/talos/profiles/$(subst talos-,,$@).yaml | \ cat images/talos/profiles/$(subst talos-,,$@).yaml | \
docker run --rm -i -v /dev:/dev --privileged "ghcr.io/siderolabs/imager:$(TALOS_VERSION)" --tar-to-stdout - | \ docker run --rm -i -v /dev:/dev --privileged "ghcr.io/siderolabs/imager:$(TALOS_VERSION)" --tar-to-stdout - | \

View File

@@ -2,7 +2,7 @@
set -e set -e
set -u set -u
PROFILES="initramfs kernel iso installer nocloud" PROFILES="initramfs kernel iso installer"
FIRMWARES="amd-ucode amdgpu-firmware bnx2-bnx2x i915-ucode intel-ice-firmware intel-ucode qlogic-firmware" FIRMWARES="amd-ucode amdgpu-firmware bnx2-bnx2x i915-ucode intel-ice-firmware intel-ucode qlogic-firmware"
EXTENSIONS="drbd zfs" EXTENSIONS="drbd zfs"
@@ -32,14 +32,6 @@ done
for profile in $PROFILES; do for profile in $PROFILES; do
echo "writing profile images/talos/profiles/$profile.yaml" echo "writing profile images/talos/profiles/$profile.yaml"
if [ "$profile" = "nocloud" ]; then
image_options="{ diskSize: 1306525696, diskFormat: raw }"
out_format=".xz"
else
image_options="{}"
out_format="raw"
fi
cat > images/talos/profiles/$profile.yaml <<EOT cat > images/talos/profiles/$profile.yaml <<EOT
# this file generated by hack/gen-profiles.sh # this file generated by hack/gen-profiles.sh
# do not edit it # do not edit it
@@ -66,7 +58,6 @@ input:
- imageRef: ghcr.io/siderolabs/zfs:${ZFS_VERSION} - imageRef: ghcr.io/siderolabs/zfs:${ZFS_VERSION}
output: output:
kind: ${profile} kind: ${profile}
imageOptions: ${image_options} outFormat: raw
outFormat: ${out_format}
EOT EOT
done done

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:29b11ecbb92bae830f2e55cd4b6f7f3ada09b2f5514c0eeee395bd2dbd12fb81", "containerimage.config.digest": "sha256:326a169fb5d4277a5c3b0359e0c885b31d1360b58475bbc316be1971c710cd8d",
"containerimage.digest": "sha256:791df989ff37a76062c7c638dbfc93435df9ee0db48797f2045c80b6d6b937c0" "containerimage.digest": "sha256:a608bdb75b3e06f6365f5f0b3fea82ac93c564d11f316f17e3d46e8a497a321d"
} }

View File

@@ -1 +1 @@
ghcr.io/aenix-io/cozystack/cozystack:v0.3.1 ghcr.io/aenix-io/cozystack/cozystack:v0.2.0

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:d63ac434876b4e47c130e6b99f0c9657e718f9d97f522f5ccd878eab75844122", "containerimage.config.digest": "sha256:dc584f743bb73e04dcbebca7ab4f602f2c067190fd9609c3fd84412e83c20445",
"containerimage.digest": "sha256:9963580a02ac4ddccafb60f2411365910bcadd73f92d1c9187a278221306a4ed" "containerimage.digest": "sha256:39ab0bf769b269a8082eeb31a9672e39caa61dd342ba2157b954c642f54a32ff"
} }

View File

@@ -1,27 +0,0 @@
# this file generated by hack/gen-profiles.sh
# do not edit it
arch: amd64
platform: metal
secureboot: false
version: v1.6.4
input:
kernel:
path: /usr/install/amd64/vmlinuz
initramfs:
path: /usr/install/amd64/initramfs.xz
baseInstaller:
imageRef: ghcr.io/siderolabs/installer:v1.6.4
systemExtensions:
- imageRef: ghcr.io/siderolabs/amd-ucode:20240115
- imageRef: ghcr.io/siderolabs/amdgpu-firmware:20240115
- imageRef: ghcr.io/siderolabs/bnx2-bnx2x:20240115
- imageRef: ghcr.io/siderolabs/i915-ucode:20240115
- imageRef: ghcr.io/siderolabs/intel-ice-firmware:20240115
- imageRef: ghcr.io/siderolabs/intel-ucode:20231114
- imageRef: ghcr.io/siderolabs/qlogic-firmware:20240115
- imageRef: ghcr.io/siderolabs/drbd:9.2.6-v1.6.4
- imageRef: ghcr.io/siderolabs/zfs:2.1.14-v1.6.4
output:
kind: image
imageOptions: { diskSize: 1306525696, diskFormat: raw }
outFormat: .xz

View File

@@ -12,6 +12,12 @@ metadata:
name: cozystack name: cozystack
namespace: cozy-system namespace: cozy-system
--- ---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cozystack
namespace: cozy-system
---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-platform name: cozy-platform
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,5 +1,5 @@
NAME=platform
NAMESPACE=cozy-system NAMESPACE=cozy-system
NAME=platform
API_VERSIONS_FLAGS=$(addprefix -a ,$(shell kubectl api-versions)) API_VERSIONS_FLAGS=$(addprefix -a ,$(shell kubectl api-versions))

View File

@@ -67,7 +67,7 @@ spec:
ingress: ingress:
metadata: metadata:
annotations: annotations:
acme.cert-manager.io/http01-ingress-class: "{{ $ingress }}" kubernetes.io/ingress.class: "{{ $ingress }}"
cert-manager.io/cluster-issuer: letsencrypt-prod cert-manager.io/cluster-issuer: letsencrypt-prod
spec: spec:
ingressClassName: "{{ $ingress }}" ingressClassName: "{{ $ingress }}"

View File

@@ -1,12 +1,13 @@
OUT=../../_out/repos/system OUT=../../_out/repos/system
VERSION := 0.2.0
include ../../scripts/common-envs.mk gen: fix-chartnames
repo: repo: fix-chartnames
rm -rf "$(OUT)" rm -rf "$(OUT)"
mkdir -p "$(OUT)" mkdir -p "$(OUT)"
helm package -d "$(OUT)" $$(find . -mindepth 2 -maxdepth 2 -name Chart.yaml | awk 'sub("/Chart.yaml", "")') --version $(VERSION) helm package -d "$(OUT)" $$(find . -mindepth 2 -maxdepth 2 -name Chart.yaml | awk 'sub("/Chart.yaml", "")')
cd "$(OUT)" && helm repo index . cd "$(OUT)" && helm repo index .
fix-chartnames: fix-chartnames:
find . -name Chart.yaml -maxdepth 2 | awk -F/ '{print $$2}' | while read i; do sed -i "s/^name: .*/name: cozy-$$i/" "$$i/Chart.yaml"; done find . -name Chart.yaml -maxdepth 2 | awk -F/ '{print $$2}' | while read i; do printf "name: cozy-%s\nversion: $(VERSION)\n" "$$i" > "$$i/Chart.yaml"; done

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-capi-operator name: cozy-capi-operator
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAME=capi-operator NAME=capi-operator
NAMESPACE=cozy-cluster-api NAMESPACE=cozy-cluster-api
include ../../../scripts/package-system.mk 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: update:
rm -rf charts rm -rf charts

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-capi-providers name: cozy-capi-providers
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,4 +1,11 @@
NAME=capi-providers NAME=capi-providers
NAMESPACE=cozy-cluster-api NAMESPACE=cozy-cluster-api
include ../../../scripts/package-system.mk 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) .

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-cert-manager-issuers name: cozy-cert-manager-issuers
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,4 +1,11 @@
NAME=cert-manager-issuers NAME=cert-manager-issuers
NAMESPACE=cozy-cert-manager NAMESPACE=cozy-cert-manager
include ../../../scripts/package-system.mk 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) .

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-cert-manager name: cozy-cert-manager
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAME=cert-manager NAME=cert-manager
NAMESPACE=cozy-$(NAME) NAMESPACE=cozy-cert-manager
include ../../../scripts/package-system.mk 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: update:
rm -rf charts rm -rf charts

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-cilium name: cozy-cilium
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAMESPACE=cozy-cilium
NAME=cilium NAME=cilium
NAMESPACE=cozy-$(NAME)
include ../../../scripts/package-system.mk show:
kubectl get hr -n cozy-cilium cilium -o jsonpath='{.spec.values}' | helm template --dry-run=server -n $(NAMESPACE) $(NAME) . -f -
apply:
kubectl get hr -n cozy-cilium cilium -o jsonpath='{.spec.values}' | helm upgrade -i -n $(NAMESPACE) $(NAME) . -f -
diff:
kubectl get hr -n cozy-cilium cilium -o jsonpath='{.spec.values}' | helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . -f -
update: update:
rm -rf charts rm -rf charts

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-clickhouse-operator name: cozy-clickhouse-operator
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.3.0

View File

@@ -1,7 +1,14 @@
NAME=clickhouse-operator NAME=clickhouse-operator
NAMESPACE=cozy-clickhouse-operator NAMESPACE=cozy-clickhouse-operator
include ../../../scripts/package-system.mk 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: update:
rm -rf charts rm -rf charts

View File

@@ -1,6 +0,0 @@
altinity-clickhouse-operator:
configs:
files:
config.yaml:
watch:
namespaces: [".*"]

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-dashboard name: cozy-dashboard
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,8 +1,18 @@
NAME=dashboard NAME=dashboard
NAMESPACE=cozy-$(NAME) NAMESPACE=cozy-dashboard
PUSH := 1
LOAD := 0
REPOSITORY := ghcr.io/aenix-io/cozystack
TAG := v0.2.0
include ../../../scripts/common-envs.mk show:
include ../../../scripts/package-system.mk 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: update-chart update-dockerfiles update: update-chart update-dockerfiles
image: image-dashboard image-kubeapps-apis image: image-dashboard image-kubeapps-apis
@@ -27,21 +37,21 @@ update-dockerfiles:
image-dashboard: image-dashboard:
docker buildx build images/dashboard \ docker buildx build images/dashboard \
--provenance false \ --provenance false \
--tag $(REGISTRY)/dashboard:$(call settag,$(TAG)) \ --tag $(REPOSITORY)/dashboard:$(TAG) \
--cache-from type=registry,ref=$(REGISTRY)/dashboard:latest \ --cache-from type=registry,ref=$(REPOSITORY)/dashboard:$(TAG) \
--cache-to type=inline \ --cache-to type=inline \
--metadata-file images/dashboard.json \ --metadata-file images/dashboard.json \
--push=$(PUSH) \ --push=$(PUSH) \
--load=$(LOAD) --load=$(LOAD)
echo "$(REGISTRY)/dashboard:$(call settag,$(TAG))" > images/dashboard.tag echo "$(REPOSITORY)/dashboard:$(TAG)" > images/dashboard.tag
image-kubeapps-apis: image-kubeapps-apis:
docker buildx build images/kubeapps-apis \ docker buildx build images/kubeapps-apis \
--provenance false \ --provenance false \
--tag $(REGISTRY)/kubeapps-apis:$(call settag,$(TAG)) \ --tag $(REPOSITORY)/kubeapps-apis:$(TAG) \
--cache-from type=registry,ref=$(REGISTRY)/kubeapps-apis:latest \ --cache-from type=registry,ref=$(REPOSITORY)/kubeapps-apis:$(TAG) \
--cache-to type=inline \ --cache-to type=inline \
--metadata-file images/kubeapps-apis.json \ --metadata-file images/kubeapps-apis.json \
--push=$(PUSH) \ --push=$(PUSH) \
--load=$(LOAD) --load=$(LOAD)
echo "$(REGISTRY)/kubeapps-apis:$(call settag,$(TAG))" > images/kubeapps-apis.tag echo "$(REPOSITORY)/kubeapps-apis:$(TAG)" > images/kubeapps-apis.tag

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:ebf11c0997c964a7eeadabecf3bade4c42f623cd03d4c742c8e0748d744f2b48", "containerimage.config.digest": "sha256:89b67f6def744d8f497fd07e2743f1ff6f808983f4a5914cce62dbc8b045f9c4",
"containerimage.digest": "sha256:1f2ba6374064bdc927fc7e61c95f58a6f76c121c828d438d212f8772bc52b170" "containerimage.digest": "sha256:76b47055b4559a20362248ba1f684d41d2299e752665f09d606d5d07fd7c8c32"
} }

View File

@@ -1 +1 @@
ghcr.io/aenix-io/cozystack/dashboard:v0.3.1 ghcr.io/aenix-io/cozystack/dashboard:v0.2.0

View File

@@ -1,4 +1,4 @@
{ {
"containerimage.config.digest": "sha256:e5f295cce1b460e2423f07326e812a201fac6ab594ecfc75eddfa81f46fd10fb", "containerimage.config.digest": "sha256:8e9b42041ea86be05df5106bd7d3f881dda920a34a5f95b30c6affa8575275cf",
"containerimage.digest": "sha256:6e32bb3f1afaf93e4e619d5655c43dcd1bf10e0d30aa8136e738484f1b0bd474" "containerimage.digest": "sha256:0a41fe424f7a042f5442152c2fc196622fd49426c958ff17b15b5b9060c8d86b"
} }

View File

@@ -1 +1 @@
ghcr.io/aenix-io/cozystack/kubeapps-apis:v0.3.1 ghcr.io/aenix-io/cozystack/kubeapps-apis:v0.2.0

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-grafana-oncall name: cozy-grafana-oncall
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-grafana-operator name: cozy-grafana-operator
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAME=grafana-operator NAME=grafana-operator
NAMESPACE=cozy-grafana-operator NAMESPACE=cozy-grafana-operator
include ../../../scripts/package-system.mk 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: update:
rm -rf charts rm -rf charts

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-ingress-nginx name: cozy-ingress-nginx
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAME=ingress-nginx NAME=ingress-nginx
NAMESPACE=cozy-$(NAME) NAMESPACE=cozy-ingress-nginx
include ../../../scripts/package-system.mk 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: update:
rm -rf charts rm -rf charts

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kafka-operator name: cozy-kafka-operator
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.3.0

View File

@@ -1,7 +1,14 @@
NAME=kafka-operator NAME=kafka-operator
NAMESPACE=cozy-$(NAME) NAMESPACE=cozy-kafka-operator
include ../../../scripts/package-system.mk 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: update:
rm -rf charts rm -rf charts

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kamaji-etcd name: cozy-kamaji-etcd
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -6,4 +6,3 @@ update:
sed -i 's/hook-failed/before-hook-creation,hook-failed/' `grep -rl hook-failed charts` sed -i 's/hook-failed/before-hook-creation,hook-failed/' `grep -rl hook-failed charts`
patch -p4 < patches/fix-svc.diff patch -p4 < patches/fix-svc.diff
patch -p4 < patches/fullnameOverride.diff patch -p4 < patches/fullnameOverride.diff
patch -p4 < patches/remove-plus.patch

View File

@@ -119,7 +119,11 @@ Name of the etcd root-client secret.
Retrieve the current Kubernetes version to launch a kubectl container with the minimum version skew possible. Retrieve the current Kubernetes version to launch a kubectl container with the minimum version skew possible.
*/}} */}}
{{- define "etcd.jobsTagKubeVersion" -}} {{- define "etcd.jobsTagKubeVersion" -}}
{{- if contains "-eks-" .Capabilities.KubeVersion.GitVersion }}
{{- print "v" .Capabilities.KubeVersion.Major "." (.Capabilities.KubeVersion.Minor | replace "+" "") -}} {{- print "v" .Capabilities.KubeVersion.Major "." (.Capabilities.KubeVersion.Minor | replace "+" "") -}}
{{- else }}
{{- print "v" .Capabilities.KubeVersion.Major "." .Capabilities.KubeVersion.Minor -}}
{{- end }}
{{- end }} {{- end }}
{{/* {{/*

View File

@@ -1,16 +0,0 @@
diff --git a/packages/system/kamaji-etcd/charts/kamaji-etcd/templates/_helpers.tpl b/packages/system/kamaji-etcd/charts/kamaji-etcd/templates/_helpers.tpl
index 403e187..e68a967 100644
--- a/packages/system/kamaji-etcd/charts/kamaji-etcd/templates/_helpers.tpl
+++ b/packages/system/kamaji-etcd/charts/kamaji-etcd/templates/_helpers.tpl
@@ -119,11 +119,7 @@ Name of the etcd root-client secret.
Retrieve the current Kubernetes version to launch a kubectl container with the minimum version skew possible.
*/}}
{{- define "etcd.jobsTagKubeVersion" -}}
-{{- if contains "-eks-" .Capabilities.KubeVersion.GitVersion }}
{{- print "v" .Capabilities.KubeVersion.Major "." (.Capabilities.KubeVersion.Minor | replace "+" "") -}}
-{{- else }}
-{{- print "v" .Capabilities.KubeVersion.Major "." .Capabilities.KubeVersion.Minor -}}
-{{- end }}
{{- end }}
{{/*

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kamaji name: cozy-kamaji
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,15 @@
NAME=kamaji NAME=kamaji
NAMESPACE=cozy-$(NAME) NAMESPACE=cozy-kamaji
include ../../../scripts/package-system.mk show:
helm template --dry-run=server -n $(NAMESPACE) $(NAME) .
apply:
flux suspend hr kamaji -n cozy-kamaji || true
helm upgrade -i -n $(NAMESPACE) $(NAME) .
diff:
helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) .
update: update:
rm -rf charts rm -rf charts

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kubeovn name: cozy-kubeovn
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAMESPACE=cozy-kubeovn
NAME=kubeovn NAME=kubeovn
NAMESPACE=cozy-$(NAME)
include ../../../scripts/package-system.mk show:
kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm template --dry-run=server -n $(NAMESPACE) $(NAME) . -f -
apply:
kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm upgrade -i -n $(NAMESPACE) $(NAME) . -f -
diff:
kubectl get hr -n $(NAMESPACE) $(NAME) -o jsonpath='{.spec.values}' | helm diff upgrade --allow-unreleased --normalize-manifests -n $(NAMESPACE) $(NAME) . -f -
update: update:
rm -rf charts && mkdir -p charts/kube-ovn rm -rf charts && mkdir -p charts/kube-ovn

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kubevirt-cdi-operator name: cozy-kubevirt-cdi-operator
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAME=kubevirt-cdi-operator NAME=kubevirt-cdi-operator
NAMESPACE=cozy-kubevirt-cdi NAMESPACE=cozy-kubevirt-cdi
include ../../../scripts/package-system.mk 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: update:
rm -rf templates rm -rf templates

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kubevirt-cdi name: cozy-kubevirt-cdi
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,7 +1,14 @@
NAME=kubevirt-cdi NAME=kubevirt-cdi
NAMESPACE=cozy-$(NAME) NAMESPACE=cozy-kubevirt-cdi
include ../../../scripts/package-system.mk 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: update:
rm -rf templates rm -rf templates

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kubevirt-csi-node name: cozy-kubevirt-csi-node
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,3 +1,2 @@
apiVersion: v2
name: cozy-kubevirt-operator name: cozy-kubevirt-operator
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process version: 0.2.0

View File

@@ -1,12 +1,19 @@
NAME=kubevirt-operator NAME=kubevirt-operator
NAMESPACE=cozy-kubevirt NAMESPACE=cozy-kubevirt
include ../../../scripts/package-system.mk 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: update:
rm -rf templates rm -rf templates
mkdir templates mkdir templates
export RELEASE=$$(curl https://storage.googleapis.com/kubevirt-prow/release/kubevirt/kubevirt/stable.txt) && \ export RELEASE=$$(curl https://storage.googleapis.com/kubevirt-prow/release/kubevirt/kubevirt/stable.txt) && \
wget https://github.com/kubevirt/kubevirt/releases/download/$${RELEASE}/kubevirt-operator.yaml -O templates/kubevirt-operator.yaml && \ wget https://github.com/kubevirt/kubevirt/releases/download/$${RELEASE}/kubevirt-operator.yaml -O templates/kubevirt-operator.yaml && \
sed -i 's/namespace: kubevirt/namespace: $(NAMESPACE)/g' templates/kubevirt-operator.yaml sed -i 's/namespace: kubevirt/namespace: cozy-kubevirt/g' templates/kubevirt-operator.yaml
awk -i inplace -v RS="---" '!/kind: Namespace/{printf "%s", $$0 RS}' templates/kubevirt-operator.yaml awk -i inplace -v RS="---" '!/kind: Namespace/{printf "%s", $$0 RS}' templates/kubevirt-operator.yaml

Some files were not shown because too many files have changed in this diff Show More