Documentation
¶
Overview ¶
Package config provides utility functions for managing the validator config.
Index ¶
Constants ¶
View Source
const ( ConfigFile = "validatorctl.yaml" TimeFormat = "20060102150405" WorkspaceLoc = ".validator" ClusterConfigTemplate = "cluster-configuration.tmpl" KindImage = "kindest/node" KindImageTag = "v1.30.2" NoProxyPrompt = "" /* 214-byte string literal not displayed */ LocalFilepath = "Local Filepath" FileEditor = "File Editor" // Validator constants ValidatorConfigFile = "validator.yaml" ValidatorKindClusterName = "validator-kind-cluster" ValidatorHelmRegistry = "https://validator-labs.github.io" ValidatorImageRegistry = "quay.io" ValidatorImageRepository = "validator-labs" ValidatorHelmReleaseName = "validator-helm-release" ValidatorPluginAws = "validator-plugin-aws" ValidatorPluginAzure = "validator-plugin-azure" ValidatorPluginMaas = "validator-plugin-maas" ValidatorPluginNetwork = "validator-plugin-network" ValidatorPluginOci = "validator-plugin-oci" ValidatorPluginVsphere = "validator-plugin-vsphere" ValidatorPluginAwsTemplate = "validator-rules-aws.tmpl" ValidatorPluginAzureTemplate = "validator-rules-azure.tmpl" ValidatorPluginMaasTemplate = "validator-rules-maas.tmpl" ValidatorPluginNetworkTemplate = "validator-rules-network.tmpl" ValidatorPluginOciTemplate = "validator-rules-oci.tmpl" ValidatorPluginVsphereTemplate = "validator-rules-vsphere.tmpl" ValidatorVsphereEntityDatacenter = "Datacenter" ValidatorVsphereEntityCluster = "Cluster" ValidatorVsphereEntityFolder = "Folder" ValidatorVsphereEntityResourcePool = "Resource Pool" ValidatorVsphereEntityHost = "ESXi Host" ValidatorVsphereEntityVirtualMachine = "Virtual Machine" ValidatorVsphereEntityVirtualApp = "Virtual App" ValidatorVsphereVersionConstraint = ">= 6.0, < 9.0" ValidatorVspherePrivilegeFile = "vsphere-root-level-privileges-all.yaml" AWSPolicyDocumentPrompt = "" /* 147-byte string literal not displayed */ AzurePermissionSetPrompt = "" /* 147-byte string literal not displayed */ VcenterPrivilegePrompt = "" /* 214-byte string literal not displayed */ OciCreateNewAuthSecPrompt = "Create a new registry authentication secret" OciCreateNewSigSecPrompt = "Create a new signature verification secret" // Embed dirs Kind string = "kind" Validator string = "validator" // Regex DomainRegex = "" /* 241-byte string literal not displayed */ UsernameRegex = "[a-zA-Z0-9]+(?:\\.[a-zA-Z0-9]+)*(?:-[a-zA-Z0-9]+)*(?:_[a-zA-Z0-9]+)*" VSphereUsernameRegex = "^" + UsernameRegex + "@" + DomainRegex + "$" CPUReqRegex = "(^\\d+\\.?\\d*[M,G]Hz)" MemoryReqRegex = "(^\\d+\\.?\\d*[M,G,T]i)" DiskReqRegex = "(^\\d+\\.?\\d*[M,G,T]i)" PolicyArnRegex = "^arn:aws:iam::.*:policy/.*$" // Env vars AwsAccessKey = "AWS_ACCESS_KEY_ID" // #nosec AwsSecretAccessKey = "AWS_SECRET_ACCESS_KEY" // #nosec AwsSessionToken = "AWS_SESSION_TOKEN" // #nosec )
Variables ¶
View Source
var ( // Misc. DefaultPodCIDR = "192.168.0.0/16" DefaultServiceIPRange = "10.96.0.0/12" HTTPSchemes = []string{"https://", "http://"} RegistryMirrors = []string{"docker.io", "gcr.io", "ghcr.io", "k8s.gcr.io", "registry.k8s.io", "quay.io", "*"} RegistryMirrorSeparator = "::" FileInputs = []string{LocalFilepath, FileEditor} DNSRecordTypes = []string{"A", "AAAA", "CNAME", "TXT", "MX", "NS", "SRV", "SSHFP"} // Command dirs ValidatorSubdirs = []string{"logs", "manifests"} // Validator ValidatorImagePath = func() string { return ValidatorImageRegistry + "/" + ValidatorImageRepository } ValidatorWaitCmd = []string{"wait", "--for=condition=available", "--timeout=600s", "deployment/validator-controller-manager", "-n", "validator"} ValidatorBasicAuthKeys = []string{"username", "password"} ValidatorSinkKeys = map[vtypes.SinkType][]string{ vtypes.SinkTypeAlertmanager: {"endpoint", "insecureSkipVerify", "username", "password", "caCert"}, vtypes.SinkTypeSlack: {"apiToken", "channelID"}, } ValidatorPluginAwsKeys = []string{"AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"} ValidatorPluginAzureKeys = []string{"AZURE_TENANT_ID", "AZURE_CLIENT_ID", "AZURE_CLIENT_SECRET"} ValidatorPluginVsphereKeys = []string{"username", "password", "vcenterServer", "insecureSkipVerify"} ValidatorPluginOciSigVerificationKeysRegex = ".pub$" ValidatorPluginAwsServiceQuotas = []prompts.ChoiceItem{ { ID: "ec2", Name: "EC2-VPC Elastic IPs", }, { ID: "ec2", Name: "Public AMIs", }, { ID: "elasticfilesystem", Name: "File systems per account", }, { ID: "elasticloadbalancing", Name: "Application Load Balancers per Region", }, { ID: "elasticloadbalancing", Name: "Classic Load Balancers per Region", }, { ID: "elasticloadbalancing", Name: "Network Load Balancers per Region", }, { ID: "vpc", Name: "Internet gateways per Region", }, { ID: "vpc", Name: "Network interfaces per Region", }, { ID: "vpc", Name: "VPCs per Region", }, { ID: "vpc", Name: "Subnets per VPC", }, { ID: "vpc", Name: "NAT gateways per Availability Zone", }, } ValidatorAzureClouds = []string{ "AzureCloud", "AzureUSGovernment", "AzureChinaCloud", } ValidatorPluginVsphereEntities = []string{ ValidatorVsphereEntityCluster, ValidatorVsphereEntityDatacenter, ValidatorVsphereEntityHost, ValidatorVsphereEntityFolder, ValidatorVsphereEntityResourcePool, ValidatorVsphereEntityVirtualApp, ValidatorVsphereEntityVirtualMachine, } ValidatorPluginVsphereEntityMap = map[string]string{ ValidatorVsphereEntityCluster: "cluster", ValidatorVsphereEntityDatacenter: "datacenter", ValidatorVsphereEntityHost: "host", ValidatorVsphereEntityFolder: "folder", ValidatorVsphereEntityResourcePool: "resourcepool", ValidatorVsphereEntityVirtualApp: "vapp", ValidatorVsphereEntityVirtualMachine: "vm", } ValidatorPluginVsphereDeploymentDestination = []string{ ValidatorVsphereEntityCluster, ValidatorVsphereEntityHost, ValidatorVsphereEntityResourcePool, } )
View Source
var ValidatorChartVersions = map[string]string{
Validator: "v0.1.9",
ValidatorPluginAws: "v0.1.7",
ValidatorPluginAzure: "v0.0.20",
ValidatorPluginMaas: "v0.0.12",
ValidatorPluginNetwork: "v0.0.26",
ValidatorPluginOci: "v0.3.3",
ValidatorPluginVsphere: "v0.0.34",
}
ValidatorChartVersions is a map of validator component names to their respective versions
Functions ¶
func DefaultWorkspaceLoc ¶
DefaultWorkspaceLoc returns the default workspace location.
Types ¶
type Config ¶
Config represents the validator config.
func (*Config) CreateWorkspace ¶
CreateWorkspace creates a new workspace with the specified folder and subdirs.
Click to show internal directories.
Click to hide internal directories.