mirror of
				https://github.com/siderolabs/talos.git
				synced 2025-10-31 00:11:36 +01:00 
			
		
		
		
	`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, "")
 | |
| }
 |