mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-08-19 03:57:55 -04:00
docs: add Kubernetes version support list (#2661)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
This commit is contained in:
parent
781ac85711
commit
f5718b6655
6 changed files with 134 additions and 0 deletions
74
hack/versioninfogen/main.go
Normal file
74
hack/versioninfogen/main.go
Normal file
|
@ -0,0 +1,74 @@
|
|||
/*
|
||||
Copyright (c) Edgeless Systems GmbH
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/edgelesssys/constellation/v2/internal/semver"
|
||||
"github.com/edgelesssys/constellation/v2/internal/versions"
|
||||
)
|
||||
|
||||
const fileSeparator = "<!--AUTO_GENERATED_BY_BAZEL-->\n<!--DO_NOT_EDIT-->\n"
|
||||
|
||||
func main() {
|
||||
filePath := flag.String("file-path", "../../docs/docs/architecture/versions.md", "path to the version file to update")
|
||||
flag.Parse()
|
||||
|
||||
k8sVersionStrings := versions.SupportedK8sVersions()
|
||||
var k8sVersions []semver.Semver
|
||||
for _, k8sVersionString := range k8sVersionStrings {
|
||||
k8sVersion, err := semver.New(k8sVersionString)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "invalid kubernetes version %q: %s", k8sVersionString, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
k8sVersions = append(k8sVersions, k8sVersion)
|
||||
}
|
||||
|
||||
if err := updateDocFile(*filePath, k8sVersions); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "error updating versions file: %s\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
func updateDocFile(filePath string, supportedVersions []semver.Semver) error {
|
||||
fileHeader, err := readVersionsFile(filePath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var versionList strings.Builder
|
||||
for _, version := range supportedVersions {
|
||||
if _, err := versionList.WriteString(
|
||||
fmt.Sprintf("* %s\n", version.String()),
|
||||
); err != nil {
|
||||
return fmt.Errorf("writing matrix doc file: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
return os.WriteFile(filePath, []byte(fileHeader+fileSeparator+versionList.String()), 0o644)
|
||||
}
|
||||
|
||||
func readVersionsFile(filePath string) (string, error) {
|
||||
f, err := os.Open(filePath)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("opening version info file: %w", err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
fileContentRaw, err := io.ReadAll(f)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("reading version info file: %w", err)
|
||||
}
|
||||
fileContent := strings.Split(string(fileContentRaw), fileSeparator)
|
||||
return fileContent[0], nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue