k8s

package
v0.0.0-...-675f5bb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2023 License: Apache-2.0 Imports: 6 Imported by: 4

Documentation

Index

Constants

View Source
const (
	Namespace KubernetesNamespace = "qat"

	OrchestratorServiceAccountName    ServiceAccountName = "qat-orchestrator"
	ResultsReporterServiceAccountName ServiceAccountName = "qat-results-reporter"
	WorkerServiceAccountName          ServiceAccountName = "qat-worker"

	OrchestratorRoleName    RoleName = "qat-orchestrator-role"
	ResultsReporterRoleName RoleName = "qat-results-reporter-role"

	OrchestratorRoleBindingName    RoleBindingName = "qat-orchestrator-rolebinding"
	ResultsReporterRoleBindingName RoleBindingName = "qat-results-reporter-rolebinding"

	OrchestratorContainerName     ContainerName = "orchestrator"
	OrchestratorInitContainerName ContainerName = "orchestrator-init"
	ResultsReporterContainerName  ContainerName = "results-reporter"
	RedisContainerName            ContainerName = "redis"
	WorkerContainerName           ContainerName = "worker"

	OrchestratorContainerImage     ContainerImage = "qat/orchestrator"
	OrchestratorInitContainerImage ContainerImage = "qat/orchestrator-init"
	ResultsReporterContainerImage  ContainerImage = "qat/results-reporter"
	RedisContainerImage            ContainerImage = "redis"
	WorkerContainerImage           ContainerImage = "qat/worker"

	RedisServiceName ServiceName = "redis"

	OrchestratorInitJobName JobName = "orchestrator-init-job"
	FunctionalTestJobName   JobName = "functional-test-job"
	PerformanceTestJobName  JobName = "performance-test-job"

	RedisPort           Port = 6379
	ResultsReporterPort Port = 7070

	OrchestratorDeploymentName    DeploymentName = "orchestrator"
	RedisDeploymentName           DeploymentName = "redis"
	ResultsReporterDeploymentName DeploymentName = "results-reporter"
)

Variables

View Source
var EnvironmentVar = &EnvVar{
	Key: "QAT_ENVIRONMENT",
}
View Source
var EnvironmentVariablesKeyVar = &EnvVar{
	Key: "QAT_ENVIRONMENT_VARIABLES_KEY",
}
View Source
var EventsProviderUrlVar = &EnvVar{
	Key:   "QAT_EVENTS_PROVIDER_URL",
	Value: "http://events-provider.default.svc.cluster.local:7070",
}
View Source
var HttpIntervalMillisVar = &EnvVar{
	Key:   "QAT_HTTP_INTERVAL_MILLIS",
	Value: "1000",
}
View Source
var HttpMaxAttemptsVar = &EnvVar{
	Key:   "QAT_HTTP_MAX_ATTEMPTS",
	Value: "10",
}
View Source
var HttpTimeoutMillisVar = &EnvVar{
	Key:   "QAT_HTTP_TIMEOUT_MILLIS",
	Value: "10000",
}
View Source
var LogLevelVar = &EnvVar{
	Key: "QAT_LOG_LEVEL",
}
View Source
var OrchestratorActivationAccessToken = &EnvVar{
	Key: "QAT_ORCHESTRATOR_ACTIVATION_ACCESS_TOKEN",
}
View Source
var OrchestratorIdVar = &EnvVar{
	Key: "QAT_ORCHESTRATOR_ID",
}
View Source
var OrgIdVar = &EnvVar{
	Key: "QAT_ORG_ID",
}
View Source
var RegistratorUrlVar = &EnvVar{
	Key:   "QAT_REGISTRATOR_URL",
	Value: "http://registrator.default.svc.cluster.local:7070",
}
View Source
var ResultsReporterConsumerGroupNameVar = &EnvVar{
	Key: "QAT_RESULTS_REPORTER_CONSUMER_GROUP_NAME",
}
View Source
var ResultsReporterConsumerNameVar = &EnvVar{
	Key: "QAT_RESULTS_REPORTER_CONSUMER_NAME",
}
View Source
var ServiceNameVar = &EnvVar{
	Key: "QAT_SERVICE_NAME",
}
View Source
var SuiteVariablesKeyVar = &EnvVar{
	Key: "QAT_SUITE_VARIABLES_KEY",
}
View Source
var TestExecutionIdVar = &EnvVar{
	Key: "QAT_TEST_EXECUTION_ID",
}
View Source
var TestRepositoryUrlVar = &EnvVar{
	Key:   "QAT_TEST_REPOSITORY_URL",
	Value: "http://test-repository.default.svc.cluster.local:7070",
}
View Source
var TestResultsStreamNameVar = &EnvVar{
	Key:   "QAT_TEST_RESULTS_STREAM_NAME",
	Value: "test-results",
}
View Source
var TestScenariosStreamNameVar = &EnvVar{
	Key: "QAT_TEST_SCENARIOS_STREAM_NAME",
}
View Source
var TestTypeVar = &EnvVar{
	Key: "QAT_TEST_TYPE",
}
View Source
var WorkerConsumerGroupNameVar = &EnvVar{
	Key: "QAT_WORKER_CONSUMER_GROUP_NAME",
}
View Source
var WorkerImageVar = &EnvVar{
	Key:   "QAT_WORKER_IMAGE",
	Value: "qat/worker",
}
View Source
var WorkerNodeSelectorVar = &EnvVar{
	Key: "QAT_WORKER_NODE_SELECTOR",
}
View Source
var WorkerServiceAccountVar = &EnvVar{
	Key: "QAT_WORKER_SERVICE_ACCOUNT",
}

Functions

func NewConfigMap

func NewConfigMap(configMapOptions *ConfigMapOptions) *core_v1.ConfigMap

func NewContainer

func NewContainer(containerOptions *ContainerOptions) core_v1.Container

func NewDeployment

func NewDeployment(deploymentOptions *DeploymentOptions) *apps_v1.Deployment

func NewJob

func NewJob(jobOptions *JobOptions) *batch_v1.Job

func NewNamespace

func NewNamespace(namespaceName KubernetesNamespace) *core_v1.Namespace

func NewRole

func NewRole(roleOptions *RoleOptions) *rbac_v1.Role

func NewRoleBinding

func NewRoleBinding(roleBindingOptions *RoleBindingOptions) *rbac_v1.RoleBinding

func NewSecret

func NewSecret(secretOptions *SecretOptions) *core_v1.Secret

func NewService

func NewService(serviceOptions *ServiceOptions) *core_v1.Service

func NewServiceAccount

func NewServiceAccount(serviceAccountOptions *ServiceAccountOptions) *core_v1.ServiceAccount

Types

type ConfigMapOptions

type ConfigMapOptions struct {
	ConfigMapName string
	Namespace     string
	BinaryData    map[string][]byte
	Immutable     bool
}

type ContainerImage

type ContainerImage string

type ContainerName

type ContainerName string

type ContainerOptions

type ContainerOptions struct {
	Name          ContainerName
	Namespace     KubernetesNamespace
	Image         ContainerImage
	ContainerPort Port
	Env           []*EnvVar
}

type DeploymentName

type DeploymentName string

type DeploymentOptions

type DeploymentOptions struct {
	Name               DeploymentName
	Namespace          KubernetesNamespace
	ServiceAccountName ServiceAccountName
	NodeSelector       map[string]string
	Containers         []core_v1.Container
}

type EnvVar

type EnvVar struct {
	Key   string
	Value string
}

func (*EnvVar) SetValue

func (kv *EnvVar) SetValue(value string) *EnvVar

type JobName

type JobName string

type JobOptions

type JobOptions struct {
	Parallelism        int32
	Namespace          KubernetesNamespace
	JobName            JobName
	ServiceAccountName ServiceAccountName
	Containers         []core_v1.Container
	NodeSelector       map[string]string
}

type KubernetesNamespace

type KubernetesNamespace string

type Port

type Port int32

type RoleApiGroups

type RoleApiGroups []string
var OrchestratorRoleApiGroups RoleApiGroups = []string{
	"",
	"apps",
	"autoscaling",
	"batch",
	"extensions",
	"policy",
	"rbac.authorization.k8s.io",
}
var ResultsReporterRoleApiGroups RoleApiGroups = []string{
	"",
	"apps",
}

type RoleBindingName

type RoleBindingName string

type RoleBindingOptions

type RoleBindingOptions struct {
	RoleBindibgName    RoleBindingName
	Namespace          KubernetesNamespace
	ServiceAccountName ServiceAccountName
	RoleName           RoleName
}

type RoleName

type RoleName string

type RoleOptions

type RoleOptions struct {
	RoleName  RoleName
	Namespace KubernetesNamespace
	Verbs     RoleVerbs
	APIGroups RoleApiGroups
	Resources RoleResources
}

type RoleResources

type RoleResources []string
var OrchestratorRoleResources RoleResources = []string{
	"pods",
	"configmaps",
	"deployments",
	"horizontalpodautoscalers",
	"jobs",
	"nodes",
	"resourcequotas",
	"replicasets",
	"serviceaccounts",
	"services",
	"secrets",
}
var ResultsReporterRoleResources RoleResources = []string{
	"secrets",
}

type RoleVerbs

type RoleVerbs []string
var OrchestratorRoleVerbs RoleVerbs = []string{
	"get",
	"list",
	"watch",
	"create",
	"update",
	"patch",
	"delete",
}
var ResultsReporterRoleVerbs RoleVerbs = []string{
	"get",
}

type SecretOptions

type SecretOptions struct {
	SecretName string
	Namespace  string
	Immutable  bool
	Data       map[string]string
}

type ServiceAccountName

type ServiceAccountName string

type ServiceAccountOptions

type ServiceAccountOptions struct {
	Name      ServiceAccountName
	Namespace KubernetesNamespace
}

type ServiceName

type ServiceName string

type ServiceOptions

type ServiceOptions struct {
	Name      ServiceName
	Namespace KubernetesNamespace
	Port      Port
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL