diff --git a/.github/workflows/check-update-crd-reference.yaml b/.github/workflows/check-update-crd-reference.yaml new file mode 100644 index 0000000000..b8ba779710 --- /dev/null +++ b/.github/workflows/check-update-crd-reference.yaml @@ -0,0 +1,20 @@ +# Validates the configuration for the CRD reference update script +# in scripts/update-crd-reference + +name: check-update-crd-reference + +on: + push: + paths: + - scripts/update-crd-reference/* + +jobs: + check: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Validate configuration + run: | + make update-crd-reference diff --git a/.github/workflows/generate-review-issues.yaml b/.github/workflows/generate-review-issues.yaml index b2c5317596..b14084bd6f 100644 --- a/.github/workflows/generate-review-issues.yaml +++ b/.github/workflows/generate-review-issues.yaml @@ -1,9 +1,8 @@ name: Generate review Issues weekly on: schedule: - # At 0:00 on Sundays - - cron: '0 0 * * 0' - + # At 0:05 on Sundays + - cron: '5 0 * * 0' jobs: front-matter: diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml index 8c3e8bd1d4..5de5e58a48 100644 --- a/.github/workflows/validate.yaml +++ b/.github/workflows/validate.yaml @@ -77,6 +77,46 @@ jobs: exit 1 fi + - name: Check file and folder names in content + shell: python {0} + run: | + # Walk content folder, check file names to use only allowed characters + from pathlib import Path + import re + import os + import sys + + allowed_chars = re.compile(r'^[a-z0-9-\.+]+$') + allowed_chars_static = re.compile(r'^[a-z0-9-\._]+$') # images etc. may use the underscore + + content_dir = 'src/content' + errors = [] + for root, dirs, files in os.walk(content_dir): + for file in files: + full_path = Path(root, file) + if full_path.name == '_index.md': + continue + if full_path.name == '_template.md.tpl': + continue + + if full_path.suffix.lower() == '.md': + if not allowed_chars.match(full_path.stem): + errors.append(f"- FILE {full_path}") + else: + # static files + if not allowed_chars_static.match(full_path.name): + errors.append(f"- FILE {full_path}") + + for dir in dirs: + if not allowed_chars.match(dir): + errors.append(f"- DIR {Path(root, dir)}") + + if len(errors) > 0: + sys.stderr.write("The following file/folder names use invalid characters. Only lowercase letters, digits, hyphens and period are allowed.\n") + for error in errors: + sys.stderr.write(error + "\n") + sys.exit(1) + - name: Check for moved or deleted files run: | git --no-pager diff --name-status --diff-filter=RD "refs/heads/${GITHUB_BASE_REF}" -- . | tee files.txt diff --git a/Makefile b/Makefile index ae4fe8a193..62942c34ec 100644 --- a/Makefile +++ b/Makefile @@ -19,10 +19,6 @@ export-csv: $(REGISTRY)/$(COMPANY)/docs-scriptrunner:latest \ /workdir/scripts/export-csv/script.py -# Update content from external repositories that gets copied in here. -update-external-repos: - ./scripts/update-external-repos/main.sh - # Aggregate changelog entries from various repositories into our Changes section. changes: @if [ -z "${GITHUB_TOKEN}" ]; then echo "Please set the GITHUB_TOKEN environment variable"; exit 1; fi @@ -58,7 +54,6 @@ update-cluster-app-reference: # Generate the reference documentation for the custom resource # definitions (CRD) used in the Management API. update-crd-reference: - scripts/update-crd-reference/update_config.sh scripts/update-crd-reference/main.sh lint: lint-markdown lint-prose validate-front-matter @@ -114,13 +109,14 @@ validate-front-matter: $(REGISTRY)/$(COMPANY)/docs-scriptrunner:latest \ /workdir/scripts/validate-front-matter/script.py -# Validate front matter in all pages. +# Validate front matter for last-reviewed date. validate-last-reviewed: docker run --rm \ --volume=${PWD}:/workdir:ro \ -w /workdir \ $(REGISTRY)/$(COMPANY)/docs-scriptrunner:latest \ - /workdir/scripts/validate-front-matter/script.py --validation last-reviewed \ + /workdir/scripts/validate-front-matter/script.py \ + --validation last-reviewed \ --output json # Print a report of pages with a last_review_date that's diff --git a/renovate.json5 b/renovate.json5 index af7ff49aed..764c1d68cc 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -13,5 +13,16 @@ ], versioningTemplate: '{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}', }, + // Detect CRD source versions + { + customType: 'regex', + datasourceTemplate: 'github-tags', + fileMatch: ['^scripts/update-crd-reference/config\\.yaml$'], + matchStrings: [ + 'short_name:\\s*(??)\\s+commit_reference:\\s*(?\\S+)', + ], + packageNameTemplate: 'giantswarm/{{{depName}}}', + versioningTemplate: 'semver-coerced', + }, ], } diff --git a/scripts/update-crd-reference/update_config.sh b/scripts/update-crd-reference/update_config.sh deleted file mode 100755 index 3500ba6965..0000000000 --- a/scripts/update-crd-reference/update_config.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -# Check if jq is installed -if ! command -v jq &>/dev/null; then - echo "jq is required but not installed. Please install jq and try again." - exit 1 -fi - -# Check if yq is installed -if ! command -v yq &>/dev/null; then - echo "yq is required but not installed. Please install yq and try again." - exit 1 -fi - -CONFIG="config.yaml" - -# Function to update the commit_reference with the latest release -update_commit_reference() { - local url="$1" - local latest_release - - # Extract the repo name from the URL for API call - repo_name=$(echo "$url" | awk -F '/' '{print $(NF-1)"/"$NF}') - - # Fetch the latest release tag from GitHub API - latest_release=$(curl -s "https://api.github.com/repos/$repo_name/releases/latest" | jq -r '.tag_name') - - # If the API call was successful and we got a tag name - if [[ "$latest_release" != "null" ]]; then - echo "Updating $repo_name to latest release: $latest_release" - # Update the YAML file with the new commit_reference - yq eval -i "(.source_repositories[] | select(.url == \"$url\").commit_reference) = \"$latest_release\"" "$CONFIG" - else - echo "Failed to fetch latest release for $repo_name" - fi -} - -# Loop through each source repository in the YAML file -yq eval '.source_repositories[] | .url' "$CONFIG" | while read -r url; do - update_commit_reference "$url" -done - -echo "Update complete." diff --git a/scripts/update-external-repos/main.sh b/scripts/update-external-repos/main.sh deleted file mode 100755 index 9ed756d848..0000000000 --- a/scripts/update-external-repos/main.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -# Here we pull in content from external repositories. While doing so we do -# - copy images (png, jpg) to a special folder -# - copy markdown content to another folder -# - Rewrite image references in the markdown -# - add a link to the recipe repository for collaboration -# -# This assumes: -# - list of repository URLs in repositories.txt -# - recipe repositories have a "docs" subfolder -# - In the "docs" folder is an "index.md" file -# - This index.md file has HUGO frontmatter -# - There may be additional markdown files in that folder -# - There may be PNG and/or JPG images in that folder - -mytmpdir=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir') -echo "Temp dir: $mytmpdir" - -cat ./scripts/update-external-repos/repositories.txt | while read repoline -do - - # split line into repository URL, target path - parts=(${repoline// / }) - repourl=${parts[0]} - targetpath=${parts[1]} - - echo "Copying repo ${repourl} to ${targetpath}" - - # derive reponame from repourl - filename=$(basename ${repourl}) - parts=(${filename//./ }) - reponame=${parts[0]} - - # Empty sub-folder for this repo here in the build folder - rm -rf ${reponame} - - # Clone the repository from github - git clone --depth 1 https://github.com/giantswarm/${reponame}.git $mytmpdir/${reponame} - - # Copy content into src tree - if [ -d "$mytmpdir/${reponame}/docs" ]; then - rm -rf ${targetpath} - mkdir ${targetpath} - cp $mytmpdir/${reponame}/docs/*.md ${targetpath}/ || echo "WARN: no Markdown files" - cp $mytmpdir/${reponame}/docs/*.png ${targetpath}/ || echo "INFO: no PNG files" - cp $mytmpdir/${reponame}/docs/*.jpg ${targetpath}/ || echo "INFO: no JPG files" - fi -done diff --git a/scripts/update-external-repos/repositories.txt b/scripts/update-external-repos/repositories.txt deleted file mode 100644 index 105ad14c54..0000000000 --- a/scripts/update-external-repos/repositories.txt +++ /dev/null @@ -1 +0,0 @@ -https://github.com/giantswarm/kubernetes-gpu.git src/content/vintage/advanced/gpu diff --git a/scripts/update-helm-chart-reference/config.yaml b/scripts/update-helm-chart-reference/config.yaml index 3aab75a431..619ecf0859 100644 --- a/scripts/update-helm-chart-reference/config.yaml +++ b/scripts/update-helm-chart-reference/config.yaml @@ -29,42 +29,18 @@ source_repositories: - url: https://github.com/giantswarm/cluster-vsphere organization: giantswarm introduction: | - The `default-apps-vsphere` chart templates all the VMware infrastructure resources that are necessary to create a Cluster API vSphere cluster. + The `cluster-vsphere` chart templates all the VMware infrastructure resources that are necessary to create a Cluster API vSphere cluster. name: cluster-vsphere commit_reference: v0.9.8 - url: https://github.com/giantswarm/cluster-cloud-director organization: giantswarm introduction: | - The `default-apps-cloud-director` chart templates all the VMware infrastructure resources that are necessary to create a Cluster API VCD cluster. + The `cluster-cloud-director` chart templates all the VMware infrastructure resources that are necessary to create a Cluster API VCD cluster. name: cluster-cloud-director commit_reference: v0.14.2 - - url: https://github.com/giantswarm/default-apps-aws - organization: giantswarm - introduction: | - The `default-apps-aws` chart templates all the components required for a Cluster API AWS cluster like External DNS or CoreDNS. - name: default-apps-aws - commit_reference: v0.48.0 - url: https://github.com/giantswarm/default-apps-eks organization: giantswarm introduction: | - The `default-apps-eks` chart templates all the components required for a Cluster API EKS cluster like External DNS or CoreDNS. + The `default-apps-eks` chart templates all the standard apps deployed to AWS EKS clusters, like External DNS and CoreDNS. name: default-apps-eks commit_reference: v0.5.1 - - url: https://github.com/giantswarm/default-apps-azure - organization: giantswarm - introduction: | - The `default-apps-azure` chart templates all the components required for a Cluster API Azure cluster like External DNS or CoreDNS. - name: default-apps-azure - commit_reference: v0.8.3 - - url: https://github.com/giantswarm/default-apps-vsphere - organization: giantswarm - introduction: | - The `default-apps-vsphere` chart templates all the components required for a Cluster API VMware cluster like External DNS or CoreDNS. - name: default-apps-vsphere - commit_reference: v0.12.1 - - url: https://github.com/giantswarm/default-apps-cloud-director - organization: giantswarm - introduction: | - The `default-apps-cloud-director` chart templates all the components required for a Cluster API VMware cluster like External DNS or CoreDNS. - name: default-apps-cloud-director - commit_reference: v0.7.3 diff --git a/src/content/changes/web-ui/backstage/v0.45.3.md b/src/content/changes/web-ui/backstage/v0.45.3.md new file mode 100644 index 0000000000..ba18053d70 --- /dev/null +++ b/src/content/changes/web-ui/backstage/v0.45.3.md @@ -0,0 +1,19 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +changes_categories: +- Web UI +changes_entry: + repository: giantswarm/backstage + url: https://github.com/giantswarm/backstage/blob/master/CHANGELOG.md#0453---2024-12-16 + version: 0.45.3 + version_tag: v0.45.3 +date: '2024-12-16T09:39:06' +description: Changelog entry for giantswarm/backstage version 0.45.3, published on + 16 December 2024, 09:39. +title: backstage release v0.45.3 +--- + +In this release: +- GS OIDC auth provider sign-in resolver was changed to correctly handle Azure AD identity provider; +- user reference used in telemetry signals now contains unique hash for guest users. +See [./docs/releases/v0.45.3-changelog.md](./docs/releases/v0.45.3-changelog.md) for more information. diff --git a/src/content/changes/workload-cluster-releases-azure/releases/azure-29.4.0.md b/src/content/changes/workload-cluster-releases-azure/releases/azure-29.4.0.md new file mode 100644 index 0000000000..70be690fa9 --- /dev/null +++ b/src/content/changes/workload-cluster-releases-azure/releases/azure-29.4.0.md @@ -0,0 +1,75 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-azure/releases/azure-azure-29.4.0/ +changes_categories: +- Workload cluster releases for Azure +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/azure/v29.4.0 + version: azure-29.4.0 + version_tag: azure-29.4.0 +date: '2024-12-12T12:00:00' +description: Release notes for Azure workload cluster release azure-29.4.0, published + on 12 December 2024, 12:00. +title: Workload cluster release azure-29.4.0 for Azure +--- + +## Changes compared to v29.3.0 + +### Components + +- cluster-azure from v1.4.0 to v1.5.0 +- Kubernetes from v1.29.10 to [v1.29.12](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v12910) + +### cluster-azure [v1.4.0...v1.5.0](https://github.com/giantswarm/cluster-azure/compare/v1.4.0...v1.5.0) + +#### Changed + +- Chart: Update `cluster` to [v1.7.0](https://github.com/giantswarm/cluster/releases/tag/v1.7.0). + - Add `teleport-init` systemd unit to handle initial token setup before `teleport` service starts + - Improve `teleport` service reliability by adding proper file and service dependencies and pre-start checks + +### Apps + +- cert-manager from v3.8.1 to v3.8.2 +- coredns from v1.22.0 to v1.23.0 +- observability-bundle from v1.8.0 to v1.9.0 + +### cert-manager [v3.8.1...v3.8.2](https://github.com/giantswarm/cert-manager-app/compare/v3.8.1...v3.8.2) + +#### Changed + +- Changed ownership to team Shield + +#### Removed + +- Get rid of label `giantswarm.io/monitoring_basic_sli` as this slo generation label is not used anymore. + +### coredns [v1.22.0...v1.23.0](https://github.com/giantswarm/coredns-app/compare/v1.22.0...v1.23.0) + +#### Changed + +- Update `coredns` image to [1.11.4](https://github.com/coredns/coredns/releases/tag/v1.11.4). +- Explicitly expose liveness and readiness probe ports in deployments. + +#### Removed + +- Remove PodSecurityPolicy and associated Resources and values. + +### observability-bundle [v1.8.0...v1.9.0](https://github.com/giantswarm/observability-bundle/compare/v1.8.0...v1.9.0) + +#### Added + +- Add `alloy` v0.7.0 as `alloyEvents`. + +#### Changed + +- Upgrade `alloy-logs` and `alloy-metrics` to chart 0.7.0. + - Bumps `alloy` from 1.4.2 to 1.5.0 +- upgrade `kube-prometheus-stack` from 65.1.1 to 66.2.1 + - prometheus-operator CRDs from 0.75.0 to 0.78.1 + - prometheus-operator from 0.77.1 to 0.78.1 + - prometheus from 2.54.1 to 2.55.1 + - kube-state-metrics from 2.13.0 to 2.14.0 + - grafana from 8.5.0 to 8.6.0 diff --git a/src/content/changes/workload-cluster-releases-capa/releases/aws-25.4.0.md b/src/content/changes/workload-cluster-releases-capa/releases/aws-25.4.0.md new file mode 100644 index 0000000000..146d1f29f2 --- /dev/null +++ b/src/content/changes/workload-cluster-releases-capa/releases/aws-25.4.0.md @@ -0,0 +1,56 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-capa/releases/capa-aws-25.4.0/ +changes_categories: +- Workload cluster releases for CAPA +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/capa/v25.4.0 + version: aws-25.4.0 + version_tag: aws-25.4.0 +date: '2024-12-12T12:00:00' +description: Release notes for CAPA workload cluster release aws-25.4.0, published + on 12 December 2024, 12:00. +title: Workload cluster release aws-25.4.0 for CAPA +--- + +This release introduces `aws-node-termination-handler` for graceful draining of nodes during an upgrade or other type of replacement of worker nodes. + +Details can be found in the [node pools documentation](https://docs.giantswarm.io/tutorials/fleet-management/cluster-management/node-pools/#what-happens-when-rolling-nodes). + +## Changes compared to v25.3.0 + +### Components + +- cluster-aws from v1.3.4 to v1.3.5 + +### cluster-aws [v1.3.4...v1.3.5](https://github.com/giantswarm/cluster-aws/compare/v1.3.4...v1.3.5) + +#### Added + +- Values: Add `global.providerSpecific.controlPlaneAmi` & `global.providerSpecific.nodePoolAmi`. +- Add aws-node-termination-handler bundle +- Make ASG lifecycle hook heartbeat timeout configurable + +### Apps + +- aws-nth-bundle v1.2.0 +- cert-exporter from v2.9.0 to v2.9.3 + +### aws-nth-bundle [v1.2.0](https://github.com/giantswarm/aws-nth-bundle/releases/tag/v1.2.0) + +#### Added + +- Send spot instance interruption and instance state change events to SQS queue so that aws-node-termination-handler can react to them + +### cert-exporter [v2.9.0...v2.9.3](https://github.com/giantswarm/cert-exporter/compare/v2.9.0...v2.9.3) + +#### Added + +- Chart: Add VPA and resources configuration for deployment and daemonset. ([#382](https://github.com/giantswarm/cert-exporter/pull/382)) + +#### Changed + +- Chart: Enable `global.podSecurityStandards.enforced`. ([#420](https://github.com/giantswarm/cert-exporter/pull/420)) +- Chart: Update PolicyExceptions to v2beta1. ([#358](https://github.com/giantswarm/cert-exporter/pull/358)) diff --git a/src/content/changes/workload-cluster-releases-capa/releases/aws-26.3.0.md b/src/content/changes/workload-cluster-releases-capa/releases/aws-26.3.0.md new file mode 100644 index 0000000000..42fd759584 --- /dev/null +++ b/src/content/changes/workload-cluster-releases-capa/releases/aws-26.3.0.md @@ -0,0 +1,56 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-capa/releases/capa-aws-26.3.0/ +changes_categories: +- Workload cluster releases for CAPA +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/capa/v26.3.0 + version: aws-26.3.0 + version_tag: aws-26.3.0 +date: '2024-12-12T12:00:00' +description: Release notes for CAPA workload cluster release aws-26.3.0, published + on 12 December 2024, 12:00. +title: Workload cluster release aws-26.3.0 for CAPA +--- + +This release introduces `aws-node-termination-handler` for graceful draining of nodes during an upgrade or other type of replacement of worker nodes. + +Details can be found in the [node pools documentation](https://docs.giantswarm.io/tutorials/fleet-management/cluster-management/node-pools/#what-happens-when-rolling-nodes). + +## Changes compared to v26.2.0 + +### Components + +- cluster-aws from v1.3.4 to v1.3.5 + +### cluster-aws [v1.3.4...v1.3.5](https://github.com/giantswarm/cluster-aws/compare/v1.3.4...v1.3.5) + +#### Added + +- Values: Add `global.providerSpecific.controlPlaneAmi` & `global.providerSpecific.nodePoolAmi`. +- Add aws-node-termination-handler bundle +- Make ASG lifecycle hook heartbeat timeout configurable + +### Apps + +- aws-nth-bundle v1.2.0 +- cert-exporter from v2.9.0 to v2.9.3 + +### aws-nth-bundle [v1.2.0](https://github.com/giantswarm/aws-nth-bundle/releases/tag/v1.2.0) + +#### Added + +- Send spot instance interruption and instance state change events to SQS queue so that aws-node-termination-handler can react to them + +### cert-exporter [v2.9.0...v2.9.3](https://github.com/giantswarm/cert-exporter/compare/v2.9.0...v2.9.3) + +#### Added + +- Chart: Add VPA and resources configuration for deployment and daemonset. ([#382](https://github.com/giantswarm/cert-exporter/pull/382)) + +#### Changed + +- Chart: Enable `global.podSecurityStandards.enforced`. ([#420](https://github.com/giantswarm/cert-exporter/pull/420)) +- Chart: Update PolicyExceptions to v2beta1. ([#358](https://github.com/giantswarm/cert-exporter/pull/358)) diff --git a/src/content/changes/workload-cluster-releases-capa/releases/aws-27.4.0.md b/src/content/changes/workload-cluster-releases-capa/releases/aws-27.4.0.md new file mode 100644 index 0000000000..19c9349b18 --- /dev/null +++ b/src/content/changes/workload-cluster-releases-capa/releases/aws-27.4.0.md @@ -0,0 +1,56 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-capa/releases/capa-aws-27.4.0/ +changes_categories: +- Workload cluster releases for CAPA +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/capa/v27.4.0 + version: aws-27.4.0 + version_tag: aws-27.4.0 +date: '2024-12-12T12:00:00' +description: Release notes for CAPA workload cluster release aws-27.4.0, published + on 12 December 2024, 12:00. +title: Workload cluster release aws-27.4.0 for CAPA +--- + +This release introduces `aws-node-termination-handler` for graceful draining of nodes during an upgrade or other type of replacement of worker nodes. + +Details can be found in the [node pools documentation](https://docs.giantswarm.io/tutorials/fleet-management/cluster-management/node-pools/#what-happens-when-rolling-nodes). + +## Changes compared to v27.3.0 + +### Components + +- cluster-aws from v1.3.4 to v1.3.5 + +### cluster-aws [v1.3.4...v1.3.5](https://github.com/giantswarm/cluster-aws/compare/v1.3.4...v1.3.5) + +#### Added + +- Values: Add `global.providerSpecific.controlPlaneAmi` & `global.providerSpecific.nodePoolAmi`. +- Add aws-node-termination-handler bundle +- Make ASG lifecycle hook heartbeat timeout configurable + +### Apps + +- aws-nth-bundle v1.2.0 +- cert-exporter from v2.9.0 to v2.9.3 + +### aws-nth-bundle [v1.2.0](https://github.com/giantswarm/aws-nth-bundle/releases/tag/v1.2.0) + +#### Added + +- Send spot instance interruption and instance state change events to SQS queue so that aws-node-termination-handler can react to them + +### cert-exporter [v2.9.0...v2.9.3](https://github.com/giantswarm/cert-exporter/compare/v2.9.0...v2.9.3) + +#### Added + +- Chart: Add VPA and resources configuration for deployment and daemonset. ([#382](https://github.com/giantswarm/cert-exporter/pull/382)) + +#### Changed + +- Chart: Enable `global.podSecurityStandards.enforced`. ([#420](https://github.com/giantswarm/cert-exporter/pull/420)) +- Chart: Update PolicyExceptions to v2beta1. ([#358](https://github.com/giantswarm/cert-exporter/pull/358)) diff --git a/src/content/changes/workload-cluster-releases-capa/releases/aws-28.4.0.md b/src/content/changes/workload-cluster-releases-capa/releases/aws-28.4.0.md new file mode 100644 index 0000000000..012d406263 --- /dev/null +++ b/src/content/changes/workload-cluster-releases-capa/releases/aws-28.4.0.md @@ -0,0 +1,56 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-capa/releases/capa-aws-28.4.0/ +changes_categories: +- Workload cluster releases for CAPA +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/capa/v28.4.0 + version: aws-28.4.0 + version_tag: aws-28.4.0 +date: '2024-12-12T12:00:00' +description: Release notes for CAPA workload cluster release aws-28.4.0, published + on 12 December 2024, 12:00. +title: Workload cluster release aws-28.4.0 for CAPA +--- + +This release introduces `aws-node-termination-handler` for graceful draining of nodes during an upgrade or other type of replacement of worker nodes. + +Details can be found in the [node pools documentation](https://docs.giantswarm.io/tutorials/fleet-management/cluster-management/node-pools/#what-happens-when-rolling-nodes). + +## Changes compared to v28.3.0 + +### Components + +- cluster-aws from v1.3.4 to v1.3.5 + +### cluster-aws [v1.3.4...v1.3.5](https://github.com/giantswarm/cluster-aws/compare/v1.3.4...v1.3.5) + +#### Added + +- Values: Add `global.providerSpecific.controlPlaneAmi` & `global.providerSpecific.nodePoolAmi`. +- Add aws-node-termination-handler bundle +- Make ASG lifecycle hook heartbeat timeout configurable + +### Apps + +- aws-nth-bundle v1.2.0 +- cert-exporter from v2.9.0 to v2.9.3 + +### aws-nth-bundle [v1.2.0](https://github.com/giantswarm/aws-nth-bundle/releases/tag/v1.2.0) + +#### Added + +- Send spot instance interruption and instance state change events to SQS queue so that aws-node-termination-handler can react to them + +### cert-exporter [v2.9.0...v2.9.3](https://github.com/giantswarm/cert-exporter/compare/v2.9.0...v2.9.3) + +#### Added + +- Chart: Add VPA and resources configuration for deployment and daemonset. ([#382](https://github.com/giantswarm/cert-exporter/pull/382)) + +#### Changed + +- Chart: Enable `global.podSecurityStandards.enforced`. ([#420](https://github.com/giantswarm/cert-exporter/pull/420)) +- Chart: Update PolicyExceptions to v2beta1. ([#358](https://github.com/giantswarm/cert-exporter/pull/358)) diff --git a/src/content/changes/workload-cluster-releases-capa/releases/aws-29.5.0.md b/src/content/changes/workload-cluster-releases-capa/releases/aws-29.5.0.md new file mode 100644 index 0000000000..4bc868d5b4 --- /dev/null +++ b/src/content/changes/workload-cluster-releases-capa/releases/aws-29.5.0.md @@ -0,0 +1,88 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-capa/releases/capa-aws-29.5.0/ +changes_categories: +- Workload cluster releases for CAPA +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/capa/v29.5.0 + version: aws-29.5.0 + version_tag: aws-29.5.0 +date: '2024-12-12T12:00:00' +description: Release notes for CAPA workload cluster release aws-29.5.0, published + on 12 December 2024, 12:00. +title: Workload cluster release aws-29.5.0 for CAPA +--- + +## Changes compared to v29.4.0 + +### Components + +- cluster-aws from v2.4.0 to v2.5.0 +- Kubernetes from v1.29.10 to [v1.29.12](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v12910) + +### cluster-aws [v2.4.0...v2.5.0](https://github.com/giantswarm/cluster-aws/compare/v2.4.0...v2.5.0) + +#### Added + +- Add aws-node-termination-handler bundle +- Values: Add `global.providerSpecific.controlPlaneAmi` & `global.providerSpecific.nodePoolAmi`. +- Make ASG lifecycle hook heartbeat timeout configurable + +#### Changed + +- Chart: Update `cluster` to [v1.7.0](https://github.com/giantswarm/cluster/releases/tag/v1.7.0). + - Add `teleport-init` systemd unit to handle initial token setup before `teleport` service starts + - Improve `teleport` service reliability by adding proper file and service dependencies and pre-start checks + +### Apps + +- aws-nth-bundle v1.2.0 +- cert-manager from v3.8.1 to v3.8.2 +- coredns from v1.22.0 to v1.23.0 +- observability-bundle from v1.8.0 to v1.9.0 + +### aws-nth-bundle [v1.2.0](https://github.com/giantswarm/aws-nth-bundle/releases/tag/v1.2.0) + +#### Added + +- Send spot instance interruption and instance state change events to SQS queue so that aws-node-termination-handler can react to them + +### cert-manager [v3.8.1...v3.8.2](https://github.com/giantswarm/cert-manager-app/compare/v3.8.1...v3.8.2) + +#### Changed + +- Changed ownership to team Shield + +#### Removed + +- Get rid of label `giantswarm.io/monitoring_basic_sli` as this slo generation label is not used anymore. + +### coredns [v1.22.0...v1.23.0](https://github.com/giantswarm/coredns-app/compare/v1.22.0...v1.23.0) + +#### Changed + +- Update `coredns` image to [1.11.4](https://github.com/coredns/coredns/releases/tag/v1.11.4). +- Explicitly expose liveness and readiness probe ports in deployments. + +#### Removed + +- Remove PodSecurityPolicy and associated Resources and values. + +### observability-bundle [v1.8.0...v1.9.0](https://github.com/giantswarm/observability-bundle/compare/v1.8.0...v1.9.0) + +#### Added + +- Add `alloy` v0.7.0 as `alloyEvents`. + +#### Changed + +- Upgrade `alloy-logs` and `alloy-metrics` to chart 0.7.0. + - Bumps `alloy` from 1.4.2 to 1.5.0 +- upgrade `kube-prometheus-stack` from 65.1.1 to 66.2.1 + - prometheus-operator CRDs from 0.75.0 to 0.78.1 + - prometheus-operator from 0.77.1 to 0.78.1 + - prometheus from 2.54.1 to 2.55.1 + - kube-state-metrics from 2.13.0 to 2.14.0 + - grafana from 8.5.0 to 8.6.0 diff --git a/src/content/changes/workload-cluster-releases-cloud-director/releases/cloud-director-29.2.0.md b/src/content/changes/workload-cluster-releases-cloud-director/releases/cloud-director-29.2.0.md new file mode 100644 index 0000000000..a4a70b899a --- /dev/null +++ b/src/content/changes/workload-cluster-releases-cloud-director/releases/cloud-director-29.2.0.md @@ -0,0 +1,75 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-cloud-director/releases/cloud-director-cloud-director-29.2.0/ +changes_categories: +- Workload cluster releases for CLOUD-DIRECTOR +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/cloud-director/v29.2.0 + version: cloud-director-29.2.0 + version_tag: cloud-director-29.2.0 +date: '2024-12-12T12:00:00' +description: Release notes for CLOUD-DIRECTOR workload cluster release cloud-director-29.2.0, + published on 12 December 2024, 12:00. +title: Workload cluster release cloud-director-29.2.0 for CLOUD-DIRECTOR +--- + +## Changes compared to v29.1.0 + +### Components + +- cluster-cloud-director from v0.63.1 to v0.64.0 +- Kubernetes from v1.29.10 to [v1.29.12](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v12910) + +### cluster-cloud-director [v0.63.1...v0.64.0](https://github.com/giantswarm/cluster-cloud-director/compare/v0.63.1...v0.64.0) + +#### Changed + +- Chart: Update `cluster` to [v1.7.0](https://github.com/giantswarm/cluster/releases/tag/v1.7.0). + - Add `teleport-init` systemd unit to handle initial token setup before `teleport` service starts + - Improve `teleport` service reliability by adding proper file and service dependencies and pre-start checks + +### Apps + +- cert-manager from v3.8.1 to v3.8.2 +- coredns from v1.22.0 to v1.23.0 +- observability-bundle from v1.8.0 to v1.9.0 + +### cert-manager [v3.8.1...v3.8.2](https://github.com/giantswarm/cert-manager-app/compare/v3.8.1...v3.8.2) + +#### Changed + +- Changed ownership to team Shield + +#### Removed + +- Get rid of label `giantswarm.io/monitoring_basic_sli` as this slo generation label is not used anymore. + +### coredns [v1.22.0...v1.23.0](https://github.com/giantswarm/coredns-app/compare/v1.22.0...v1.23.0) + +#### Changed + +- Update `coredns` image to [1.11.4](https://github.com/coredns/coredns/releases/tag/v1.11.4). +- Explicitly expose liveness and readiness probe ports in deployments. + +#### Removed + +- Remove PodSecurityPolicy and associated Resources and values. + +### observability-bundle [v1.8.0...v1.9.0](https://github.com/giantswarm/observability-bundle/compare/v1.8.0...v1.9.0) + +#### Added + +- Add `alloy` v0.7.0 as `alloyEvents`. + +#### Changed + +- Upgrade `alloy-logs` and `alloy-metrics` to chart 0.7.0. + - Bumps `alloy` from 1.4.2 to 1.5.0 +- upgrade `kube-prometheus-stack` from 65.1.1 to 66.2.1 + - prometheus-operator CRDs from 0.75.0 to 0.78.1 + - prometheus-operator from 0.77.1 to 0.78.1 + - prometheus from 2.54.1 to 2.55.1 + - kube-state-metrics from 2.13.0 to 2.14.0 + - grafana from 8.5.0 to 8.6.0 diff --git a/src/content/changes/workload-cluster-releases-vsphere/releases/vsphere-29.2.0.md b/src/content/changes/workload-cluster-releases-vsphere/releases/vsphere-29.2.0.md new file mode 100644 index 0000000000..65d35a485d --- /dev/null +++ b/src/content/changes/workload-cluster-releases-vsphere/releases/vsphere-29.2.0.md @@ -0,0 +1,102 @@ +--- +# Generated by scripts/aggregate-changelogs. WARNING: Manual edits to this files will be overwritten. +aliases: +- /changes/tenant-cluster-releases-vsphere/releases/vsphere-vsphere-29.2.0/ +changes_categories: +- Workload cluster releases for VSPHERE +changes_entry: + repository: giantswarm/releases + url: https://github.com/giantswarm/releases/tree/master/vsphere/v29.2.0 + version: vsphere-29.2.0 + version_tag: vsphere-29.2.0 +date: '2024-12-12T12:00:00' +description: Release notes for VSPHERE workload cluster release vsphere-29.2.0, published + on 12 December 2024, 12:00. +title: Workload cluster release vsphere-29.2.0 for VSPHERE +--- + +## Changes compared to v29.1.0 + +### Components + +- cluster-vsphere from v0.66.0 to v0.68.0 +- Kubernetes from v1.29.10 to [v1.29.12](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v12910) + +### cluster-vsphere [v0.66.0...v0.68.0](https://github.com/giantswarm/cluster-vsphere/compare/v0.66.0...v0.68.0) + +#### **Breaking change** + +> [!CAUTION] +> The interface for setting annotations on the `vsphereCluster` CR has changed. +
+Upgrade guide: how to migrate values (from v0.66.0) + +The `additionalVsphereClusterAnnotations` field is now an array of strings to accomodate for escape characters. Convert your dictionary to an array of strings as per the following example. + +Old interface for annotations: + +```yaml +global: + providerSpecific: + additionalVsphereClusterAnnotations: + my-key: "my-value" +``` +New interface for annotations: +```yaml +global: + providerSpecific: + additionalVsphereClusterAnnotations: + - "my-key: value" +``` +
+ +#### Changed + +- Chart: Update `cluster` to [v1.7.0](https://github.com/giantswarm/cluster/releases/tag/v1.7.0). + - Add `teleport-init` systemd unit to handle initial token setup before `teleport` service starts + - Improve `teleport` service reliability by adding proper file and service dependencies and pre-start checks +- Change `global.providerSpecific.additionalVsphereClusterAnnotations` attribute into an array. + +### Apps + +- cert-manager from v3.8.1 to v3.8.2 +- coredns from v1.22.0 to v1.23.0 +- observability-bundle from v1.8.0 to v1.9.0 + +### cert-manager [v3.8.1...v3.8.2](https://github.com/giantswarm/cert-manager-app/compare/v3.8.1...v3.8.2) + +#### Changed + +- Changed ownership to team Shield + +#### Removed + +- Get rid of label `giantswarm.io/monitoring_basic_sli` as this slo generation label is not used anymore. + +### coredns [v1.22.0...v1.23.0](https://github.com/giantswarm/coredns-app/compare/v1.22.0...v1.23.0) + +#### Changed + +- Update `coredns` image to [1.11.4](https://github.com/coredns/coredns/releases/tag/v1.11.4). +- Explicitly expose liveness and readiness probe ports in deployments. + +#### Removed + +- Remove PodSecurityPolicy and associated Resources and values. + +### observability-bundle [v1.8.0...v1.9.0](https://github.com/giantswarm/observability-bundle/compare/v1.8.0...v1.9.0) + +#### Added + +- Add `alloy` v0.7.0 as `alloyEvents`. + +#### Changed + +- Upgrade `alloy-logs` and `alloy-metrics` to chart 0.7.0. + - Bumps `alloy` from 1.4.2 to 1.5.0 +- upgrade `kube-prometheus-stack` from 65.1.1 to 66.2.1 + - prometheus-operator CRDs from 0.75.0 to 0.78.1 + - prometheus-operator from 0.77.1 to 0.78.1 + - prometheus from 2.54.1 to 2.55.1 + - kube-state-metrics from 2.13.0 to 2.14.0 + - grafana from 8.5.0 to 8.6.0 diff --git a/src/content/getting-started/install-an-application/_index.md b/src/content/getting-started/install-an-application/index.md similarity index 100% rename from src/content/getting-started/install-an-application/_index.md rename to src/content/getting-started/install-an-application/index.md diff --git a/src/content/getting-started/observe-your-clusters-and-apps/_index.md b/src/content/getting-started/observe-your-clusters-and-apps/index.md similarity index 100% rename from src/content/getting-started/observe-your-clusters-and-apps/_index.md rename to src/content/getting-started/observe-your-clusters-and-apps/index.md diff --git a/src/content/meta/shared-installation.md b/src/content/meta/shared-installation.md deleted file mode 100644 index e85a16387a..0000000000 --- a/src/content/meta/shared-installation.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -linkTitle: Shared installations -title: Getting started on a shared installation -description: Giant Swarm customers usually work with their own installation(s). However, our product also provide shared installations for trials and proof of concept (PoC) projects. This article explains the differences and what to do as a customer to get started on a shared installation. -weight: 100 -user_questions: - - How is a shared installation different from normal Giant Swarm installations? - - What do I have to do to use a shared installation? -owner: - - https://github.com/orgs/giantswarm/teams/sig-docs -last_review_date: 2024-11-26 -aliases: - - /support/shared-installation - - /getting-started/shared-installation/ ---- - -Giant Swarm customers usually work with their own installation. However, our product support shared installations for trials and proof of concept (PoC) projects. This article explains the differences and what to do as a customer to get started on a shared installation. - -## Differences - -### Cloud provider account - -Shared installations are available both on AWS and Azure. While the use of the term _account_ is used across this article on Azure the according concept is called a _subscription_. - -A Giant Swarm installation normally is used by only one customer. Both management cluster and workload clusters run in cloud provider account owned by the customer. - -In a shared installation, the management cluster runs in an account owned by Giant Swarm. The workload clusters however are created using the customer's account. - -Find instructions regarding the setup below. - -### Organizations - -In a normal Giant Swarm installation, [organizations]({{< relref "/overview/fleet-management/multi-tenancy" >}}) are used to isolate different concerns, teams, business units from each other. Admin users can create as many organizations as they need and use the organization's namespace in the management clusters and role-based access control (RBAC) to control access to these resources. - -In a shared installation, each customer is mapped to exactly one organization. You can't create additional organizations. - -### Access control - -For normal Giant Swarm installations, the customer can decide which identity provider to use for [authentication]({{< relref "/overview/architecture/authentication" >}}) to the Management API. - -In a shared installation, all customers use `GitHub` as an identity provider and configure a team in a `GitHub` organization to include all the users who need access to the Giant Swarm Management API and user interfaces. Find instructions regarding the setup of your organization and team below. - -### Observability - -A shared installation is monitored and managed by Giant Swarm staff, just like any other installation. However, currently prospects don't provide access to our standard [observability features]({{< relref "/overview/observability" >}}) in a shared installation. - -## Getting started - -### Kick-off - -Together, you and Giant Swarm agree on a project. You have an account engineer at Giant Swarm responsible for you. - -### Pick an organization name - -It's up to you to decide for an organization name that represents you as a company, business unit, or team. Please take our [naming conventions]({{< relref "/overview/fleet-management/multi-tenancy#naming-conventions" >}}) into account. - -### Prepare a cloud provider account - -To create and manage workload clusters on your behalf, our team ask you to prepare some configuration, roles, and quotas in your cloud provider account. - -Find our detailed guides both for [AWS]({{< relref "/getting-started/prepare-your-provider-infrastructure/aws" >}}) and [Azure]({{< relref "/getting-started/prepare-your-provider-infrastructure/azure" >}}). Note **the account is only needed for the workload clusters**, but not for a management cluster in the case of a shared installation. - -When done, hand the account information to your Account Engineer at Giant Swarm. - -### Create your GitHub team - -For access management, a shared installation uses `GitHub` as an identity provider. All members who need access to Giant Swarm resources, via the platform API or the user interfaces, must be a member of the same `GitHub` team. - -To create a team, follow these steps: - -1. Log in at [`GitHub`](https://github.com/). -2. If a `GitHub` organization doesn't yet exist: - - Click the `+` link in the top right. - - Select `New organization`. - - Fill in the name and additional details -3. Go to the organization's teams list at `https://github.com/orgs//teams`. -4. Select a team, or create a new one. -5. Make sure the team has the expected members at `https://github.com/orgs//teams//members`. -6. Copy the details address of the team, like `https://github.com/orgs//teams/`, and hand it to your account engineer at Giant Swarm. - -### Let us take care of the rest - -Once you have gone through the steps outlined above, let us set up your organization in the selected shared installation. In just a moment, you will have access to our API and other interfaces start your first clusters or deploy first applications. diff --git a/src/content/overview/developer-portal/_index.md b/src/content/overview/developer-portal/index.md similarity index 97% rename from src/content/overview/developer-portal/_index.md rename to src/content/overview/developer-portal/index.md index ce80c83de0..ffb5570e03 100644 --- a/src/content/overview/developer-portal/_index.md +++ b/src/content/overview/developer-portal/index.md @@ -9,6 +9,9 @@ menu: last_review_date: 2024-07-01 owner: - https://github.com/orgs/giantswarm/teams/team-honeybadger +user_questions: + - What is the developer portal? + - What is Backstage? --- Our developer portal based on [Backstage](https://www.cncf.io/projects/backstage/) is your engineer's front end to the platform. We provide our self-service user interface as plugins for Backstage, so that engineers using your platform find all the information they need in the place they visit frequently. diff --git a/src/content/reference/platform-api/cluster-apps/_index.md b/src/content/reference/platform-api/cluster-apps/_index.md index b93eb8c5f8..45c68dab3a 100644 --- a/src/content/reference/platform-api/cluster-apps/_index.md +++ b/src/content/reference/platform-api/cluster-apps/_index.md @@ -1,7 +1,7 @@ --- linkTitle: Cluster app charts title: Cluster app charts -description: These charts are used to provision clusters in the Giant Swarm platform (here, even clusters are apps, in a way). +description: These charts are used to provision clusters in the Giant Swarm platform (here, even clusters are apps, in a way). weight: 100 menu: principal: diff --git a/src/content/reference/platform-api/cluster-apps/cluster-cloud-director.md b/src/content/reference/platform-api/cluster-apps/cluster-cloud-director.md index 3860ba8d33..7104492e70 100644 --- a/src/content/reference/platform-api/cluster-apps/cluster-cloud-director.md +++ b/src/content/reference/platform-api/cluster-apps/cluster-cloud-director.md @@ -16,7 +16,7 @@ source_repository: https://github.com/giantswarm/cluster-cloud-director source_repository_ref: v0.14.2 --- -The `default-apps-cloud-director` chart templates all the VMware infrastructure resources that are necessary to create a Cluster API VCD cluster. +The `cluster-cloud-director` chart templates all the VMware infrastructure resources that are necessary to create a Cluster API VCD cluster.