From 672d3ded9aba282afd327e138259f81fe4144090 Mon Sep 17 00:00:00 2001 From: Alessio Dionisi Date: Tue, 4 Jul 2023 14:22:09 +0200 Subject: [PATCH 1/6] docs: add 1.25.4 docs --- docs/COMPATIBILITY_MATRIX.md | 1 + docs/releases/v1.25.4.md | 17 +++++++++++++++++ docs/upgrades/v1.25.3-to-v1.25.4.md | 12 ++++++++++++ kfd.yaml | 2 +- 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 docs/releases/v1.25.4.md create mode 100644 docs/upgrades/v1.25.3-to-v1.25.4.md diff --git a/docs/COMPATIBILITY_MATRIX.md b/docs/COMPATIBILITY_MATRIX.md index ed8cd9ba..53aafdcb 100644 --- a/docs/COMPATIBILITY_MATRIX.md +++ b/docs/COMPATIBILITY_MATRIX.md @@ -10,6 +10,7 @@ For a complete list of all KFD releases and their compatibility with Kubernetes | KFD / Kubernetes Version | 1.25.X | 1.24.X | 1.23.X | | ----------------------------------------------------------------------------- | :----------------: | :----------------: | :----------------: | +| [v1.25.4](https://github.com/sighupio/fury-distribution/releases/tag/v1.25.4) | :white_check_mark: | | | | [v1.25.3](https://github.com/sighupio/fury-distribution/releases/tag/v1.25.3) | :white_check_mark: | | | | [v1.25.2](https://github.com/sighupio/fury-distribution/releases/tag/v1.25.2) | :white_check_mark: | | | | [v1.25.1](https://github.com/sighupio/fury-distribution/releases/tag/v1.25.1) | :white_check_mark: | | | diff --git a/docs/releases/v1.25.4.md b/docs/releases/v1.25.4.md new file mode 100644 index 00000000..ceec761d --- /dev/null +++ b/docs/releases/v1.25.4.md @@ -0,0 +1,17 @@ +# Kubernetes Fury Distribution Release v1.25.4 + +Welcome to KFD release `v1.25.4`. + +The distribution is maintained with ❤️ by the team [SIGHUP](https://sighup.io/) it is battle tested in production environments. + +Introducing next generation Kubernetes cluster full lifecycle management thanks to KFD furyctl. +furyctl is the Swiss Army Knife for Kubernetes and optimized for Kubernetes Fury Distribution. +It is a command-line tool developed by SIGHUP to support the full automatic provisioning of Kubernetes clusters. + +Currently, in its first early release, it supports EKS-based environments only; more providers will follow in the upcoming releases. + +## New Features since `v1.25.3` + +## Upgrade procedure + +Check the [v1.25.3-to-v1.25.4 upgrade guide](../upgrades/v1.25.3-to-v1.25.4.md) for the detailed procedure. diff --git a/docs/upgrades/v1.25.3-to-v1.25.4.md b/docs/upgrades/v1.25.3-to-v1.25.4.md new file mode 100644 index 00000000..d84cdd95 --- /dev/null +++ b/docs/upgrades/v1.25.3-to-v1.25.4.md @@ -0,0 +1,12 @@ +# Kubernetes Fury Distribution v1.25.3 to 1.25.4 Upgrade Guide + +This guide describes the steps to follow to upgrade the Kubernetes Fury Distribution (KFD) from v1.25.3 to 1.25.4. + +If you are running a custom set of modules, or different versions than the ones included with each release of KFD, please refer to each module's release notes. + +Notice that the guide will not cover changes related to the cloud provider, ingresses or pod placement changes. Only changes related to KFD and its modules. + +> ⛔️ **IMPORTANT** +> we strongly recommend reading the whole guide before starting the upgrade process to identify possible blockers. + +## Upgrade procedure diff --git a/kfd.yaml b/kfd.yaml index f2df8414..0a8cc6c6 100644 --- a/kfd.yaml +++ b/kfd.yaml @@ -2,7 +2,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -version: v1.25.3 +version: v1.25.4 modules: auth: v0.0.3 aws: v3.0.0 From f0ab36aaa2fd72bc524bb32e7bee175e21ccb69a Mon Sep 17 00:00:00 2001 From: Alessio Dionisi Date: Tue, 4 Jul 2023 16:05:23 +0200 Subject: [PATCH 2/6] docs: add new features list --- docs/releases/v1.25.4.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/releases/v1.25.4.md b/docs/releases/v1.25.4.md index ceec761d..12d4994e 100644 --- a/docs/releases/v1.25.4.md +++ b/docs/releases/v1.25.4.md @@ -12,6 +12,11 @@ Currently, in its first early release, it supports EKS-based environments only; ## New Features since `v1.25.3` +- [#107](https://github.com/sighupio/fury-distribution/pull/107) Added `yq` dependency, apply and delete script templates +- [#108](https://github.com/sighupio/fury-distribution/pull/108) Modules can now be disabled or configured with the new configuration property `type` +- [#95](https://github.com/sighupio/fury-distribution/pull/95) Added schema to support the new `KFDDistribution` kind +- [#110](https://github.com/sighupio/fury-distribution/pull/110) Deleted the old `furyctl-defaults.yaml` file + ## Upgrade procedure Check the [v1.25.3-to-v1.25.4 upgrade guide](../upgrades/v1.25.3-to-v1.25.4.md) for the detailed procedure. From 876b056f12270e143788185b1901dd6e715098a2 Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 5 Jul 2023 15:35:35 +0200 Subject: [PATCH 3/6] docs: update everything for 1.25.4 --- README.md | 6 +++--- docs/COMPATIBILITY_MATRIX.md | 10 ++++++++++ docs/releases/v1.25.4.md | 12 ++++-------- docs/upgrades/v1.25.3-to-v1.25.4.md | 22 ++++++++++++++++++++++ 4 files changed, 39 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 01e3ffd7..a7aeddbe 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@

Kubernetes Fury Distribution (KFD) is a certified battle-tested Kubernetes distribution based purely on upstream Kubernetes.

-[![Build Status](http://ci.sighup.io/api/badges/sighupio/fury-distribution/status.svg?ref=refs/tags/v1.25.3)](http://ci.sighup.io/sighupio/fury-distribution) +[![Build Status](http://ci.sighup.io/api/badges/sighupio/fury-distribution/status.svg?ref=refs/tags/v1.25.4)](http://ci.sighup.io/sighupio/fury-distribution) [![Release](https://img.shields.io/badge/release-v1.25.3-blue?label=FuryDistributionRelease)](https://github.com/sighupio/fury-distribution/releases/latest) [![Slack](https://img.shields.io/badge/slack-@kubernetes/fury-yellow.svg?logo=slack)](https://kubernetes.slack.com/archives/C0154HYTAQH) [![License](https://img.shields.io/github/license/sighupio/fury-distribution)](https://github.com/sighupio/fury-distribution/blob/main/LICENSE) @@ -95,11 +95,11 @@ Current supported versions of KFD are: | KFD Version | Kubernetes Version | | :----------------------------------------------------------------------------: | :----------------: | -| [`1.25.3`](https://github.com/sighupio/fury-distribution/releases/tag/v1.25.3) | `1.25.x` | +| [`1.25.4`](https://github.com/sighupio/fury-distribution/releases/tag/v1.25.4) | `1.25.x` | | [`1.24.1`](https://github.com/sighupio/fury-distribution/releases/tag/v1.24.1) | `1.24.x` | | [`1.23.4`](https://github.com/sighupio/fury-distribution/releases/tag/v1.23.3) | `1.23.x` | -| Installer / KFD Version | 1.25.3 | 1.24.1 | 1.23.4 | +| Installer / KFD Version | 1.25.4 | 1.24.1 | 1.23.4 | | ---------------------------------------------------------------------- | :----------------: | :----------------: | :----------------: | | [on-premises](https://github.com/sighupio/fury-kubernetes-on-premises) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [EKS](https://github.com/sighupio/fury-eks-installer) | :white_check_mark: | :white_check_mark: | :white_check_mark: | diff --git a/docs/COMPATIBILITY_MATRIX.md b/docs/COMPATIBILITY_MATRIX.md index 53aafdcb..c568a783 100644 --- a/docs/COMPATIBILITY_MATRIX.md +++ b/docs/COMPATIBILITY_MATRIX.md @@ -29,6 +29,16 @@ For a complete list of all KFD releases and their compatibility with Kubernetes | :warning: | Has known issues | | :x: | Incompatible | +### Furyctl and KFD compatibility + +| Furyctl / KFD | 1.25.4 | 1.25.3 | 1.25.2 | +| -------------- | ------------------ | ------------------ | ------------------ | +| 0.25.0 | :white_check_mark: | | | +| 0.25.0-beta.0 | | :white_check_mark: | | +| 0.25.0-alpha.1 | | | :white_check_mark: | + +See [Furyctl](https://github.com/sighupio/furyctl) repository for more informations on it's usage. + ### Warnings - :x: version `v1.23.0` has a known bug that breaks upgrades. Do not use. diff --git a/docs/releases/v1.25.4.md b/docs/releases/v1.25.4.md index 12d4994e..4f472dcd 100644 --- a/docs/releases/v1.25.4.md +++ b/docs/releases/v1.25.4.md @@ -4,18 +4,14 @@ Welcome to KFD release `v1.25.4`. The distribution is maintained with ❤️ by the team [SIGHUP](https://sighup.io/) it is battle tested in production environments. -Introducing next generation Kubernetes cluster full lifecycle management thanks to KFD furyctl. -furyctl is the Swiss Army Knife for Kubernetes and optimized for Kubernetes Fury Distribution. -It is a command-line tool developed by SIGHUP to support the full automatic provisioning of Kubernetes clusters. - -Currently, in its first early release, it supports EKS-based environments only; more providers will follow in the upcoming releases. +With this release, we have added a new provider called KFDDistribution that allows installing the Fury distribution on any Kubernetes cluster. +We have also added the ability to enable and disable certain features of the distribution. ## New Features since `v1.25.3` -- [#107](https://github.com/sighupio/fury-distribution/pull/107) Added `yq` dependency, apply and delete script templates -- [#108](https://github.com/sighupio/fury-distribution/pull/108) Modules can now be disabled or configured with the new configuration property `type` +- [#107](https://github.com/sighupio/fury-distribution/pull/107) Added apply and delete script templates to enhance the apply phase for all the manifests +- [#108](https://github.com/sighupio/fury-distribution/pull/108) Some of the modules/packages can now be disabled or configured with the new configuration property `type` - [#95](https://github.com/sighupio/fury-distribution/pull/95) Added schema to support the new `KFDDistribution` kind -- [#110](https://github.com/sighupio/fury-distribution/pull/110) Deleted the old `furyctl-defaults.yaml` file ## Upgrade procedure diff --git a/docs/upgrades/v1.25.3-to-v1.25.4.md b/docs/upgrades/v1.25.3-to-v1.25.4.md index d84cdd95..64d74b01 100644 --- a/docs/upgrades/v1.25.3-to-v1.25.4.md +++ b/docs/upgrades/v1.25.3-to-v1.25.4.md @@ -10,3 +10,25 @@ Notice that the guide will not cover changes related to the cloud provider, ingr > we strongly recommend reading the whole guide before starting the upgrade process to identify possible blockers. ## Upgrade procedure + +### 1. Using furyctl + +Change `.spec.distributionVersion` on your `furyctl.yaml` file with the new `v1.25.4`. + +Validate the schema using the new `v0.25.0` `furyctl` version: + +```bash +furyctl validate config +``` + +Add the new fields that are now required, for example `.spec.distribution.modules.dr.type`. + +Apply the new configuration on the cluster with: + +```bash +furyctl create cluster +``` + +### 2. Using KFD directly + +There are no changes on the modules since the version v1.25.3. \ No newline at end of file From 9fd45e2961f6bb0d3ade4d7d7887bdeffda5d85c Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 5 Jul 2023 15:36:40 +0200 Subject: [PATCH 4/6] docs: change badge to 1.25.4 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7aeddbe..ca3d6974 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![Build Status](http://ci.sighup.io/api/badges/sighupio/fury-distribution/status.svg?ref=refs/tags/v1.25.4)](http://ci.sighup.io/sighupio/fury-distribution) -[![Release](https://img.shields.io/badge/release-v1.25.3-blue?label=FuryDistributionRelease)](https://github.com/sighupio/fury-distribution/releases/latest) +[![Release](https://img.shields.io/badge/release-v1.25.4-blue?label=FuryDistributionRelease)](https://github.com/sighupio/fury-distribution/releases/latest) [![Slack](https://img.shields.io/badge/slack-@kubernetes/fury-yellow.svg?logo=slack)](https://kubernetes.slack.com/archives/C0154HYTAQH) [![License](https://img.shields.io/github/license/sighupio/fury-distribution)](https://github.com/sighupio/fury-distribution/blob/main/LICENSE) From 96fe26c3785cbe113e674f88a992512a2d5156db Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 5 Jul 2023 15:37:29 +0200 Subject: [PATCH 5/6] docs: add info on furyctl for the compatibility matrix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca3d6974..b241105f 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ Current supported versions of KFD are: | [GKE](https://github.com/sighupio/fury-gke-installer) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | [AKS](https://github.com/sighupio/fury-aks-installer) | :white_check_mark: | :white_check_mark: | :white_check_mark: | -Check the [compatibility matrix][compatibility-matrix] for additional information about previous releases of the Distribution. +Check the [compatibility matrix][compatibility-matrix] for additional information about previous releases of the Distribution and the compatibility with `furyctl`. Also, check the [versioning documentation file][versioning] to know more about the versioning scheme of the distribution and the upgrade path. From bf0b21f9598e7dae51ac8652dfd33433a8764ccd Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 5 Jul 2023 16:05:17 +0200 Subject: [PATCH 6/6] feat: add release v1.25.4 folder --- releases/v1.25.4/Furyfile.yml | 29 +++++++++++++++++++ releases/v1.25.4/kfd.yaml | 40 +++++++++++++++++++++++++ releases/v1.25.4/kustomization.yaml | 45 +++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 releases/v1.25.4/Furyfile.yml create mode 100644 releases/v1.25.4/kfd.yaml create mode 100644 releases/v1.25.4/kustomization.yaml diff --git a/releases/v1.25.4/Furyfile.yml b/releases/v1.25.4/Furyfile.yml new file mode 100644 index 00000000..4522ffe5 --- /dev/null +++ b/releases/v1.25.4/Furyfile.yml @@ -0,0 +1,29 @@ +# Copyright (c) 2022 SIGHUP s.r.l All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +--- +versions: + auth: v0.0.3 + aws: v3.0.0 + dr: v2.0.0 + ingress: v2.0.0 + logging: v3.1.3 + monitoring: v2.1.0 + opa: v1.8.0 + networking: v1.13.0 + +bases: + - name: auth + - name: aws + - name: dr + - name: ingress + - name: logging + - name: monitoring + - name: networking + - name: opa + +modules: + - name: aws + - name: dr + - name: ingress diff --git a/releases/v1.25.4/kfd.yaml b/releases/v1.25.4/kfd.yaml new file mode 100644 index 00000000..0a8cc6c6 --- /dev/null +++ b/releases/v1.25.4/kfd.yaml @@ -0,0 +1,40 @@ +# Copyright (c) 2017-present SIGHUP s.r.l All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +version: v1.25.4 +modules: + auth: v0.0.3 + aws: v3.0.0 + dr: v2.0.0 + ingress: v2.0.0 + logging: v3.1.3 + monitoring: v2.1.0 + opa: v1.8.0 + networking: v1.13.0 +kubernetes: + eks: + version: 1.25 + installer: v2.0.0 +furyctlSchemas: + eks: + - apiVersion: kfd.sighup.io/v1alpha2 + kind: EKSCluster + kfddistribution: + - apiVersion: kfd.sighup.io/v1alpha2 + kind: KFDDistribution +tools: + common: + furyagent: + version: 0.3.0 + kubectl: + version: 1.25.8 + kustomize: + version: 3.10.0 + terraform: + version: 1.4.6 + yq: + version: 4.34.1 + eks: + awscli: + version: 2.8.12 diff --git a/releases/v1.25.4/kustomization.yaml b/releases/v1.25.4/kustomization.yaml new file mode 100644 index 00000000..4bdb2860 --- /dev/null +++ b/releases/v1.25.4/kustomization.yaml @@ -0,0 +1,45 @@ +# Copyright (c) 2017-present SIGHUP s.r.l All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +# NB: This is a starting point for a kustomization.yaml file. It is not meant to be used in production as is. + +resources: + # Networking + - ./vendor/katalog/networking/calico + # OPA + - ./vendor/katalog/opa/gatekeeper/core + - ./vendor/katalog/opa/gatekeeper/rules/templates + - ./vendor/katalog/opa/gatekeeper/rules/config + - ./vendor/katalog/opa/gatekeeper/gpm + # Monitoring + - ./vendor/katalog/monitoring/prometheus-operator + - ./vendor/katalog/monitoring/prometheus-operated + - ./vendor/katalog/monitoring/grafana + - ./vendor/katalog/monitoring/kubeadm-sm + - ./vendor/katalog/monitoring/kube-proxy-metrics + - ./vendor/katalog/monitoring/kube-state-metrics + - ./vendor/katalog/monitoring/node-exporter + - ./vendor/katalog/monitoring/prometheus-adapter + - ./vendor/katalog/monitoring/alertmanager-operated + # Logging + - ./vendor/katalog/logging/opensearch-single + - ./vendor/katalog/logging/opensearch-dashboards + - ./vendor/katalog/logging/cerebro + - ./vendor/katalog/logging/logging-operator + - ./vendor/katalog/logging/logging-operated + - ./vendor/katalog/logging/minio-ha + - ./vendor/katalog/logging/loki-distributed + - ./vendor/katalog/logging/configs + # Ingress + - ./vendor/katalog/ingress/cert-manager + - ./vendor/katalog/ingress/nginx + - ./vendor/katalog/ingress/forecastle + # DR + - ./vendor/katalog/dr/velero/velero-on-prem + - ./vendor/katalog/dr/velero/velero-schedules + - ./vendor/katalog/dr/velero/velero-restic