diff --git a/charts/fluent-bit b/charts/fluent-bit new file mode 120000 index 00000000..8f38531b --- /dev/null +++ b/charts/fluent-bit @@ -0,0 +1 @@ +../../fluent-bit-helm/charts/fluent-bit \ No newline at end of file diff --git a/charts/kubezero-logging/Chart.yaml b/charts/kubezero-logging/Chart.yaml index d0998312..c6fc86c0 100644 --- a/charts/kubezero-logging/Chart.yaml +++ b/charts/kubezero-logging/Chart.yaml @@ -27,7 +27,7 @@ dependencies: repository: https://kubernetes-charts.storage.googleapis.com/ condition: fluentd.enabled - name: fluent-bit - version: 0.7.2 + version: 0.7.10 repository: https://zero-down-time.github.io/kubezero/ # repository: https://fluent.github.io/helm-charts condition: fluent-bit.enabled diff --git a/charts/kubezero/bootstrap.sh b/charts/kubezero/bootstrap.sh index 7a5bdbdd..87af7244 100755 --- a/charts/kubezero/bootstrap.sh +++ b/charts/kubezero/bootstrap.sh @@ -3,7 +3,7 @@ set -ex ACTION=$1 ARTIFACTS=("$2") -VALUES=$3 +CLUSTER=$3 LOCATION=${4:-""} DEPLOY_DIR=$( dirname $( realpath $0 )) @@ -11,9 +11,12 @@ which yq || { echo "yq not found!"; exit 1; } TMPDIR=$(mktemp -d kubezero.XXX) +function join { local IFS="$1"; shift; echo "$*"; } + # First lets generate kubezero.yaml -# This will be stored as secret during the initial kubezero chart install -helm template $DEPLOY_DIR -f $VALUES -f cloudbender.yaml --set argo=false > $TMPDIR/kubezero.yaml +# Add all yaml files in $CLUSTER +VALUES="$(find $CLUSTER -name '*.yaml' | tr '\n' ',')" +helm template $DEPLOY_DIR -f ${VALUES%%,} --set argo=false > $TMPDIR/kubezero.yaml if [ ${ARTIFACTS[0]} == "all" ]; then ARTIFACTS=($(yq r -p p $TMPDIR/kubezero.yaml "*.enabled" | awk -F "." '{print $1}')) diff --git a/charts/kubezero/clusters/README.md b/charts/kubezero/clusters/README.md new file mode 100644 index 00000000..e69de29b diff --git a/charts/kubezero/templates/cert-manager.yaml b/charts/kubezero/templates/cert-manager.yaml index d5613632..40f06bea 100644 --- a/charts/kubezero/templates/cert-manager.yaml +++ b/charts/kubezero/templates/cert-manager.yaml @@ -1,4 +1,5 @@ {{- define "cert-manager-values" }} + localCA: enabled: true {{ with index .Values "cert-manager" "IamArn" }} @@ -14,10 +15,7 @@ clusterIssuer: {{- end }} - {{- define "cert-manager-argo" }} {{- end }} -{{- end }} - {{ include "kubezero-app.app" . }} diff --git a/charts/kubezero/values.yaml b/charts/kubezero/values.yaml index 3ac9c512..633a056c 100644 --- a/charts/kubezero/values.yaml +++ b/charts/kubezero/values.yaml @@ -1,7 +1,7 @@ argo: {} global: - argo: + kubezero: server: https://kubernetes.default.svc repoURL: https://github.com/zero-down-time/kubezero targetRevision: HEAD diff --git a/docs/Upgrade.md b/docs/Upgrade.md new file mode 100644 index 00000000..19903a43 --- /dev/null +++ b/docs/Upgrade.md @@ -0,0 +1,47 @@ +# Upgrade to KubeZero V2(Argoless) + +- disable all auto-sync in argo !! + +- migrate values.yaml to new structure,adapt as needed + +- update new central kubezero location in git and merge cluster configs + +## High level / Admin changes +- ArgoCD is now optional +- ArgoCD is NOT required nor used during initial cluster bootstrap +- the initial bootstrap script now uses the same config as ArgoCD later on +- the initial bootstrap is WAY faster and re-try safe + +## Individual changes + +### Cert-manager +- local issuer is now a cluster issuer +- all resources moved to cert-manager namespace + +### Kiam +- check certs and function due to cert-manager changes +- set priorty class + +### Logging +- ES/Kibana version bump, new ECK operator + +### ArgoCD +- version bump, new app of app architecure + +### Metrics +- version bumps +- all servicemonitor resources are now in the same namespaces as the apps +- check all metrics still work + +### Calico +- version bump + +### EBS +- version bump + +### Istio +- operator removed, deployment migrated to helm, cleanups +- version bump to 1.8 +- no more policy by default +- all ingress in dedicated new namespace istio-ingress as well as dedicated helm chart +- set priorty class