Compare commits

...

4 Commits

Author SHA1 Message Date
Nikita
50144d4aa1 Release v1.0.0-beta.1 (#1940)
This PR prepares the release `v1.0.0-beta.1`.
2026-01-30 19:01:36 +03:00
cozystack-bot
37d53de41a Prepare release v1.0.0-beta.1
Signed-off-by: cozystack-bot <217169706+cozystack-bot@users.noreply.github.com>
2026-01-30 15:04:59 +00:00
Andrei Kvapil
b09a2cd5c3 Post upgrade fixes for v1.0 migration script (#1935)
## What this PR does
Fixes v1.0 migration script

### Release note
```release-note
V1.0 migration script fixed after an upgrade was performed.
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Updated bundle naming convention (paas → isp).
* Restructured configuration schema: flattened branding, renamed
scheduling field, and moved authentication redirect setting.
  * Minor output text and prompt wording adjustments.

* **New Features**
* Added support for external IPs in generated configuration with safe
empty fallback.
  * Consolidated branding and scheduling entries for simpler output.

* **Bug Fixes**
* Migration script now validates prerequisites and produces improved,
YAML-friendly output.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-30 17:53:53 +03:00
Andrei Kvapil
923c321137 Post upgrade fixes for v1.0 packagesources (#1930)
## What this PR does
Fixes v1.0 packagesources.

### Release note
```release-note
V1.0 packagesources fixed after an upgrade was performed.
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated platform component configurations for cozy-proxy and
metrics-server deployments.
  * Reorganized monitoring component namespace allocation.
  * Added metrics server as a dependency in the monitoring pipeline.
* Integrated new system components (linstor-scheduler and
metrics-server) into the platform templates.
  * Refined HelmRelease chart references for vertical pod autoscaler.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-30 17:52:49 +03:00
30 changed files with 74 additions and 46 deletions

View File

@@ -7,8 +7,9 @@ set -e
NAMESPACE="cozy-system"
echo "Cozystack Migration to v1.0"
echo "==========================="
echo "============================="
echo " Cozystack Migration to v1.0 "
echo "============================="
echo ""
echo "This script will convert existing ConfigMaps to a Package resource."
echo ""
@@ -19,6 +20,12 @@ if ! command -v kubectl &> /dev/null; then
exit 1
fi
# Check if jq is available
if ! command -v jq &> /dev/null; then
echo "Error: jq is not installed or not in PATH"
exit 1
fi
# Check if we can access the cluster
if ! kubectl get namespace "$NAMESPACE" &> /dev/null; then
echo "Error: Cannot access namespace $NAMESPACE"
@@ -42,6 +49,7 @@ CLUSTER_DOMAIN=$(echo "$COZYSTACK_CM" | jq -r '.data["cluster-domain"] // "cozy.
ROOT_HOST=$(echo "$COZYSTACK_CM" | jq -r '.data["root-host"] // "example.org"')
API_SERVER_ENDPOINT=$(echo "$COZYSTACK_CM" | jq -r '.data["api-server-endpoint"] // ""')
OIDC_ENABLED=$(echo "$COZYSTACK_CM" | jq -r '.data["oidc-enabled"] // "false"')
KEYCLOAK_REDIRECTS=$(echo "$COZYSTACK_CM" | jq -r '.data["extra-keycloak-redirect-uri-for-dashboard"] // ""' )
TELEMETRY_ENABLED=$(echo "$COZYSTACK_CM" | jq -r '.data["telemetry-enabled"] // "true"')
BUNDLE_NAME=$(echo "$COZYSTACK_CM" | jq -r '.data["bundle-name"] // "paas-full"')
@@ -51,6 +59,13 @@ POD_GATEWAY=$(echo "$COZYSTACK_CM" | jq -r '.data["ipv4-pod-gateway"] // "10.244
SVC_CIDR=$(echo "$COZYSTACK_CM" | jq -r '.data["ipv4-svc-cidr"] // "10.96.0.0/16"')
JOIN_CIDR=$(echo "$COZYSTACK_CM" | jq -r '.data["ipv4-join-cidr"] // "100.64.0.0/16"')
EXTERNAL_IPS=$(echo "$COZYSTACK_CM" | jq -r '.data["expose-external-ips"] // ""')
if [ -z "$EXTERNAL_IPS" ]; then
EXTERNAL_IPS="[]"
else
EXTERNAL_IPS=$(echo "$EXTERNAL_IPS" | sed 's/,/\n/g' | awk 'BEGIN{print}{print " - "$0}')
fi
# Determine bundle type
case "$BUNDLE_NAME" in
paas-full|distro-full)
@@ -67,12 +82,24 @@ case "$BUNDLE_NAME" in
;;
esac
# Update bundle naming
BUNDLE_NAME=$(echo "$BUNDLE_NAME" | sed 's/paas/isp/')
# Extract branding if available
DASHBOARD_BRANDING=$(echo "$BRANDING_CM" | jq -r '.data["dashboard"] // "{}"')
KEYCLOAK_BRANDING=$(echo "$BRANDING_CM" | jq -r '.data["keycloak"] // "{}"')
BRANDING=$(echo "$BRANDING_CM" | jq -r '.data // {} | to_entries[] | "\(.key): \"\(.value)\""')
if [ -z "$BRANDING" ]; then
BRANDING="{}"
else
BRANDING=$(echo "$BRANDING" | awk 'BEGIN{print}{print " " $0}')
fi
# Extract scheduling if available
SCHEDULING_CONSTRAINTS=$(echo "$SCHEDULING_CM" | jq -r '.data["topologySpreadConstraints"] // "[]"')
SCHEDULING_CONSTRAINTS=$(echo "$SCHEDULING_CM" | jq -r '.data.["globalAppTopologySpreadConstraints"] // ""')
if [ -z "$SCHEDULING_CONSTRAINTS" ]; then
SCHEDULING_CONSTRAINTS='""'
else
SCHEDULING_CONSTRAINTS=$(echo "$SCHEDULING_CONSTRAINTS" | awk 'BEGIN{print}{print " " $0}')
fi
echo ""
echo "Extracted configuration:"
@@ -116,21 +143,21 @@ spec:
publishing:
host: "$ROOT_HOST"
apiServerEndpoint: "$API_SERVER_ENDPOINT"
externalIPs: $EXTERNAL_IPS
authentication:
oidc:
enabled: $OIDC_ENABLED
keycloakExtraRedirectUri: "$KEYCLOAK_REDIRECTS"
scheduling:
topologySpreadConstraints: $SCHEDULING_CONSTRAINTS
branding:
dashboard: $DASHBOARD_BRANDING
keycloak: $KEYCLOAK_BRANDING
globalAppTopologySpreadConstraints: $SCHEDULING_CONSTRAINTS
branding: $BRANDING
EOF
)
echo "Generated Package resource:"
echo "---"
echo "$PACKAGE_YAML"
echo "---"
echo "..."
echo ""
read -p "Do you want to apply this Package? (y/N) " -n 1 -r
@@ -149,4 +176,4 @@ else
fi
echo ""
echo "Migration complete!"
echo "All done!"

View File

@@ -1 +1 @@
ghcr.io/cozystack/cozystack/kubevirt-csi-driver:0.0.0@sha256:31aee6f63c25a443974b56011d2907cedfeba245aa7caf732d7fc437b2b3ed50
ghcr.io/cozystack/cozystack/kubevirt-csi-driver:0.0.0@sha256:726d9287e8caaea94eaf24c4f44734e3fbf4f8aa032b66b81848ebf95297cffe

View File

@@ -1 +1 @@
ghcr.io/cozystack/cozystack/mariadb-backup:0.0.0@sha256:aca403030ff5d831415d72367866fdf291fab73ee2cfddbe4c93c2915a316ab1
ghcr.io/cozystack/cozystack/mariadb-backup:0.0.0@sha256:0ddbbec0568dcb9fbc317cd9cc654e826dbe88ba3f184fa9b6b58aacb93b4570

View File

@@ -1,4 +1,4 @@
cozystackOperator:
image: ghcr.io/cozystack/cozystack/cozystack-operator:v1.0.0-alpha.2@sha256:5bd4c8bb7bddb9e32555ef72ee3a04b5d8e0f488d7dce904ac2d7c9e0706debf
image: ghcr.io/cozystack/cozystack/cozystack-operator:v1.0.0-beta.1@sha256:badec236da284eda2858337959086ae1efc90847b2980503cfaaba117600114e
platformSourceUrl: 'oci://ghcr.io/cozystack/cozystack/cozystack-packages'
platformSourceRef: 'digest=sha256:1b860c13b99da6fde37f2af3a5375aca234200836e2fa39a839ac30fa237962e'
platformSourceRef: 'digest=sha256:e9afb5bd00b301ebac90e408f02f86b3d155bbaf18717a3c7d1a6668129e97e0'

View File

@@ -18,4 +18,4 @@ spec:
path: system/cozy-proxy
install:
namespace: cozy-system
releaseName: cozystack
releaseName: cozy-proxy

View File

@@ -18,5 +18,5 @@ spec:
- name: metrics-server
path: system/metrics-server
install:
namespace: cozy-metrics-server
namespace: cozy-monitoring
releaseName: metrics-server

View File

@@ -13,6 +13,7 @@ spec:
- name: default
dependsOn:
- cozystack.networking
- cozystack.metrics-server
- cozystack.victoria-metrics-operator
- cozystack.vertical-pod-autoscaler
components:

View File

@@ -17,6 +17,7 @@ stringData:
bundle-name: {{ .Values.bundles.system.variant | quote }}
clusterissuer: {{ .Values.publishing.certificates.issuerType | quote }}
oidc-enabled: {{ .Values.authentication.oidc.enabled | quote }}
extra-keycloak-redirect-uri-for-dashboard: {{ index .Values.authentication.oidc.keycloakExtraRedirectUri | quote }}
expose-services: {{ .Values.publishing.exposedServices | join "," | quote }}
expose-ingress: {{ .Values.publishing.ingressName | quote }}
expose-external-ips: {{ .Values.publishing.externalIPs | join "," | quote }}

View File

@@ -20,6 +20,7 @@
{{include "cozystack.platform.package.default" (list "cozystack.metallb" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.reloader" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.linstor" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.linstor-scheduler" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.snapshot-controller" $) }}
{{- end }}
@@ -54,6 +55,7 @@
{{include "cozystack.platform.package.default" (list "cozystack.backup-controller" $) }}
{{include "cozystack.platform.package.optional.default" (list "cozystack.velero" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.vertical-pod-autoscaler" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.metrics-server" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.monitoring-agents" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.goldpinger" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.prometheus-operator-crds" $) }}

View File

@@ -44,15 +44,12 @@ publishing:
authentication:
oidc:
enabled: false
dashboard:
extraRedirectUris: []
keycloakExtraRedirectUri: ""
# Pod scheduling configuration
scheduling:
topologySpreadConstraints: []
globalAppTopologySpreadConstraints: ""
# UI branding configuration
branding:
dashboard: {}
keycloak: {}
branding: {}
# Container registry mirrors configuration
#
# Example:

View File

@@ -1,2 +1,2 @@
e2e:
image: ghcr.io/cozystack/cozystack/e2e-sandbox:v1.0.0-alpha.2@sha256:fde7616aacaf5939388bbe74eb6d946147ce855b9cceb47092f620b75ba2c98a
image: ghcr.io/cozystack/cozystack/e2e-sandbox:v1.0.0-beta.1@sha256:fde7616aacaf5939388bbe74eb6d946147ce855b9cceb47092f620b75ba2c98a

View File

@@ -1 +1 @@
ghcr.io/cozystack/cozystack/matchbox:v1.0.0-alpha.2@sha256:6a96746d43fde16db12bb2e0e6fc39823f4a26f41fc0be785bf6716c759009e1
ghcr.io/cozystack/cozystack/matchbox:v1.0.0-beta.1@sha256:73bbb0ce26de3107d12ce6e25b2509da07a2aea85e19a54fadc6ca6cbf6e0af4

View File

@@ -1 +1 @@
ghcr.io/cozystack/cozystack/objectstorage-sidecar:v1.0.0-alpha.2@sha256:aebbe6efe34c0a0cc2e87dafbf9dbb021d7e44796ef9378a47ca81cf72a407bb
ghcr.io/cozystack/cozystack/objectstorage-sidecar:v1.0.0-beta.1@sha256:6cd9af852a11d654ecc2b731aa5ec5482cff967d442f4c75b8dc4e96fbce7445

View File

@@ -1,5 +1,5 @@
backupController:
image: "ghcr.io/cozystack/cozystack/backup-controller:v1.0.0-alpha.2@sha256:3914624192b4d420b79f0d985d37a03acb13411c694e23c160de16b1d877c52f"
image: "ghcr.io/cozystack/cozystack/backup-controller:v1.0.0-beta.1@sha256:7d454f9e1033f278578bc97a4f562016d44783cf001cc93e7d2040066eb2279f"
replicas: 2
debug: false
metrics:

View File

@@ -1,5 +1,5 @@
backupStrategyController:
image: "ghcr.io/cozystack/cozystack/backupstrategy-controller:v1.0.0-alpha.2@sha256:a39b76c99f252916ca9b6606a68fbd5b0861988dd65426803855c2884117e49c"
image: "ghcr.io/cozystack/cozystack/backupstrategy-controller:v1.0.0-beta.1@sha256:c88e87a92043312e7fe44c27bb160f7687187f748ce5fc351aa0a090d2e8e1fb"
replicas: 2
debug: false
metrics:

View File

@@ -1 +1 @@
ghcr.io/cozystack/cozystack/s3manager:v0.5.0@sha256:db548ff13f27f98e888b8f3ffb0f859a8f44334f1502d567d1881b79b6e5eb09
ghcr.io/cozystack/cozystack/s3manager:v0.5.0@sha256:3013e13ba967070948653cc5b913a920dea93a24370b10731fafcfd8fb6a21b0

View File

@@ -1,5 +1,5 @@
cozystackAPI:
image: ghcr.io/cozystack/cozystack/cozystack-api:v1.0.0-alpha.2@sha256:5bde4dd3e8d3a880475c9e872925f841f6131f51f9a5017ec5c2a0f0bd288838
image: ghcr.io/cozystack/cozystack/cozystack-api:v1.0.0-beta.1@sha256:d14ff50313b855fc90f3261ef223f52db5831ab49aa3ce3812848d2347fb7f03
localK8sAPIEndpoint:
enabled: true
replicas: 2

View File

@@ -1,5 +1,5 @@
cozystackController:
image: ghcr.io/cozystack/cozystack/cozystack-controller:v1.0.0-alpha.2@sha256:9cc3d4b05709d3e7495abcbe4c792467a9a439fd089a67df0e4a75fd3bb8ee81
image: ghcr.io/cozystack/cozystack/cozystack-controller:v1.0.0-beta.1@sha256:c1113be0cf66d6bd24f24cee4ebdaf3f680478cefb84c93f902e47ed27bb6bc8
debug: false
disableTelemetry: false
cozystackAPIKind: "DaemonSet"

View File

@@ -1,6 +1,6 @@
{{- $brandingConfig := .Values._cluster.branding | default dict }}
{{- $tenantText := "v1.0.0-alpha.2" }}
{{- $tenantText := "v1.0.0-beta.1" }}
{{- $footerText := "Cozystack" }}
{{- $titleText := "Cozystack Dashboard" }}
{{- $logoText := "" }}

View File

@@ -1,6 +1,6 @@
openapiUI:
image: ghcr.io/cozystack/cozystack/openapi-ui:v1.0.0-alpha.2@sha256:5661e877919c8625c27b89ee5dfda4a93d43e660d033fc4dbeb27f336c05d908
image: ghcr.io/cozystack/cozystack/openapi-ui:v1.0.0-beta.1@sha256:a30d2255e8715f0f6d51b8356486d364945936b812351b26e48ed5ee883e03e3
openapiUIK8sBff:
image: ghcr.io/cozystack/cozystack/openapi-ui-k8s-bff:v1.0.0-alpha.2@sha256:d33583995dc81a47c1dcbe45dbd866fa9097f88f4b6eb78b408dca432f15bd38
image: ghcr.io/cozystack/cozystack/openapi-ui-k8s-bff:v1.0.0-beta.1@sha256:fda379dce49c2cd8cb8d7d2a1d8ec6f7bedb3419c058c4355ecdece1c1e937f4
tokenProxy:
image: ghcr.io/cozystack/cozystack/token-proxy:v1.0.0-alpha.2@sha256:73887f80d96e7e3c16f1cebab521b05b4308bf4662ccc6724e6a8a9745ed8254
image: ghcr.io/cozystack/cozystack/token-proxy:v1.0.0-beta.1@sha256:f1f1615c3d2bfa7a93e4f417db31ed67e340fcf667e9a5a75ff3156338b8bfa7

View File

@@ -1 +1 @@
ghcr.io/cozystack/cozystack/grafana-dashboards:v1.0.0-alpha.2@sha256:57051daa5686b7dcb0799b6a7c01e676b910a2ac224437ac0ad639a0e66566c2
ghcr.io/cozystack/cozystack/grafana-dashboards:v1.0.0-beta.1@sha256:e866b5b3874b9d390b341183d2ee070e1387440c14cfe51af831695def6dc2ec

View File

@@ -3,7 +3,7 @@ kamaji:
deploy: false
image:
pullPolicy: IfNotPresent
tag: v1.0.0-alpha.2@sha256:d5f2fa2972ba33cd2ccb855256e4bda4734d7e250638811b77f2e0dc72ad6b19
tag: v1.0.0-beta.1@sha256:d5f2fa2972ba33cd2ccb855256e4bda4734d7e250638811b77f2e0dc72ad6b19
repository: ghcr.io/cozystack/cozystack/kamaji
resources:
limits:
@@ -13,4 +13,4 @@ kamaji:
cpu: 100m
memory: 100Mi
extraArgs:
- --migrate-image=ghcr.io/cozystack/cozystack/kamaji:v1.0.0-alpha.2@sha256:d5f2fa2972ba33cd2ccb855256e4bda4734d7e250638811b77f2e0dc72ad6b19
- --migrate-image=ghcr.io/cozystack/cozystack/kamaji:v1.0.0-beta.1@sha256:d5f2fa2972ba33cd2ccb855256e4bda4734d7e250638811b77f2e0dc72ad6b19

View File

@@ -1,7 +1,7 @@
kilo:
image:
pullPolicy: IfNotPresent
tag: v1.0.0-alpha.2@sha256:161fec69f38f536529139318babbd7d654bd47e7bc654828c26eb0ddb516eb79
tag: v1.0.0-beta.1@sha256:45ad01a89ebb5311735660a0d1a1df36eda4b6f960be1b6319d2b94d2a7db701
repository: ghcr.io/cozystack/cozystack/kilo
podCIDR: 10.244.0.0/16
serviceCIDR: 10.96.0.0/16

View File

@@ -1,4 +1,4 @@
portSecurity: true
routes: ""
image: ghcr.io/cozystack/cozystack/kubeovn-plunger:v1.0.0-alpha.2@sha256:81d7e64b67b1e4fefa88ab0cf69c113a3fb44b04810074b616116102adcc3104
image: ghcr.io/cozystack/cozystack/kubeovn-plunger:v1.0.0-beta.1@sha256:8cd6758e51383bd2f25950808671d41e3840abf7392b24d65298df4f6753d2ff
ovnCentralName: ovn-central

View File

@@ -1,3 +1,3 @@
portSecurity: true
routes: ""
image: ghcr.io/cozystack/cozystack/kubeovn-webhook:v1.0.0-alpha.2@sha256:e18f9fd679e38f65362a8d0042f25468272f6d081136ad47027168d8e7e07a4a
image: ghcr.io/cozystack/cozystack/kubeovn-webhook:v1.0.0-beta.1@sha256:e18f9fd679e38f65362a8d0042f25468272f6d081136ad47027168d8e7e07a4a

View File

@@ -1,3 +1,3 @@
storageClass: replicated
csiDriver:
image: ghcr.io/cozystack/cozystack/kubevirt-csi-driver:0.0.0@sha256:31aee6f63c25a443974b56011d2907cedfeba245aa7caf732d7fc437b2b3ed50
image: ghcr.io/cozystack/cozystack/kubevirt-csi-driver:0.0.0@sha256:726d9287e8caaea94eaf24c4f44734e3fbf4f8aa032b66b81848ebf95297cffe

View File

@@ -1,5 +1,5 @@
lineageControllerWebhook:
image: ghcr.io/cozystack/cozystack/lineage-controller-webhook:v1.0.0-alpha.2@sha256:e3ed98fce423359de7dd25094de959213342f5664d266c8d1041ecd2e9c82d59
image: ghcr.io/cozystack/cozystack/lineage-controller-webhook:v1.0.0-beta.1@sha256:c69bb2c14bcaca0c60fcd3f42e0876cd77854191663a0b01275d2d5576250053
debug: false
localK8sAPIEndpoint:
enabled: true

View File

@@ -1,3 +1,3 @@
objectstorage:
controller:
image: "ghcr.io/cozystack/cozystack/objectstorage-controller:v1.0.0-alpha.2@sha256:e535bd383e2ec275cc403cd557996e26df3d206a5541c53037246641cf6a4f2e"
image: "ghcr.io/cozystack/cozystack/objectstorage-controller:v1.0.0-beta.1@sha256:048a1916c0eca006aeac1b0de3591274ccc73d848233c2abcf5a08089d346b71"

View File

@@ -177,7 +177,7 @@ seaweedfs:
bucketClassName: "seaweedfs"
region: ""
sidecar:
image: "ghcr.io/cozystack/cozystack/objectstorage-sidecar:v1.0.0-alpha.2@sha256:aebbe6efe34c0a0cc2e87dafbf9dbb021d7e44796ef9378a47ca81cf72a407bb"
image: "ghcr.io/cozystack/cozystack/objectstorage-sidecar:v1.0.0-beta.1@sha256:6cd9af852a11d654ecc2b731aa5ec5482cff967d442f4c75b8dc4e96fbce7445"
certificates:
commonName: "SeaweedFS CA"
ipAddresses: []

View File

@@ -18,7 +18,7 @@ metadata:
spec:
chartRef:
kind: ExternalArtifact
name: cozystack-system-default-vertical-pod-autoscaler
name: cozystack-vertical-pod-autoscaler-default-vpa-for-vpa
namespace: cozy-system
dependsOn:
- name: monitoring-agents