`initramfs` size for amd64 shrinks by 1.3 MiB. Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
75 lines
2.2 KiB
Go
75 lines
2.2 KiB
Go
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
//go:build integration
|
|
// +build integration
|
|
|
|
// Package provision provides integration tests which rely on provisioning cluster per test.
|
|
package provision
|
|
|
|
import (
|
|
"fmt"
|
|
"regexp"
|
|
|
|
"github.com/stretchr/testify/suite"
|
|
|
|
"github.com/talos-systems/talos/internal/integration/base"
|
|
"github.com/talos-systems/talos/pkg/machinery/constants"
|
|
"github.com/talos-systems/talos/pkg/version"
|
|
)
|
|
|
|
var allSuites []suite.TestingSuite
|
|
|
|
// GetAllSuites returns all the suites for provision test.
|
|
//
|
|
// Depending on build tags, this might return different lists.
|
|
func GetAllSuites() []suite.TestingSuite {
|
|
return allSuites
|
|
}
|
|
|
|
// Settings for provision tests.
|
|
type Settings struct {
|
|
// CIDR to use for provisioned clusters
|
|
CIDR string
|
|
// Registry mirrors to push to Talos config, in format `host=endpoint`
|
|
RegistryMirrors base.StringList
|
|
// MTU for the network.
|
|
MTU int
|
|
// VM parameters
|
|
CPUs int64
|
|
MemMB int64
|
|
DiskGB uint64
|
|
// Node count for the tests
|
|
MasterNodes int
|
|
WorkerNodes int
|
|
// Target installer image registry
|
|
TargetInstallImageRegistry string
|
|
// Current version of the cluster (built in the CI pass)
|
|
CurrentVersion string
|
|
// Custom CNI URL to use.
|
|
CustomCNIURL string
|
|
// Enable crashdump on failure.
|
|
CrashdumpEnabled bool
|
|
// CNI bundle for QEMU provisioner.
|
|
CNIBundleURL string
|
|
}
|
|
|
|
// DefaultSettings filled in by test runner.
|
|
var DefaultSettings = Settings{
|
|
CIDR: "172.21.0.0/24",
|
|
MTU: 1500,
|
|
CPUs: 2,
|
|
MemMB: 2 * 1024,
|
|
DiskGB: 8,
|
|
MasterNodes: 3,
|
|
WorkerNodes: 1,
|
|
TargetInstallImageRegistry: "ghcr.io",
|
|
CNIBundleURL: fmt.Sprintf("https://github.com/talos-systems/talos/releases/download/%s/talosctl-cni-bundle-%s.tar.gz", trimVersion(version.Tag), constants.ArchVariable),
|
|
}
|
|
|
|
func trimVersion(version string) string {
|
|
// remove anything extra after semantic version core, `v0.3.2-1-abcd` -> `v0.3.2`
|
|
return regexp.MustCompile(`(-\d+-g[0-9a-f]+)$`).ReplaceAllString(version, "")
|
|
}
|