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 PipelineExecutionEnvironment
- 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 ExampleConfiguration ¶ added in v0.2.0
func ExampleConfiguration() *Configuration
ExampleConfiguration returns a Configuration struct that represents the example YAML configuration from the README.md file
func ReadConfigurationYamlFromFile ¶
func ReadConfigurationYamlFromFile(filePath 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
func (*Configuration) MergeOverrideValues ¶ added in v0.2.0
func (c *Configuration) MergeOverrideValues(overrideValues map[string]any) error
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, executionEnvironment *PipelineExecutionEnvironment, 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 PipelineExecutionEnvironment ¶ added in v0.2.0
type PipelineExecutionEnvironment struct {
EnvironmentalVariables map[string]string
// contains filtered or unexported fields
}
func (*PipelineExecutionEnvironment) ToFlattenedStrings ¶ added in v0.2.0
func (e *PipelineExecutionEnvironment) ToFlattenedStrings() []string
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.