Documentation ¶
Index ¶
- Variables
- func GuessResourceFromKind(kind string) string
- func JobberTemplateFunctions() map[string]any
- func TemplateFunc_NewBoundBearerToken(forServiceAccount *TransitiveServiceAccount) (tokenAsAString string, err error)
- func TemplateFunc_PodIPString(resource *TransitivePod) (string, error)
- type ActionEvent
- type ActionEventType
- type Client
- func (client *Client) CreateNamespaceUsingGeneratedName(generatedBaseName string) (*corev1.Namespace, error)
- func (client *Client) DefaultResourceDeletionOptions() metav1.DeleteOptions
- func (client *Client) DeleteNamespace(named string) error
- func (client *Client) DetermineResourceFromGroupVersionKind(gvk schema.GroupVersionKind) (schema.GroupVersionResource, error)
- func (client *Client) Discovery() *discovery.DiscoveryClient
- func (client *Client) Dynamic() *dynamic.DynamicClient
- func (client *Client) Set() *kubernetes.Clientset
- type Configuration
- type ConfigurationAssetArchive
- type ConfigurationDefaultNamespace
- type ConfigurationPipeline
- type ConfigurationTest
- type ContextualAssetsDirectoryManager
- func (m *ContextualAssetsDirectoryManager) CreateTestAssetsRootDirectory() *TestCaseAssetsDirectoryCreationOutcome
- func (m *ContextualAssetsDirectoryManager) CreateTestCaseDirectories(testUnit *TestUnit, testCase *TestCase) *TestCaseAssetsDirectoryCreationOutcome
- func (m *ContextualAssetsDirectoryManager) CreateTestUnitDirectory(testUnit *TestUnit) *TestCaseAssetsDirectoryCreationOutcome
- func (m *ContextualAssetsDirectoryManager) GenerateArchiveFileAt(archiveFilePath string) error
- func (m *ContextualAssetsDirectoryManager) RemoveAssetsDirectory() error
- func (m *ContextualAssetsDirectoryManager) TestCaseAssetsDirectoryPathsFor(testUnit *TestUnit, testCase *TestCase) *TestCaseDirectoryPaths
- func (m *ContextualAssetsDirectoryManager) TestRootAssetDirectoryPath() string
- func (m *ContextualAssetsDirectoryManager) TestUnitAssetDirectoryPathFor(testUnit *TestUnit) string
- type CreatedResourceTracker
- type CustomerTemplateFunctions
- type DeletableK8sResource
- type Event
- type EventContext
- type EventType
- type ExecutableEvent
- type FileEvent
- type FileOrDirectoryCreationError
- type GenericK8sResource
- func (resource *GenericK8sResource) ApiObject() *unstructured.Unstructured
- func (resource *GenericK8sResource) AsAJob() *TransitiveJob
- func (resource *GenericK8sResource) AsAPod() *TransitivePod
- func (resource *GenericK8sResource) Create() (err error)
- func (resource *GenericK8sResource) Delete() error
- func (resource *GenericK8sResource) GvkString() string
- func (resource *GenericK8sResource) Information() *K8sResourceInformation
- func (resource *GenericK8sResource) NamespaceName() string
- func (resource *GenericK8sResource) SetNamespace(namespaceName string)
- func (resource *GenericK8sResource) UnstructuredMap() map[string]any
- func (resource *GenericK8sResource) UpdateStatus() (err error)
- type JobCompletionFailureError
- type K8sResourceInformation
- type Pipeline
- type PipelineAction
- type PipelineActionOutcome
- type PipelineActionType
- type PipelineRuntimeNamespace
- type PipelineRuntimeValues
- func (values *PipelineRuntimeValues) Add(resource *GenericK8sResource) *PipelineRuntimeValues
- func (values *PipelineRuntimeValues) CreatedAsset(group string, version string, kind string, name string) *GenericK8sResource
- func (values *PipelineRuntimeValues) CreatedPod(podName string) (*TransitivePod, error)
- func (values *PipelineRuntimeValues) ServiceAccount(inNamespace string, accountName string) (*TransitiveServiceAccount, error)
- type PipelineVariables
- func (v *PipelineVariables) AndTestCaseRetrievedAssetsDirectoryAt(path string) *PipelineVariables
- func (v *PipelineVariables) AndUsingDefaultNamespaceNamed(generatedNamespaceName string) *PipelineVariables
- func (v *PipelineVariables) DeepCopy() *PipelineVariables
- func (v *PipelineVariables) RescopedToCaseNamed(testCaseName string) *PipelineVariables
- func (v *PipelineVariables) RescopedToUnitNamed(testUnitName string) *PipelineVariables
- func (v *PipelineVariables) SetDefaultNamespaceNameTo(generatedNamespaceName string) *PipelineVariables
- func (v *PipelineVariables) SetTestCaseRetrievedAssetsDirectoryPath(path string) *PipelineVariables
- func (v *PipelineVariables) WithCaseValues(caseValues map[string]any) *PipelineVariables
- func (v *PipelineVariables) WithGlobalValues(globalValues map[string]any) *PipelineVariables
- func (v *PipelineVariables) WithUnitValues(unitValues map[string]any) *PipelineVariables
- type PipelineVariablesContext
- type PipelineVariablesValues
- type ResourceCreationError
- type ResourceDeletionAttempt
- type ResourceEvent
- type Runner
- type StringRetriever
- type TemplateError
- type TestCase
- type TestCaseAssetsDirectoryCreationOutcome
- type TestCaseDirectoryPaths
- type TestUnit
- type TransitiveJob
- type TransitivePod
- type TransitiveServiceAccount
- type Updatable
- type ValuesTransformEvent
- type WaitTimer
- type WaitTimerExpectationFunction
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrorTimeExceeded = fmt.Errorf("time limit exceeded")
Functions ¶
func GuessResourceFromKind ¶
func JobberTemplateFunctions ¶
func TemplateFunc_NewBoundBearerToken ¶
func TemplateFunc_NewBoundBearerToken(forServiceAccount *TransitiveServiceAccount) (tokenAsAString string, err error)
func TemplateFunc_PodIPString ¶
func TemplateFunc_PodIPString(resource *TransitivePod) (string, error)
Types ¶
type ActionEvent ¶
type ActionEvent struct { Type ActionEventType Error error ExpandedTemplateBuffer *bytes.Buffer StdoutBuffer *bytes.Buffer StderrBuffer *bytes.Buffer AffectedResource *GenericK8sResource }
type ActionEventType ¶
type ActionEventType int
const ( TemplateExpanded ActionEventType = iota ResourceCreated JobCompleted PodMovedToRunningState ExecutionSuccessful ValuesTransformCompleted ActionCompletedSuccessfully AnErrorOccurred )
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) CreateNamespaceUsingGeneratedName ¶
func (*Client) DefaultResourceDeletionOptions ¶
func (client *Client) DefaultResourceDeletionOptions() metav1.DeleteOptions
func (*Client) DeleteNamespace ¶
func (*Client) DetermineResourceFromGroupVersionKind ¶
func (client *Client) DetermineResourceFromGroupVersionKind(gvk schema.GroupVersionKind) (schema.GroupVersionResource, error)
func (*Client) Discovery ¶
func (client *Client) Discovery() *discovery.DiscoveryClient
func (*Client) Dynamic ¶
func (client *Client) Dynamic() *dynamic.DynamicClient
func (*Client) Set ¶
func (client *Client) Set() *kubernetes.Clientset
type Configuration ¶
type Configuration struct {
Test *ConfigurationTest `yaml:"Test"`
}
func ReadConfigurationYamlFromFile ¶
func ReadConfigurationYamlFromFile(filePath string, configExpansionVars map[string]string) (*Configuration, error)
func ReadConfigurationYamlFromReader ¶
func ReadConfigurationYamlFromReader(r io.Reader) (*Configuration, error)
func (*Configuration) CharactersInLongestCaseName ¶
func (c *Configuration) CharactersInLongestCaseName() uint
func (*Configuration) CharactersInLongestUnitName ¶
func (c *Configuration) CharactersInLongestUnitName() uint
type ConfigurationAssetArchive ¶
type ConfigurationAssetArchive struct {
FilePath string `yaml:"FilePath"`
}
type ConfigurationDefaultNamespace ¶
type ConfigurationDefaultNamespace struct {
Basename string `yaml:"Basename"`
}
type ConfigurationPipeline ¶
type ConfigurationTest ¶
type ConfigurationTest struct { AssetArchive *ConfigurationAssetArchive `yaml:"AssetArchive"` DefaultNamespace *ConfigurationDefaultNamespace `yaml:"DefaultNamespace"` GlobalValues map[string]any `yaml:"GlobalValues"` Pipeline *ConfigurationPipeline `yaml:"Pipeline"` Cases []*TestCase `yaml:"Cases"` Units []*TestUnit `yaml:"Units"` }
type ContextualAssetsDirectoryManager ¶
type ContextualAssetsDirectoryManager struct {
// contains filtered or unexported fields
}
func NewContextualAssetsDirectoryManager ¶
func NewContextualAssetsDirectoryManager() *ContextualAssetsDirectoryManager
func (*ContextualAssetsDirectoryManager) CreateTestAssetsRootDirectory ¶
func (m *ContextualAssetsDirectoryManager) CreateTestAssetsRootDirectory() *TestCaseAssetsDirectoryCreationOutcome
func (*ContextualAssetsDirectoryManager) CreateTestCaseDirectories ¶
func (m *ContextualAssetsDirectoryManager) CreateTestCaseDirectories(testUnit *TestUnit, testCase *TestCase) *TestCaseAssetsDirectoryCreationOutcome
func (*ContextualAssetsDirectoryManager) CreateTestUnitDirectory ¶
func (m *ContextualAssetsDirectoryManager) CreateTestUnitDirectory(testUnit *TestUnit) *TestCaseAssetsDirectoryCreationOutcome
func (*ContextualAssetsDirectoryManager) GenerateArchiveFileAt ¶
func (m *ContextualAssetsDirectoryManager) GenerateArchiveFileAt(archiveFilePath string) error
func (*ContextualAssetsDirectoryManager) RemoveAssetsDirectory ¶
func (m *ContextualAssetsDirectoryManager) RemoveAssetsDirectory() error
func (*ContextualAssetsDirectoryManager) TestCaseAssetsDirectoryPathsFor ¶
func (m *ContextualAssetsDirectoryManager) TestCaseAssetsDirectoryPathsFor(testUnit *TestUnit, testCase *TestCase) *TestCaseDirectoryPaths
func (*ContextualAssetsDirectoryManager) TestRootAssetDirectoryPath ¶
func (m *ContextualAssetsDirectoryManager) TestRootAssetDirectoryPath() string
func (*ContextualAssetsDirectoryManager) TestUnitAssetDirectoryPathFor ¶
func (m *ContextualAssetsDirectoryManager) TestUnitAssetDirectoryPathFor(testUnit *TestUnit) string
type CreatedResourceTracker ¶
type CreatedResourceTracker struct {
// contains filtered or unexported fields
}
func NewCreatedResourceTracker ¶
func NewCreatedResourceTracker() *CreatedResourceTracker
func (*CreatedResourceTracker) AddCreatedResource ¶
func (tracker *CreatedResourceTracker) AddCreatedResource(r *DeletableK8sResource)
func (*CreatedResourceTracker) AttemptToDeleteAllAsYetUndeletedResources ¶
func (tracker *CreatedResourceTracker) AttemptToDeleteAllAsYetUndeletedResources() []*ResourceDeletionAttempt
type CustomerTemplateFunctions ¶
type CustomerTemplateFunctions struct {
// contains filtered or unexported fields
}
func (*CustomerTemplateFunctions) Add ¶
func (t *CustomerTemplateFunctions) Add(functionName string, function any) *CustomerTemplateFunctions
type DeletableK8sResource ¶
type DeletableK8sResource struct {
// contains filtered or unexported fields
}
type Event ¶
type Event struct { Type EventType Context EventContext ResourceInformation *ResourceEvent ValuesTransformInformation *ValuesTransformEvent ExecuableInformation *ExecutableEvent FileEvent *FileEvent Error error }
type EventContext ¶
func EventContextFor ¶
func EventContextFor(testUnit *TestUnit, testCase *TestCase) EventContext
type EventType ¶
type EventType int
const ( ResourceCreationSuccess EventType = iota ResourceCreationFailure ResourceTemplateExpansionFailure ResourceDeletionSuccess ResourceDeletionFailure ValuesTransformSuccess ValuesTransformFailure ExecutableRunSuccess ExecutableRunFailure TestUnitStarted TestUnitCompletedSuccessfully TestCaseStarted TestCaseCompletedSuccessfully TestingCompletedSuccesfully PipelineDefinitionIsInvalid AssetDirectoryCreatedSuccessfully AssetDirectoryCreationFailed AssetDirectoryDeletedSuccessfully AssetDirectoryDeletionFailed WaitingForPodToReachRunningState WaitingForJobToComplete JobFailedToComplete ArchiveFileCreatedSuccessfully ArchiveFileCreationFailed )
type ExecutableEvent ¶
type ExecutableEvent struct { ExecutableName string StdoutOutputRetriever StringRetriever StderrOutputRetriever StringRetriever }
type FileOrDirectoryCreationError ¶
type FileOrDirectoryCreationError struct { Path string // contains filtered or unexported fields }
func NewFileOrDirectoryCreationError ¶
func NewFileOrDirectoryCreationError(path string, errorStringFormat string, a ...any) *FileOrDirectoryCreationError
func (*FileOrDirectoryCreationError) Error ¶
func (e *FileOrDirectoryCreationError) Error() string
type GenericK8sResource ¶
type GenericK8sResource struct { Group string Version string Kind string Name string // contains filtered or unexported fields }
func NewGenericK8sResourceFromUnstructured ¶
func NewGenericK8sResourceFromUnstructured(u *unstructured.Unstructured, client *Client) (*GenericK8sResource, error)
func NewGenericK8sResourceFromUnstructuredMap ¶
func NewGenericK8sResourceFromUnstructuredMap(inputMap map[string]any, client *Client) (*GenericK8sResource, error)
func (*GenericK8sResource) ApiObject ¶
func (resource *GenericK8sResource) ApiObject() *unstructured.Unstructured
func (*GenericK8sResource) AsAJob ¶
func (resource *GenericK8sResource) AsAJob() *TransitiveJob
func (*GenericK8sResource) AsAPod ¶
func (resource *GenericK8sResource) AsAPod() *TransitivePod
func (*GenericK8sResource) Create ¶
func (resource *GenericK8sResource) Create() (err error)
func (*GenericK8sResource) Delete ¶
func (resource *GenericK8sResource) Delete() error
func (*GenericK8sResource) GvkString ¶
func (resource *GenericK8sResource) GvkString() string
func (*GenericK8sResource) Information ¶
func (resource *GenericK8sResource) Information() *K8sResourceInformation
func (*GenericK8sResource) NamespaceName ¶
func (resource *GenericK8sResource) NamespaceName() string
func (*GenericK8sResource) SetNamespace ¶
func (resource *GenericK8sResource) SetNamespace(namespaceName string)
func (*GenericK8sResource) UnstructuredMap ¶
func (resource *GenericK8sResource) UnstructuredMap() map[string]any
func (*GenericK8sResource) UpdateStatus ¶
func (resource *GenericK8sResource) UpdateStatus() (err error)
type JobCompletionFailureError ¶
type JobCompletionFailureError struct { ResourceInformation *K8sResourceInformation // contains filtered or unexported fields }
func NewJobCompletionFailureError ¶
func NewJobCompletionFailureError(resourceInformation *K8sResourceInformation, errorStringFormat string, a ...any) *JobCompletionFailureError
func (*JobCompletionFailureError) Error ¶
func (e *JobCompletionFailureError) Error() string
type K8sResourceInformation ¶
type Pipeline ¶
type Pipeline struct {
// contains filtered or unexported fields
}
func (*Pipeline) NextAction ¶
func (pipeline *Pipeline) NextAction() *PipelineAction
func (*Pipeline) Restart ¶
func (pipeline *Pipeline) Restart() *PipelineAction
type PipelineAction ¶
type PipelineAction struct { Type PipelineActionType Descriptor string ActionFullyQualifiedPath string }
func PipelineActionFromStringDescriptor ¶
func PipelineActionFromStringDescriptor(descriptor string, pipelineActionBasePath string) (*PipelineAction, error)
func (*PipelineAction) Run ¶
func (action *PipelineAction) Run(pipelineVariables *PipelineVariables, client *Client, eventChannel chan<- *ActionEvent)
type PipelineActionOutcome ¶
type PipelineActionOutcome struct { Variables *PipelineVariables OutputBuffer *bytes.Buffer StderrBuffer *bytes.Buffer CreatedResource *GenericK8sResource Error error }
func (*PipelineActionOutcome) WriteErrorToFile ¶
func (outcome *PipelineActionOutcome) WriteErrorToFile(filePath string, fileModeIfFileIsCreated os.FileMode) error
func (*PipelineActionOutcome) WriteOutputToFile ¶
func (outcome *PipelineActionOutcome) WriteOutputToFile(filePath string, fileModeIfFileIsCreated os.FileMode) error
type PipelineActionType ¶
type PipelineActionType int
const ( TemplatedResource PipelineActionType = iota ValuesTransform Executable )
type PipelineRuntimeNamespace ¶
type PipelineRuntimeNamespace struct {
Name string
}
type PipelineRuntimeValues ¶
type PipelineRuntimeValues struct { DefaultNamespace *PipelineRuntimeNamespace // contains filtered or unexported fields }
func NewEmptyPipelineRuntimeValues ¶
func NewEmptyPipelineRuntimeValues(client *Client) *PipelineRuntimeValues
func (*PipelineRuntimeValues) Add ¶
func (values *PipelineRuntimeValues) Add(resource *GenericK8sResource) *PipelineRuntimeValues
func (*PipelineRuntimeValues) CreatedAsset ¶
func (values *PipelineRuntimeValues) CreatedAsset(group string, version string, kind string, name string) *GenericK8sResource
func (*PipelineRuntimeValues) CreatedPod ¶
func (values *PipelineRuntimeValues) CreatedPod(podName string) (*TransitivePod, error)
func (*PipelineRuntimeValues) ServiceAccount ¶
func (values *PipelineRuntimeValues) ServiceAccount(inNamespace string, accountName string) (*TransitiveServiceAccount, error)
type PipelineVariables ¶
type PipelineVariables struct { Values *PipelineVariablesValues Context *PipelineVariablesContext Runtime *PipelineRuntimeValues }
func NewEmptyPipelineVariables ¶
func NewEmptyPipelineVariables(client *Client) *PipelineVariables
func (*PipelineVariables) AndTestCaseRetrievedAssetsDirectoryAt ¶
func (v *PipelineVariables) AndTestCaseRetrievedAssetsDirectoryAt(path string) *PipelineVariables
func (*PipelineVariables) AndUsingDefaultNamespaceNamed ¶
func (v *PipelineVariables) AndUsingDefaultNamespaceNamed(generatedNamespaceName string) *PipelineVariables
func (*PipelineVariables) DeepCopy ¶
func (v *PipelineVariables) DeepCopy() *PipelineVariables
func (*PipelineVariables) RescopedToCaseNamed ¶
func (v *PipelineVariables) RescopedToCaseNamed(testCaseName string) *PipelineVariables
func (*PipelineVariables) RescopedToUnitNamed ¶
func (v *PipelineVariables) RescopedToUnitNamed(testUnitName string) *PipelineVariables
func (*PipelineVariables) SetDefaultNamespaceNameTo ¶
func (v *PipelineVariables) SetDefaultNamespaceNameTo(generatedNamespaceName string) *PipelineVariables
func (*PipelineVariables) SetTestCaseRetrievedAssetsDirectoryPath ¶
func (v *PipelineVariables) SetTestCaseRetrievedAssetsDirectoryPath(path string) *PipelineVariables
func (*PipelineVariables) WithCaseValues ¶
func (v *PipelineVariables) WithCaseValues(caseValues map[string]any) *PipelineVariables
func (*PipelineVariables) WithGlobalValues ¶
func (v *PipelineVariables) WithGlobalValues(globalValues map[string]any) *PipelineVariables
func (*PipelineVariables) WithUnitValues ¶
func (v *PipelineVariables) WithUnitValues(unitValues map[string]any) *PipelineVariables
type PipelineVariablesValues ¶
type ResourceCreationError ¶
type ResourceCreationError struct { ResourceInformation *K8sResourceInformation TemplateName string // contains filtered or unexported fields }
func NewResourceCreationError ¶
func NewResourceCreationError(fromTemplateNamed string, resourceInformation *K8sResourceInformation, errorStringFormat string, a ...any) *ResourceCreationError
func (*ResourceCreationError) Error ¶
func (e *ResourceCreationError) Error() string
type ResourceDeletionAttempt ¶
type ResourceDeletionAttempt struct { Resource *DeletableK8sResource Error error }
type ResourceEvent ¶
type ResourceEvent struct { // ExpandedTemplateRetriever provides a StringRetriever method that generates the template (as a string) after it has been // expanded (i.e., the go-template transforms have run). If the Resource is built-in (e.g., the Default // Namespace) this will be nil. ExpandedTemplateRetriever StringRetriever // ResourceInformation describes the Kubernetes Resource to which the event pertains. // If there was an error and the template didn't provide enough information to determine // all of the information for the Resource, this value will be nil. ResourceDetails *K8sResourceInformation // The pipeline action identifier for the template. This is set only when the event type is ResourceTemplateExpansionFailure. TemplateName string }
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
func NewRunner ¶
func NewRunner(config *Configuration, client *Client) *Runner
type StringRetriever ¶
type StringRetriever func() string
type TemplateError ¶
type TemplateError struct { TemplateName string // contains filtered or unexported fields }
func NewTemplateError ¶
func NewTemplateError(templateName string, errorStringFormat string, a ...any) *TemplateError
func (*TemplateError) Error ¶
func (e *TemplateError) Error() string
type TestCaseDirectoryPaths ¶
type TransitiveJob ¶
type TransitiveJob struct {
// contains filtered or unexported fields
}
func (*TransitiveJob) WaitForCompletion ¶
func (job *TransitiveJob) WaitForCompletion() error
type TransitivePod ¶
type TransitivePod struct {
// contains filtered or unexported fields
}
func (*TransitivePod) IpString ¶
func (pod *TransitivePod) IpString() (string, error)
func (*TransitivePod) UpdateStatus ¶
func (pod *TransitivePod) UpdateStatus() (err error)
func (*TransitivePod) WaitForRunningState ¶
func (pod *TransitivePod) WaitForRunningState(lengthOfTimeToWait time.Duration) error
type TransitiveServiceAccount ¶
type TransitiveServiceAccount struct {
// contains filtered or unexported fields
}
func (*TransitiveServiceAccount) GenerateBoundBearerTokenString ¶
func (sa *TransitiveServiceAccount) GenerateBoundBearerTokenString() (string, error)
type ValuesTransformEvent ¶
type ValuesTransformEvent struct { TransformerName string InputValuesRetriever StringRetriever OutputValuesRetriever StringRetriever StderrOutputRetriever StringRetriever }
type WaitTimer ¶
func NewWaitTimer ¶
func (*WaitTimer) TestExpectation ¶
func (t *WaitTimer) TestExpectation(againstObject Updatable, expectationFunc WaitTimerExpectationFunction) (err error)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.