Skip to content

Commit

Permalink
Merge branch 'feat/release-v1.30.0' into feat/auth-v0.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ralgozino authored Nov 20, 2024
2 parents 5e219fd + 76e60ca commit 556e5a1
Show file tree
Hide file tree
Showing 60 changed files with 783 additions and 44 deletions.
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
<p align="center">Kubernetes Fury Distribution (KFD) is a certified battle-tested Kubernetes distribution based purely on upstream Kubernetes.</p>
<!-- markdownlint-enable MD033 MD045 -->

[![Build Status](http://ci.sighup.io/api/badges/sighupio/fury-distribution/status.svg?ref=refs/tags/v1.29.4)](http://ci.sighup.io/sighupio/fury-distribution)
[![Release](https://img.shields.io/badge/release-v1.29.4-blue?label=FuryDistributionRelease)](https://github.com/sighupio/fury-distribution/releases/latest)
[![Build Status](http://ci.sighup.io/api/badges/sighupio/fury-distribution/status.svg?ref=refs/tags/v1.30.0)](http://ci.sighup.io/sighupio/fury-distribution)
[![Release](https://img.shields.io/badge/release-v1.30.0-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)

Expand Down Expand Up @@ -130,9 +130,9 @@ Current supported versions of KFD are:

| KFD Version | Kubernetes Version |
| :----------------------------------------------------------------------------: | :----------------: |
| [`1.29.4`](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.4) | `1.29.x` |
| [`1.28.4`](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.4) | `1.28.x` |
| [`1.27.9`](https://github.com/sighupio/fury-distribution/releases/tag/v1.27.8) | `1.27.x` |
| [`1.30.0`](https://github.com/sighupio/fury-distribution/releases/tag/v1.30.0) | `1.30.x` |
| [`1.29.5`](https://github.com/sighupio/fury-distribution/releases/tag/v1.29.5) | `1.29.x` |
| [`1.28.5`](https://github.com/sighupio/fury-distribution/releases/tag/v1.28.5) | `1.28.x` |

Check the [compatibility matrix][compatibility-matrix] for additional information about previous releases of the Distribution and the compatibility with `furyctl`.

Expand Down Expand Up @@ -174,13 +174,13 @@ KFD is open-source software and it's released under the following [LICENSE](LICE
[dr-module]: https://github.com/sighupio/fury-kubernetes-dr
[opa-module]: https://github.com/sighupio/fury-kubernetes-opa
[auth-module]: https://github.com/sighupio/fury-kubernetes-auth
[networking-version]: https://img.shields.io/badge/release-v1.17.0-blue
[ingress-version]: https://img.shields.io/badge/release-v2.3.3-blue
[logging-version]: https://img.shields.io/badge/release-v3.4.1-blue
[monitoring-version]: https://img.shields.io/badge/release-v3.2.0-blue
[tracing-version]: https://img.shields.io/badge/release-v1.0.3-blue
[dr-version]: https://img.shields.io/badge/release-v2.3.0-blue
[opa-version]: https://img.shields.io/badge/release-v1.12.0-blue
[networking-version]: https://img.shields.io/badge/release-v2.0.0-blue
[ingress-version]: https://img.shields.io/badge/release-v3.0.1-blue
[logging-version]: https://img.shields.io/badge/release-v4.0.0-blue
[monitoring-version]: https://img.shields.io/badge/release-v3.3.0-blue
[tracing-version]: https://img.shields.io/badge/release-v1.1.0-blue
[dr-version]: https://img.shields.io/badge/release-v3.0.0-blue
[opa-version]: https://img.shields.io/badge/release-v1.13.0-blue
[auth-version]: https://img.shields.io/badge/release-v0.3.0-blue

<!-- Addon Modules -->
Expand Down
18 changes: 9 additions & 9 deletions docs/releases/v1.30.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,26 @@ The distribution is maintained with ❤️ by the team [SIGHUP](https://sighup.i

- [on-premises](https://github.com/sighupio/fury-kubernetes-on-premises) 📦 installer: [**v1.30.6**](https://github.com/sighupio/fury-kubernetes-on-premises/releases/tag/v1.30.6)
- TBD
- [eks](https://github.com/sighupio/fury-eks-installer) 📦 installer: [**v3.X.X**](https://github.com/sighupio/fury-eks-installer/releases/tag/v3.X.X)
- [eks](https://github.com/sighupio/fury-eks-installer) 📦 installer: [**v3.2.0**](https://github.com/sighupio/fury-eks-installer/releases/tag/v3.2.0)
- TBD

### Module updates

- [networking](https://github.com/sighupio/fury-kubernetes-networking) 📦 core module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-networking/releases/tag/vX.X.X)
- [networking](https://github.com/sighupio/fury-kubernetes-networking) 📦 core module: [**v2.0.0**](https://github.com/sighupio/fury-kubernetes-networking/releases/tag/v2.0.0)
- TBD
- [monitoring](https://github.com/sighupio/fury-kubernetes-monitoring) 📦 core module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-monitoring/releases/tag/vX.X.X)
- [monitoring](https://github.com/sighupio/fury-kubernetes-monitoring) 📦 core module: [**v3.3.0**](https://github.com/sighupio/fury-kubernetes-monitoring/releases/tag/v3.3.0)
- TBD
- [logging](https://github.com/sighupio/fury-kubernetes-logging) 📦 core module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-logging/releases/tag/vX.X.X)
- [logging](https://github.com/sighupio/fury-kubernetes-logging) 📦 core module: [**v4.0.0**](https://github.com/sighupio/fury-kubernetes-logging/releases/tag/v4.0.0)
- TBD
- [ingress](https://github.com/sighupio/fury-kubernetes-ingress) 📦 core module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-ingress/releases/tag/vX.X.X)
- [ingress](https://github.com/sighupio/fury-kubernetes-ingress) 📦 core module: [**v3.0.1**](https://github.com/sighupio/fury-kubernetes-ingress/releases/tag/v3.0.1)
- TBD
- [auth](https://github.com/sighupio/fury-kubernetes-auth) 📦 core module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-auth/releases/tag/vX.X.X)
- [auth](https://github.com/sighupio/fury-kubernetes-auth) 📦 core module: [**v0.X.0**](https://github.com/sighupio/fury-kubernetes-auth/releases/tag/v0.X.0)
- TBD
- [dr](https://github.com/sighupio/fury-kubernetes-dr) 📦 core module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-dr/releases/tag/vX.X.X)
- [dr](https://github.com/sighupio/fury-kubernetes-dr) 📦 core module: [**v3.0.0**](https://github.com/sighupio/fury-kubernetes-dr/releases/tag/v3.0.0)
- TBD
- [tracing](https://github.com/sighupio/fury-kubernetes-tracing) 📦 core module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-tracing/releases/tag/vX.X.X)
- [tracing](https://github.com/sighupio/fury-kubernetes-tracing) 📦 core module: [**v1.1.0**](https://github.com/sighupio/fury-kubernetes-tracing/releases/tag/v1.1.0)
- TBD
- [aws](https://github.com/sighupio/fury-kubernetes-aws) 📦 module: [**vX.X.X**](https://github.com/sighupio/fury-kubernetes-aws/releases/tag/vX.X.X)
- [aws](https://github.com/sighupio/fury-kubernetes-aws) 📦 module: [**v4.3.0**](https://github.com/sighupio/fury-kubernetes-aws/releases/tag/v4.3.0)
- TBD

## New features 🌟
Expand Down
15 changes: 15 additions & 0 deletions docs/schemas/ekscluster-kfd-v1alpha2.md
Original file line number Diff line number Diff line change
Expand Up @@ -5437,6 +5437,21 @@ Either `launch_configurations`, `launch_templates` or `both`. For new clusters u
|`"launch_templates"` |
|`"both"` |

## .spec.kubernetes.nodePoolGlobalAmiType

### Description

Global default AMI type used for EKS worker nodes. This will apply to all node pools unless overridden by a specific node pool.

### Constraints

**enum**: the value of this property must be equal to one of the following values:

| Value |
|:---------------|
| `"alinux2"` |
| `"alinux2023"` |

## .spec.kubernetes.serviceIpV4Cidr

### Description
Expand Down
4 changes: 2 additions & 2 deletions kfd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
version: v1.30.0
modules:
auth: v0.4.0.rc.0
aws: v4.2.1
aws: v4.3.0
dr: v3.0.0-rc.1
ingress: v3.0.1-rc.1
logging: v4.0.0-rc.0
Expand All @@ -16,7 +16,7 @@ modules:
kubernetes:
eks:
version: 1.30
installer: v3.1.2
installer: v3.2.0-rc1
onpremises:
version: 1.30.6
installer: v1.30.6-rc.2
Expand Down
58 changes: 52 additions & 6 deletions schemas/private/ekscluster-kfd-v1alpha2.json
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,14 @@
],
"description": "Either `launch_configurations`, `launch_templates` or `both`. For new clusters use `launch_templates`, for existing cluster you'll need to migrate from `launch_configurations` to `launch_templates` using `both` as interim."
},
"nodePoolGlobalAmiType": {
"type": "string",
"enum": [
"alinux2",
"alinux2023"
],
"description": "Global default AMI type used for EKS worker nodes. This will apply to all node pools unless overridden by a specific node pool."
},
"logRetentionDays": {
"type": "integer",
"description": "Optional Kubernetes Cluster log retention in days. Defaults to 90 days."
Expand Down Expand Up @@ -607,8 +615,36 @@
"required": [
"instance",
"name",
"size"
]
"size",
"type"
],
"if": {
"allOf": [
{
"properties": {
"type": {
"enum": [
"eks-managed"
]
}
}
}
]
},
"then": {
"properties": {
"ami": {
"properties": {
"id": {
"type": "null"
},
"owner": {
"type": "null"
}
}
}
}
}
},
"Spec.Kubernetes.NodePool.Ami": {
"type": "object",
Expand All @@ -621,12 +657,22 @@
"owner": {
"type": "string",
"description": "The owner of the AMI"
},
"type": {
"type": "string",
"description": "The AMI type based on OS",
"enum": [
"alinux2",
"alinux2023"
]
}
},
"required": [
"id",
"owner"
]
"dependencies": {
"id": [
"owner"
]
},
"required": []
},
"Spec.Kubernetes.NodePool.Instance": {
"type": "object",
Expand Down
58 changes: 52 additions & 6 deletions schemas/public/ekscluster-kfd-v1alpha2.json
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,14 @@
],
"description": "Either `launch_configurations`, `launch_templates` or `both`. For new clusters use `launch_templates`, for existing cluster you'll need to migrate from `launch_configurations` to `launch_templates` using `both` as interim."
},
"nodePoolGlobalAmiType": {
"type": "string",
"enum": [
"alinux2",
"alinux2023"
],
"description": "Global default AMI type used for EKS worker nodes. This will apply to all node pools unless overridden by a specific node pool."
},
"logRetentionDays": {
"type": "integer",
"description": "Optional Kubernetes Cluster log retention in days. Defaults to 90 days."
Expand Down Expand Up @@ -607,8 +615,36 @@
"required": [
"instance",
"name",
"size"
]
"size",
"type"
],
"if": {
"allOf": [
{
"properties": {
"type": {
"enum": [
"eks-managed"
]
}
}
}
]
},
"then": {
"properties": {
"ami": {
"properties": {
"id": {
"type": "null"
},
"owner": {
"type": "null"
}
}
}
}
}
},
"Spec.Kubernetes.NodePool.Ami": {
"type": "object",
Expand All @@ -621,12 +657,22 @@
"owner": {
"type": "string",
"description": "The owner of the AMI"
},
"type": {
"type": "string",
"description": "The AMI type based on OS",
"enum": [
"alinux2",
"alinux2023"
]
}
},
"required": [
"id",
"owner"
]
"dependencies": {
"id": [
"owner"
]
},
"required": []
},
"Spec.Kubernetes.NodePool.Instance": {
"type": "object",
Expand Down
10 changes: 8 additions & 2 deletions templates/config/ekscluster-kfd-v1alpha2.yaml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ spec:
nodeAllowedSshPublicKey: "ssh-ed25519 XYZ"
# Either `launch_configurations`, `launch_templates` or `both`. For new clusters use `launch_templates`, for existing cluster you'll need to migrate from `launch_configurations` to `launch_templates` using `both` as interim.
nodePoolsLaunchKind: "launch_templates"
# Global default AMI type used for EKS worker nodes. This will apply to all node pools unless overridden by a specific node pool. Valid values are: `alinux2`, `alinux2023`
nodePoolGlobalAmiType: "alinux2"
# Optional Kubernetes Cluster log retention in days. Defaults to 90 days.
# logRetentionDays: 90
# This map defines the access to the Kubernetes API server
Expand All @@ -97,6 +99,7 @@ spec:
nodePools:
# This is the name of the nodepool
- name: infra
type: self-managed
# This map defines the max and min number of nodes in the nodepool autoscaling group
size:
min: 1
Expand Down Expand Up @@ -124,8 +127,8 @@ spec:
- node.kubernetes.io/role=infra:NoSchedule
# AWS tags that will be added to the ASG and EC2 instances, the example shows the labels needed by cluster autoscaler
tags:
k8s.io/cluster-autoscaler/node-template/label/nodepool: "worker"
k8s.io/cluster-autoscaler/node-template/label/node.kubernetes.io/role: "worker"
k8s.io/cluster-autoscaler/node-template/label/nodepool: "infra"
k8s.io/cluster-autoscaler/node-template/label/node.kubernetes.io/role: "infra"
# Optional additional firewall rules that will be attached to the nodes
#additionalFirewallRules:
# # The name of the rule
Expand Down Expand Up @@ -227,6 +230,9 @@ spec:
logging:
# can be opensearch, loki, customOutput or none. With none, the logging module won't be installed
type: loki
# configurations for the loki package
loki:
tsdbStartDate: "2024-11-20"
# configurations for the minio-ha package
minio:
# the PVC size for each minio disk, 6 disks total
Expand Down
3 changes: 3 additions & 0 deletions templates/config/kfddistribution-kfd-v1alpha2.yaml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ spec:
logging:
# can be opensearch, loki, customOutput or none. With none, the logging module won't be installed
type: loki
# configurations for the loki package
loki:
tsdbStartDate: "2024-11-20"
# configurations for the minio-ha package
minio:
# the PVC size for each minio disk, 6 disks total
Expand Down
3 changes: 3 additions & 0 deletions templates/config/onpremises-kfd-v1alpha2.yaml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,9 @@ spec:
logging:
# can be opensearch, loki, customOutput or none. With none, the logging module won't be installed
type: loki
# configurations for the loki package
loki:
tsdbStartDate: "2024-11-20"
# configurations for the minio-ha package
minio:
# the PVC size for each minio disk, 6 disks total
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ cluster_service_ipv4_cidr = null
cluster_service_ipv4_cidr = {{ .spec.kubernetes.serviceIpV4Cidr | quote }}
{{- end }}
node_pools_launch_kind = {{ .spec.kubernetes.nodePoolsLaunchKind | quote }}
node_pools_global_ami_type = {{ .spec.kubernetes.nodePoolGlobalAmiType | quote }}

{{- if hasKeyAny .spec.kubernetes "logRetentionDays" }}
cluster_log_retention_days = {{ .spec.kubernetes.logRetentionDays }}
Expand Down Expand Up @@ -97,7 +98,11 @@ workers_iam_role_name_prefix_override = {{ .spec.kubernetes.workersIAMRoleNamePr
{{- end}}

{{- if hasKeyAny $np "ami" }}
{{- $currNodePool = mergeOverwrite $currNodePool (dict "ami_id" $np.ami.id "ami_owners" (list $np.ami.owner)) }}
{{- if and (eq $np.type "self-managed") (hasKeyAny $np.ami "id") (not (hasKeyAny $np.ami "type")) }}
{{- $currNodePool = mergeOverwrite $currNodePool (dict "ami_id" $np.ami.id "ami_owners" (list $np.ami.owner)) }}
{{- else if and (hasKeyAny $np.ami "type") (not (hasKeyAny $np.ami "id")) }}
{{- $currNodePool = mergeOverwrite $currNodePool (dict "ami_type" $np.ami.type) }}
{{- end }}
{{- end }}

{{- if hasKeyAny $np.instance "spot" }}
Expand Down
1 change: 1 addition & 0 deletions templates/kubernetes/ekscluster/terraform/main.tf.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ module "fury" {
ssh_public_key = var.ssh_public_key
node_pools = var.node_pools
node_pools_launch_kind = var.node_pools_launch_kind
node_pools_global_ami_type = var.node_pools_global_ami_type
tags = var.tags
cluster_iam_role_name = var.cluster_iam_role_name_prefix_override
workers_role_name = var.workers_iam_role_name_prefix_override
Expand Down
Loading

0 comments on commit 556e5a1

Please sign in to comment.