Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=config.terraform.padok.cloud
Index ¶
- Constants
- Variables
- func ChooseSlice(a, b []string) []string
- func GetApplyWithoutPlanArtifactEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
- func GetAutoApplyEnabled(repo *TerraformRepository, layer *TerraformLayer) bool
- func GetOpenTofuEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
- func GetOpenTofuVersion(repository *TerraformRepository, layer *TerraformLayer) string
- func GetTerraformEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
- func GetTerraformVersion(repository *TerraformRepository, layer *TerraformLayer) string
- func GetTerragruntEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
- func GetTerragruntVersion(repository *TerraformRepository, layer *TerraformLayer) string
- func MergeInitContainers(a, b []corev1.Container) []corev1.Container
- type Artifact
- type Attempt
- type BranchState
- type ExtraArgs
- type MetadataOverride
- type OnErrorRemediationStrategy
- type OpenTofuConfig
- type OverrideRunnerSpec
- type RemediationStrategy
- type RunHistoryPolicy
- type SyncWindow
- type SyncWindowKind
- type TerraformConfig
- type TerraformLayer
- type TerraformLayerList
- type TerraformLayerRepository
- type TerraformLayerRun
- type TerraformLayerSpec
- type TerraformLayerStatus
- type TerraformPullRequest
- func (in *TerraformPullRequest) DeepCopy() *TerraformPullRequest
- func (in *TerraformPullRequest) DeepCopyInto(out *TerraformPullRequest)
- func (in *TerraformPullRequest) DeepCopyObject() runtime.Object
- func (pr *TerraformPullRequest) GetAPIVersion() string
- func (pr *TerraformPullRequest) GetKind() string
- type TerraformPullRequestList
- type TerraformPullRequestSpec
- type TerraformPullRequestStatus
- type TerraformRepository
- type TerraformRepositoryList
- type TerraformRepositoryRepository
- type TerraformRepositorySpec
- type TerraformRepositoryStatus
- type TerraformRun
- type TerraformRunLayer
- type TerraformRunList
- type TerraformRunSpec
- type TerraformRunStatus
- type TerragruntConfig
Constants ¶
const (
DefaultRunRetention int = 10
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "config.terraform.padok.cloud", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func ChooseSlice ¶ added in v0.7.0
func GetApplyWithoutPlanArtifactEnabled ¶ added in v0.4.0
func GetApplyWithoutPlanArtifactEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
func GetAutoApplyEnabled ¶ added in v0.4.0
func GetAutoApplyEnabled(repo *TerraformRepository, layer *TerraformLayer) bool
func GetOpenTofuEnabled ¶ added in v0.5.0
func GetOpenTofuEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
func GetOpenTofuVersion ¶ added in v0.5.0
func GetOpenTofuVersion(repository *TerraformRepository, layer *TerraformLayer) string
func GetTerraformEnabled ¶ added in v0.5.0
func GetTerraformEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
func GetTerraformVersion ¶ added in v0.2.0
func GetTerraformVersion(repository *TerraformRepository, layer *TerraformLayer) string
func GetTerragruntEnabled ¶ added in v0.2.0
func GetTerragruntEnabled(repository *TerraformRepository, layer *TerraformLayer) bool
func GetTerragruntVersion ¶ added in v0.2.0
func GetTerragruntVersion(repository *TerraformRepository, layer *TerraformLayer) string
Types ¶
type Artifact ¶ added in v0.4.0
type Artifact struct {
Run string `json:"run,omitempty"`
Attempt string `json:"attempt,omitempty"`
}
func (*Artifact) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Artifact.
func (*Artifact) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Attempt ¶ added in v0.4.0
type Attempt struct {
PodName string `json:"podName"`
Number int `json:"number"`
LogsUploaded bool `json:"logsUploaded,omitempty"`
}
func (*Attempt) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Attempt.
func (*Attempt) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BranchState ¶ added in v0.6.0
type BranchState struct {
Name string `json:"name,omitempty"`
LatestRev string `json:"latestRev,omitempty"`
LastSyncDate string `json:"lastSyncDate,omitempty"`
LastSyncStatus string `json:"lastSyncStatus,omitempty"`
}
BranchState describes the sync state of a branch
func GetBranchState ¶ added in v0.6.0
func GetBranchState(name string, branches []BranchState) (*BranchState, bool)
GetBranchState searches for a branch with the specified name in the given slice of BranchState. It returns a pointer to the BranchState if found, along with a boolean indicating success. If the branch is not found, it returns nil and false.
func (*BranchState) DeepCopy ¶ added in v0.6.0
func (in *BranchState) DeepCopy() *BranchState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BranchState.
func (*BranchState) DeepCopyInto ¶ added in v0.6.0
func (in *BranchState) DeepCopyInto(out *BranchState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtraArgs ¶ added in v0.6.0
type ExtraArgs []string
func (ExtraArgs) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraArgs.
func (ExtraArgs) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataOverride ¶ added in v0.2.0
type MetadataOverride struct {
Annotations map[string]string `json:"annotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
func (*MetadataOverride) DeepCopy ¶ added in v0.2.0
func (in *MetadataOverride) DeepCopy() *MetadataOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataOverride.
func (*MetadataOverride) DeepCopyInto ¶ added in v0.2.0
func (in *MetadataOverride) DeepCopyInto(out *MetadataOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OnErrorRemediationStrategy ¶ added in v0.3.0
type OnErrorRemediationStrategy struct {
MaxRetries *int `json:"maxRetries,omitempty"`
}
func (*OnErrorRemediationStrategy) DeepCopy ¶ added in v0.3.0
func (in *OnErrorRemediationStrategy) DeepCopy() *OnErrorRemediationStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OnErrorRemediationStrategy.
func (*OnErrorRemediationStrategy) DeepCopyInto ¶ added in v0.3.0
func (in *OnErrorRemediationStrategy) DeepCopyInto(out *OnErrorRemediationStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenTofuConfig ¶ added in v0.5.0
type OpenTofuConfig struct {
Version string `json:"version,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
}
func (*OpenTofuConfig) DeepCopy ¶ added in v0.5.0
func (in *OpenTofuConfig) DeepCopy() *OpenTofuConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTofuConfig.
func (*OpenTofuConfig) DeepCopyInto ¶ added in v0.5.0
func (in *OpenTofuConfig) DeepCopyInto(out *OpenTofuConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideRunnerSpec ¶
type OverrideRunnerSpec struct {
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
Image string `json:"image,omitempty"`
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
Affinity *corev1.Affinity `json:"affinity,omitempty"`
ServiceAccountName string `json:"serviceAccountName,omitempty"`
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
Env []corev1.EnvVar `json:"env,omitempty"`
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`
Volumes []corev1.Volume `json:"volumes,omitempty"`
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
Metadata MetadataOverride `json:"metadata,omitempty"`
InitContainers []corev1.Container `json:"initContainers,omitempty"`
Command []string `json:"command,omitempty"`
Args []string `json:"args,omitempty"`
ExtraInitArgs ExtraArgs `json:"extraInitArgs,omitempty"`
ExtraPlanArgs ExtraArgs `json:"extraPlanArgs,omitempty"`
ExtraApplyArgs ExtraArgs `json:"extraApplyArgs,omitempty"`
}
func GetOverrideRunnerSpec ¶ added in v0.2.0
func GetOverrideRunnerSpec(repository *TerraformRepository, layer *TerraformLayer) OverrideRunnerSpec
func (*OverrideRunnerSpec) DeepCopy ¶
func (in *OverrideRunnerSpec) DeepCopy() *OverrideRunnerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideRunnerSpec.
func (*OverrideRunnerSpec) DeepCopyInto ¶
func (in *OverrideRunnerSpec) DeepCopyInto(out *OverrideRunnerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RemediationStrategy ¶
type RemediationStrategy struct {
AutoApply *bool `json:"autoApply,omitempty"`
ApplyWithoutPlanArtifact *bool `json:"applyWithoutPlanArtifact,omitempty"`
OnError OnErrorRemediationStrategy `json:"onError,omitempty"`
}
func (*RemediationStrategy) DeepCopy ¶ added in v0.3.0
func (in *RemediationStrategy) DeepCopy() *RemediationStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemediationStrategy.
func (*RemediationStrategy) DeepCopyInto ¶ added in v0.3.0
func (in *RemediationStrategy) DeepCopyInto(out *RemediationStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunHistoryPolicy ¶ added in v0.3.0
type RunHistoryPolicy struct {
KeepLastRuns *int `json:"runs,omitempty"`
}
func GetRunHistoryPolicy ¶ added in v0.3.0
func GetRunHistoryPolicy(repository *TerraformRepository, layer *TerraformLayer) RunHistoryPolicy
func (*RunHistoryPolicy) DeepCopy ¶ added in v0.3.0
func (in *RunHistoryPolicy) DeepCopy() *RunHistoryPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunHistoryPolicy.
func (*RunHistoryPolicy) DeepCopyInto ¶ added in v0.3.0
func (in *RunHistoryPolicy) DeepCopyInto(out *RunHistoryPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncWindow ¶ added in v0.6.3
type SyncWindow struct {
// +kubebuilder:validation:Enum=allow;deny
Kind SyncWindowKind `json:"kind,omitempty"`
Actions []string `json:"actions,omitempty"`
Schedule string `json:"schedule,omitempty"`
Duration string `json:"duration,omitempty"`
Layers []string `json:"layers,omitempty"`
}
func (*SyncWindow) DeepCopy ¶ added in v0.6.3
func (in *SyncWindow) DeepCopy() *SyncWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncWindow.
func (*SyncWindow) DeepCopyInto ¶ added in v0.6.3
func (in *SyncWindow) DeepCopyInto(out *SyncWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncWindowKind ¶ added in v0.6.3
type SyncWindowKind string
const ( SyncWindowKindAllow SyncWindowKind = "allow" SyncWindowKindDeny SyncWindowKind = "deny" )
type TerraformConfig ¶ added in v0.2.0
type TerraformConfig struct {
Version string `json:"version,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
}
func (*TerraformConfig) DeepCopy ¶ added in v0.2.0
func (in *TerraformConfig) DeepCopy() *TerraformConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformConfig.
func (*TerraformConfig) DeepCopyInto ¶ added in v0.2.0
func (in *TerraformConfig) DeepCopyInto(out *TerraformConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformLayer ¶
type TerraformLayer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TerraformLayerSpec `json:"spec,omitempty"`
Status TerraformLayerStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:shortName=layers;layer;tfls;tfl; +kubebuilder:subresource:status +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Repository",type=string,JSONPath=`.spec.repository.name` +kubebuilder:printcolumn:name="Branch",type=string,JSONPath=`.spec.branch` +kubebuilder:printcolumn:name="Path",type=string,JSONPath=`.spec.path` +kubebuilder:printcolumn:name="Last Result",type=string,JSONPath=`.status.lastResult` TerraformLayer is the Schema for the terraformlayers API
func (*TerraformLayer) DeepCopy ¶
func (in *TerraformLayer) DeepCopy() *TerraformLayer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformLayer.
func (*TerraformLayer) DeepCopyInto ¶
func (in *TerraformLayer) DeepCopyInto(out *TerraformLayer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformLayer) DeepCopyObject ¶
func (in *TerraformLayer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TerraformLayer) GetAPIVersion ¶ added in v0.3.0
func (layer *TerraformLayer) GetAPIVersion() string
Workaround needed for envtest which does not populate the TypeMeta structure See https://github.com/kubernetes-sigs/controller-runtime/issues/1870
func (*TerraformLayer) GetKind ¶ added in v0.3.0
func (layer *TerraformLayer) GetKind() string
Same as above
type TerraformLayerList ¶
type TerraformLayerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TerraformLayer `json:"items"`
}
TerraformLayerList contains a list of TerraformLayer
func (*TerraformLayerList) DeepCopy ¶
func (in *TerraformLayerList) DeepCopy() *TerraformLayerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformLayerList.
func (*TerraformLayerList) DeepCopyInto ¶
func (in *TerraformLayerList) DeepCopyInto(out *TerraformLayerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformLayerList) DeepCopyObject ¶
func (in *TerraformLayerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerraformLayerRepository ¶
type TerraformLayerRepository struct {
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
}
func (*TerraformLayerRepository) DeepCopy ¶
func (in *TerraformLayerRepository) DeepCopy() *TerraformLayerRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformLayerRepository.
func (*TerraformLayerRepository) DeepCopyInto ¶
func (in *TerraformLayerRepository) DeepCopyInto(out *TerraformLayerRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformLayerRun ¶ added in v0.4.0
type TerraformLayerRun struct {
Name string `json:"name,omitempty"`
Commit string `json:"commit,omitempty"`
Date metav1.Time `json:"date,omitempty"`
Action string `json:"action,omitempty"`
}
func (*TerraformLayerRun) DeepCopy ¶ added in v0.4.0
func (in *TerraformLayerRun) DeepCopy() *TerraformLayerRun
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformLayerRun.
func (*TerraformLayerRun) DeepCopyInto ¶ added in v0.4.0
func (in *TerraformLayerRun) DeepCopyInto(out *TerraformLayerRun)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformLayerSpec ¶
type TerraformLayerSpec struct {
Path string `json:"path,omitempty"`
Branch string `json:"branch,omitempty"`
AdditionalTargetRefs []string `json:"additionalTargetRefs,omitempty"`
TerraformConfig TerraformConfig `json:"terraform,omitempty"`
OpenTofuConfig OpenTofuConfig `json:"opentofu,omitempty"`
TerragruntConfig TerragruntConfig `json:"terragrunt,omitempty"`
Repository TerraformLayerRepository `json:"repository,omitempty"`
RemediationStrategy RemediationStrategy `json:"remediationStrategy,omitempty"`
OverrideRunnerSpec OverrideRunnerSpec `json:"overrideRunnerSpec,omitempty"`
RunHistoryPolicy RunHistoryPolicy `json:"runHistoryPolicy,omitempty"`
}
TerraformLayerSpec defines the desired state of TerraformLayer +kubebuilder:validation:XValidation:rule="!(has(self.terraform) && has(self.opentofu) && has(self.terraform.enabled) && has(self.opentofu.enabled) && self.terraform.enabled == true && self.opentofu.enabled == true)",message="Both terraform.enabled and opentofu.enabled cannot be true at the same time" +kubebuilder:validation:XValidation:rule="!(has(self.terraform) && has(self.opentofu) && has(self.terraform.enabled) && has(self.opentofu.enabled) && self.terraform.enabled == false && self.opentofu.enabled == false)",message="Both terraform.enabled and opentofu.enabled cannot be false at the same time"
func (*TerraformLayerSpec) DeepCopy ¶
func (in *TerraformLayerSpec) DeepCopy() *TerraformLayerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformLayerSpec.
func (*TerraformLayerSpec) DeepCopyInto ¶
func (in *TerraformLayerSpec) DeepCopyInto(out *TerraformLayerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformLayerStatus ¶
type TerraformLayerStatus struct {
Conditions []metav1.Condition `json:"conditions,omitempty"`
State string `json:"state,omitempty"`
LastResult string `json:"lastResult,omitempty"`
LastRun TerraformLayerRun `json:"lastRun,omitempty"`
LatestRuns []TerraformLayerRun `json:"latestRuns,omitempty"`
}
TerraformLayerStatus defines the observed state of TerraformLayer
func (*TerraformLayerStatus) DeepCopy ¶
func (in *TerraformLayerStatus) DeepCopy() *TerraformLayerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformLayerStatus.
func (*TerraformLayerStatus) DeepCopyInto ¶
func (in *TerraformLayerStatus) DeepCopyInto(out *TerraformLayerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformPullRequest ¶ added in v0.2.0
type TerraformPullRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TerraformPullRequestSpec `json:"spec,omitempty"`
Status TerraformPullRequestStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:shortName=pr;prs;pullrequest;pullrequests; +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ID",type=string,JSONPath=`.spec.id` +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Base",type=string,JSONPath=`.spec.base` +kubebuilder:printcolumn:name="Branch",type=string,JSONPath=`.spec.branch` TerraformPullRequest is the Schema for the TerraformPullRequests API
func (*TerraformPullRequest) DeepCopy ¶ added in v0.2.0
func (in *TerraformPullRequest) DeepCopy() *TerraformPullRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformPullRequest.
func (*TerraformPullRequest) DeepCopyInto ¶ added in v0.2.0
func (in *TerraformPullRequest) DeepCopyInto(out *TerraformPullRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformPullRequest) DeepCopyObject ¶ added in v0.2.0
func (in *TerraformPullRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TerraformPullRequest) GetAPIVersion ¶ added in v0.2.0
func (pr *TerraformPullRequest) GetAPIVersion() string
Workaround needed for envtest which does not populate the TypeMeta structure See https://github.com/kubernetes-sigs/controller-runtime/issues/1870
func (*TerraformPullRequest) GetKind ¶ added in v0.2.0
func (pr *TerraformPullRequest) GetKind() string
Same as above
type TerraformPullRequestList ¶ added in v0.2.0
type TerraformPullRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TerraformPullRequest `json:"items"`
}
TerraformPullRequestList contains a list of TerraformPullRequest
func (*TerraformPullRequestList) DeepCopy ¶ added in v0.2.0
func (in *TerraformPullRequestList) DeepCopy() *TerraformPullRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformPullRequestList.
func (*TerraformPullRequestList) DeepCopyInto ¶ added in v0.2.0
func (in *TerraformPullRequestList) DeepCopyInto(out *TerraformPullRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformPullRequestList) DeepCopyObject ¶ added in v0.2.0
func (in *TerraformPullRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerraformPullRequestSpec ¶ added in v0.2.0
type TerraformPullRequestSpec struct {
Branch string `json:"branch,omitempty"`
Base string `json:"base,omitempty"`
ID string `json:"id,omitempty"`
Repository TerraformLayerRepository `json:"repository,omitempty"`
}
TerraformPullRequestSpec defines the desired state of TerraformPullRequest
func (*TerraformPullRequestSpec) DeepCopy ¶ added in v0.2.0
func (in *TerraformPullRequestSpec) DeepCopy() *TerraformPullRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformPullRequestSpec.
func (*TerraformPullRequestSpec) DeepCopyInto ¶ added in v0.2.0
func (in *TerraformPullRequestSpec) DeepCopyInto(out *TerraformPullRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformPullRequestStatus ¶ added in v0.2.0
type TerraformPullRequestStatus struct {
Conditions []metav1.Condition `json:"conditions,omitempty"`
State string `json:"state,omitempty"`
LastDiscoveredCommit string `json:"lastDiscoveredCommit,omitempty"`
LastCommentedCommit string `json:"lastCommentedCommit,omitempty"`
}
TerraformPullRequestStatus defines the observed state of TerraformPullRequest
func (*TerraformPullRequestStatus) DeepCopy ¶ added in v0.2.0
func (in *TerraformPullRequestStatus) DeepCopy() *TerraformPullRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformPullRequestStatus.
func (*TerraformPullRequestStatus) DeepCopyInto ¶ added in v0.2.0
func (in *TerraformPullRequestStatus) DeepCopyInto(out *TerraformPullRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformRepository ¶
type TerraformRepository struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TerraformRepositorySpec `json:"spec,omitempty"`
Status TerraformRepositoryStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:shortName=repositories;repository;repo;tfrs;tfr; +kubebuilder:subresource:status +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="URL",type=string,JSONPath=`.spec.repository.url` TerraformRepository is the Schema for the terraformrepositories API
func (*TerraformRepository) DeepCopy ¶
func (in *TerraformRepository) DeepCopy() *TerraformRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRepository.
func (*TerraformRepository) DeepCopyInto ¶
func (in *TerraformRepository) DeepCopyInto(out *TerraformRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformRepository) DeepCopyObject ¶
func (in *TerraformRepository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerraformRepositoryList ¶
type TerraformRepositoryList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TerraformRepository `json:"items"`
}
TerraformRepositoryList contains a list of TerraformRepository
func (*TerraformRepositoryList) DeepCopy ¶
func (in *TerraformRepositoryList) DeepCopy() *TerraformRepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRepositoryList.
func (*TerraformRepositoryList) DeepCopyInto ¶
func (in *TerraformRepositoryList) DeepCopyInto(out *TerraformRepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformRepositoryList) DeepCopyObject ¶
func (in *TerraformRepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerraformRepositoryRepository ¶
type TerraformRepositoryRepository struct {
Url string `json:"url,omitempty"`
}
func (*TerraformRepositoryRepository) DeepCopy ¶
func (in *TerraformRepositoryRepository) DeepCopy() *TerraformRepositoryRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRepositoryRepository.
func (*TerraformRepositoryRepository) DeepCopyInto ¶
func (in *TerraformRepositoryRepository) DeepCopyInto(out *TerraformRepositoryRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformRepositorySpec ¶
type TerraformRepositorySpec struct {
Repository TerraformRepositoryRepository `json:"repository,omitempty"`
TerraformConfig TerraformConfig `json:"terraform,omitempty"`
TerragruntConfig TerragruntConfig `json:"terragrunt,omitempty"`
OpenTofuConfig OpenTofuConfig `json:"opentofu,omitempty"`
RemediationStrategy RemediationStrategy `json:"remediationStrategy,omitempty"`
OverrideRunnerSpec OverrideRunnerSpec `json:"overrideRunnerSpec,omitempty"`
RunHistoryPolicy RunHistoryPolicy `json:"runHistoryPolicy,omitempty"`
MaxConcurrentRunnerPods int `json:"maxConcurrentRunnerPods,omitempty"`
SyncWindows []SyncWindow `json:"syncWindows,omitempty"`
}
TerraformRepositorySpec defines the desired state of TerraformRepository +kubebuilder:validation:XValidation:rule="!(has(self.terraform) && has(self.opentofu) && has(self.terraform.enabled) && has(self.opentofu.enabled) && self.terraform.enabled == true && self.opentofu.enabled == true)",message="Both terraform.enabled and opentofu.enabled cannot be true at the same time" +kubebuilder:validation:XValidation:rule="!(has(self.terraform) && has(self.opentofu) && has(self.terraform.enabled) && has(self.opentofu.enabled) && self.terraform.enabled == false && self.opentofu.enabled == false)",message="Both terraform.enabled and opentofu.enabled cannot be false at the same time"
func (*TerraformRepositorySpec) DeepCopy ¶
func (in *TerraformRepositorySpec) DeepCopy() *TerraformRepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRepositorySpec.
func (*TerraformRepositorySpec) DeepCopyInto ¶
func (in *TerraformRepositorySpec) DeepCopyInto(out *TerraformRepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformRepositoryStatus ¶
type TerraformRepositoryStatus struct {
State string `json:"state,omitempty"`
Branches []BranchState `json:"branches,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
TerraformRepositoryStatus defines the observed state of TerraformRepository
func (*TerraformRepositoryStatus) DeepCopy ¶
func (in *TerraformRepositoryStatus) DeepCopy() *TerraformRepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRepositoryStatus.
func (*TerraformRepositoryStatus) DeepCopyInto ¶
func (in *TerraformRepositoryStatus) DeepCopyInto(out *TerraformRepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformRun ¶ added in v0.3.0
type TerraformRun struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TerraformRunSpec `json:"spec,omitempty"`
Status TerraformRunStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:shortName=runs;run;tfruns;tfrun; +kubebuilder:subresource:status +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Retries",type=integer,JSONPath=`.status.retries` +kubebuilder:printcolumn:name="Created On",type=string,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Runner Pod",type=string,JSONPath=`.status.runnerPod` TerraformRun is the Schema for the terraformRuns API
func (*TerraformRun) DeepCopy ¶ added in v0.3.0
func (in *TerraformRun) DeepCopy() *TerraformRun
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRun.
func (*TerraformRun) DeepCopyInto ¶ added in v0.3.0
func (in *TerraformRun) DeepCopyInto(out *TerraformRun)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformRun) DeepCopyObject ¶ added in v0.3.0
func (in *TerraformRun) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TerraformRun) GetAPIVersion ¶ added in v0.3.0
func (run *TerraformRun) GetAPIVersion() string
Workaround needed for envtest which does not populate the TypeMeta structure See https://github.com/kubernetes-sigs/controller-runtime/issues/1870
func (*TerraformRun) GetKind ¶ added in v0.3.0
func (run *TerraformRun) GetKind() string
Same as above
type TerraformRunLayer ¶ added in v0.3.0
type TerraformRunLayer struct {
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Revision string `json:"revision,omitempty"`
}
func (*TerraformRunLayer) DeepCopy ¶ added in v0.3.0
func (in *TerraformRunLayer) DeepCopy() *TerraformRunLayer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRunLayer.
func (*TerraformRunLayer) DeepCopyInto ¶ added in v0.3.0
func (in *TerraformRunLayer) DeepCopyInto(out *TerraformRunLayer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformRunList ¶ added in v0.3.0
type TerraformRunList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TerraformRun `json:"items"`
}
TerraformRunList contains a list of TerraformRun
func (*TerraformRunList) DeepCopy ¶ added in v0.3.0
func (in *TerraformRunList) DeepCopy() *TerraformRunList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRunList.
func (*TerraformRunList) DeepCopyInto ¶ added in v0.3.0
func (in *TerraformRunList) DeepCopyInto(out *TerraformRunList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerraformRunList) DeepCopyObject ¶ added in v0.3.0
func (in *TerraformRunList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerraformRunSpec ¶ added in v0.3.0
type TerraformRunSpec struct {
Action string `json:"action,omitempty"`
Artifact Artifact `json:"artifact,omitempty"`
Layer TerraformRunLayer `json:"layer,omitempty"`
}
TerraformRunSpec defines the desired state of TerraformRun
func (*TerraformRunSpec) DeepCopy ¶ added in v0.3.0
func (in *TerraformRunSpec) DeepCopy() *TerraformRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRunSpec.
func (*TerraformRunSpec) DeepCopyInto ¶ added in v0.3.0
func (in *TerraformRunSpec) DeepCopyInto(out *TerraformRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformRunStatus ¶ added in v0.3.0
type TerraformRunStatus struct {
Conditions []metav1.Condition `json:"conditions,omitempty"`
State string `json:"state,omitempty"`
Retries int `json:"retries"`
LastRun string `json:"lastRun,omitempty"`
Attempts []Attempt `json:"attempts,omitempty"`
RunnerPod string `json:"runnerPod,omitempty"`
}
TerraformRunStatus defines the observed state of TerraformRun
func (*TerraformRunStatus) DeepCopy ¶ added in v0.3.0
func (in *TerraformRunStatus) DeepCopy() *TerraformRunStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformRunStatus.
func (*TerraformRunStatus) DeepCopyInto ¶ added in v0.3.0
func (in *TerraformRunStatus) DeepCopyInto(out *TerraformRunStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerragruntConfig ¶ added in v0.2.0
type TerragruntConfig struct {
Version string `json:"version,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
}
func (*TerragruntConfig) DeepCopy ¶ added in v0.2.0
func (in *TerragruntConfig) DeepCopy() *TerragruntConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerragruntConfig.
func (*TerragruntConfig) DeepCopyInto ¶ added in v0.2.0
func (in *TerragruntConfig) DeepCopyInto(out *TerragruntConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.