Documentation ¶
Index ¶
- Constants
- Variables
- func AbortJob(ctx context.Context, c kubernetes.Interface, namespace string, jobName string) (*testkube.ExecutionResult, error)
- func GetContainerLogs(ctx context.Context, c kubernetes.Interface, pod *corev1.Pod, ...) ([]byte, error)
- func GetJobPods(ctx context.Context, podsClient tcorev1.PodInterface, jobName string, ...) (*corev1.PodList, error)
- func GetPodLogs(ctx context.Context, c kubernetes.Interface, namespace string, pod corev1.Pod, ...) (logs []byte, err error)
- func IsPodFailed(pod *corev1.Pod) (err error)
- func IsPodLoggable(ctx context.Context, c kubernetes.Interface, podName, namespace string) wait.ConditionFunc
- func IsPodReady(ctx context.Context, c kubernetes.Interface, podName, namespace string) wait.ConditionFunc
- func IsWaitStateFailed(state string) bool
- func Run(dir string, command string, envMngr env.Interface, arguments ...string) (out []byte, err error)
- type Images
- type Templates
Constants ¶
const ( // GitUsernameSecretName is git username secret name GitUsernameSecretName = "git-username" // GitTokenSecretName is git token secret name GitTokenSecretName = "git-token" )
Variables ¶
var ErrPodInitializing = errors.New("PodInitializing")
var RunnerEnvVars = []corev1.EnvVar{ { Name: "DEBUG", Value: os.Getenv("DEBUG"), }, { Name: "RUNNER_ENDPOINT", Value: os.Getenv("STORAGE_ENDPOINT"), }, { Name: "RUNNER_ACCESSKEYID", Value: os.Getenv("STORAGE_ACCESSKEYID"), }, { Name: "RUNNER_SECRETACCESSKEY", Value: os.Getenv("STORAGE_SECRETACCESSKEY"), }, { Name: "RUNNER_LOCATION", Value: os.Getenv("STORAGE_LOCATION"), }, { Name: "RUNNER_TOKEN", Value: os.Getenv("STORAGE_TOKEN"), }, { Name: "RUNNER_BUCKET", Value: os.Getenv("STORAGE_BUCKET"), }, { Name: "RUNNER_SSL", Value: os.Getenv("STORAGE_SSL"), }, { Name: "RUNNER_SCRAPPERENABLED", Value: os.Getenv("SCRAPPERENABLED"), }, { Name: "RUNNER_DATADIR", Value: "/data", }, { Name: "RUNNER_CLOUD_MODE", Value: getRunnerCloudMode(), }, { Name: "RUNNER_CLOUD_API_KEY", Value: os.Getenv("TESTKUBE_CLOUD_API_KEY"), }, { Name: "RUNNER_CLOUD_API_TLS_INSECURE", Value: getRunnerCloudTLSInsecure(), }, { Name: "RUNNER_CLOUD_API_URL", Value: os.Getenv("TESTKUBE_CLOUD_URL"), }, }
Functions ¶
func AbortJob ¶ added in v1.5.35
func AbortJob(ctx context.Context, c kubernetes.Interface, namespace string, jobName string) (*testkube.ExecutionResult, error)
AbortJob - aborts Kubernetes Job with no grace period
func GetContainerLogs ¶ added in v1.9.15
func GetContainerLogs(ctx context.Context, c kubernetes.Interface, pod *corev1.Pod, container, namespace string, tailLines *int64) ([]byte, error)
GetContainerLogs returns container logs
func GetJobPods ¶ added in v1.5.35
func GetJobPods(ctx context.Context, podsClient tcorev1.PodInterface, jobName string, retryNr, retryCount int) (*corev1.PodList, error)
GetJobPods returns job pods
func GetPodLogs ¶ added in v1.5.35
func GetPodLogs(ctx context.Context, c kubernetes.Interface, namespace string, pod corev1.Pod, logLinesCount ...int64) (logs []byte, err error)
GetPodLogs returns pod logs bytes
func IsPodFailed ¶ added in v1.9.15
IsPodFailed checks if pod failed pod can be in wait state with reason which is error for us on the end
func IsPodLoggable ¶ added in v1.6.11
func IsPodLoggable(ctx context.Context, c kubernetes.Interface, podName, namespace string) wait.ConditionFunc
IsPodLoggable defines if pod is ready to get logs from it
func IsPodReady ¶ added in v1.5.35
func IsPodReady(ctx context.Context, c kubernetes.Interface, podName, namespace string) wait.ConditionFunc
IsPodReady defines if pod is ready or failed for logs scrapping
func IsWaitStateFailed ¶ added in v1.9.15
IsWaitStateFailed defines possible failed wait state those states are defined and throwed as errors in Kubernetes runtime https://github.com/kubernetes/kubernetes/blob/127f33f63d118d8d61bebaba2a240c60f71c824a/pkg/kubelet/kuberuntime/kuberuntime_container.go#L59
func Run ¶
func Run(dir string, command string, envMngr env.Interface, arguments ...string) (out []byte, err error)
Run runs executor process wrapped in json line output wraps stdout lines into JSON chunks we want it to have common interface for agent stdin <- testkube.Execution, stdout <- stream of json logs LoggedExecuteInDir will put wrapped JSON output to stdout AND get RAW output into out var json logs can be processed later on watch of pod logs
Types ¶
type Images ¶ added in v1.7.16
Images contains images for executor
func SyncDefaultExecutors ¶ added in v1.7.16
func SyncDefaultExecutors( executorsClient executorsclientv1.Interface, namespace string, executors []testkube.ExecutorDetails, readOnlyExecutors bool, ) (images Images, err error)
SyncDefaultExecutors creates or updates default executors