utils

package
v4.0.0 Latest Latest
Warning

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

Go to latest
Published: May 24, 2024 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CmdContext

type CmdContext struct {
	// environment variables in k=v format.
	Env   []string
	Dir   string
	Stdin io.Reader
}

CmdContext provides context for command execution

func (*CmdContext) Run

func (cc *CmdContext) Run(cmd *exec.Cmd) ([]byte, error)

Run executes the provided command within this context

type Kubectl

type Kubectl struct {
	*CmdContext
	Namespace      string
	ServiceAccount string
}

Kubectl contains context to run kubectl commands

func (*Kubectl) Apply

func (k *Kubectl) Apply(inNamespace bool, cmdOptions ...string) (string, error)

Apply is a general func to run kubectl apply commands

func (*Kubectl) Command

func (k *Kubectl) Command(cmdOptions ...string) (string, error)

Command is a general func to run kubectl commands

func (*Kubectl) CommandInNamespace

func (k *Kubectl) CommandInNamespace(cmdOptions ...string) (string, error)

CommandInNamespace is a general func to run kubectl commands in the namespace

func (*Kubectl) Delete

func (k *Kubectl) Delete(inNamespace bool, cmdOptions ...string) (string, error)

Delete is a func to run kubectl delete commands

func (*Kubectl) Get

func (k *Kubectl) Get(inNamespace bool, cmdOptions ...string) (string, error)

Get is a func to run kubectl get commands

func (*Kubectl) Logs

func (k *Kubectl) Logs(cmdOptions ...string) (string, error)

Logs is a func to run kubectl logs commands

func (*Kubectl) Version

func (k *Kubectl) Version() (ver KubernetesVersion, err error)

Version is a func to run kubectl version command

func (*Kubectl) Wait

func (k *Kubectl) Wait(inNamespace bool, cmdOptions ...string) (string, error)

Wait is a func to run kubectl wait commands

func (*Kubectl) WithInput

func (k *Kubectl) WithInput(stdinInput string) *Kubectl

WithInput is a general func to run kubectl commands with input

type KubernetesVersion

type KubernetesVersion struct {
	ClientVersion VersionInfo `json:"clientVersion,omitempty"`
	ServerVersion VersionInfo `json:"serverVersion,omitempty"`
}

KubernetesVersion holds a subset of both client and server versions.

type TestContext

type TestContext struct {
	*CmdContext
	TestSuffix   string
	Domain       string
	Group        string
	Version      string
	Kind         string
	Resources    string
	ImageName    string
	BinaryName   string
	Kubectl      *Kubectl
	K8sVersion   *KubernetesVersion
	IsRestricted bool
}

TestContext specified to run e2e tests

func NewTestContext

func NewTestContext(binaryName string, env ...string) (*TestContext, error)

NewTestContext init with a random suffix for test TestContext stuff, to avoid conflict when running tests synchronously.

func (*TestContext) AllowProjectBeMultiGroup

func (t *TestContext) AllowProjectBeMultiGroup() error

AllowProjectBeMultiGroup will update the PROJECT file with the information to allow we scaffold apis with different groups. be available.

func (*TestContext) CleanupManifests

func (t *TestContext) CleanupManifests(dir string)

CleanupManifests is a helper func to run kustomize build and pipe the output to kubectl delete -f -

func (*TestContext) CreateAPI

func (t *TestContext) CreateAPI(resourceOptions ...string) error

CreateAPI is for running `kubebuilder create api`

func (*TestContext) CreateManagerNamespace

func (t *TestContext) CreateManagerNamespace() error

CreateManagerNamespace will create the namespace where the manager is deployed

func (*TestContext) CreateWebhook

func (t *TestContext) CreateWebhook(resourceOptions ...string) error

CreateWebhook is for running `kubebuilder create webhook`

func (*TestContext) Destroy

func (t *TestContext) Destroy()

Destroy is for cleaning up the docker images for testing

func (*TestContext) Edit

func (t *TestContext) Edit(editOptions ...string) error

Edit is for running `kubebuilder edit`

func (*TestContext) Init

func (t *TestContext) Init(initOptions ...string) error

Init is for running `kubebuilder init`

func (*TestContext) InstallCertManager

func (t *TestContext) InstallCertManager() error

InstallCertManager installs the cert manager bundle. If hasv1beta1CRs is true, the legacy version (which uses v1alpha2 CRs) is installed.

func (*TestContext) InstallPrometheusOperManager

func (t *TestContext) InstallPrometheusOperManager() error

InstallPrometheusOperManager installs the prometheus manager bundle.

func (*TestContext) LabelAllNamespacesToWarnAboutRestricted

func (t *TestContext) LabelAllNamespacesToWarnAboutRestricted() error

LabelAllNamespacesToWarnAboutRestricted will label all namespaces so that we can verify if a warning with `Warning: would violate PodSecurity` will be raised when the manifests are applied

func (*TestContext) LoadImageToKindCluster

func (t *TestContext) LoadImageToKindCluster() error

LoadImageToKindCluster loads a local docker image to the kind cluster

func (TestContext) LoadImageToKindClusterWithName

func (t TestContext) LoadImageToKindClusterWithName(image string) error

LoadImageToKindClusterWithName loads a local docker image with the name informed to the kind cluster

func (*TestContext) Make

func (t *TestContext) Make(makeOptions ...string) error

Make is for running `make` with various targets

func (*TestContext) Prepare

func (t *TestContext) Prepare() error

Prepare prepares the test environment.

func (*TestContext) Regenerate

func (t *TestContext) Regenerate(resourceOptions ...string) error

Regenerate is for running `kubebuilder alpha generate`

func (*TestContext) Tidy

func (t *TestContext) Tidy() error

Tidy runs `go mod tidy` so that go 1.16 build doesn't fail. See https://blog.golang.org/go116-module-changes#TOC_3.

func (*TestContext) UninstallCertManager

func (t *TestContext) UninstallCertManager()

UninstallCertManager uninstalls the cert manager bundle.

func (*TestContext) UninstallPrometheusOperManager

func (t *TestContext) UninstallPrometheusOperManager()

UninstallPrometheusOperManager uninstalls the prometheus manager bundle.

type VersionInfo

type VersionInfo struct {
	Major      string `json:"major"`
	Minor      string `json:"minor"`
	GitVersion string `json:"gitVersion"`
	// contains filtered or unexported fields
}

VersionInfo holds a subset of client/server version information.

func (VersionInfo) GetMajorInt

func (vi VersionInfo) GetMajorInt() uint64

GetMajorInt returns the uint64 representation of vi.Major.

func (VersionInfo) GetMinorInt

func (vi VersionInfo) GetMinorInt() uint64

GetMinorInt returns the uint64 representation of vi.Minor.

Jump to

Keyboard shortcuts

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