Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsJobFinished ¶
IsJobFinished returns true if the job has completed
Types ¶
type ParsedAddress ¶
type ParsedAddress struct {
// DetectedScheme is the name of the bin or protocol to use to fetch. For
// example, git will be used to fetch git repos (over https or ssh
// "protocol").
DetectedScheme string `json:"detect"`
// Path the target path for the downloaded file or directory
Path string `json:"path"`
// The files downloaded get called out in the terraform plan as -var-file
UseAsVar bool `json:"useAsVar"`
// Url is the raw address + query
Url string `json:"url"`
// Files are the files to find with a repo.
Files []string `json:"files"`
// Hash is also known as the `ref` query argument. For git this is the
// commit-sha or branch-name to checkout.
Hash string `json:"hash"`
// UrlScheme is the protocol of the URL
UrlScheme string `json:"protocol"`
// Uri is the path of the URL after the proto://host.
Uri string `json:"uri"`
// Host is the host of the URL.
Host string `json:"host"`
// Port is the port to use when fetching the URL.
Port string `json:"port"`
// User is the user to use when fetching the URL.
User string `json:"user"`
// Repo when using a SCM is the URL of the repo which is the same as the
// URL and omitting the query args.
Repo string `json:"repo"`
}
ParsedAddress uses go-getter's detect mechanism to get the parsed url TODO ParsedAddress can be moved into it's own package
type ReconcileTerraform ¶
type ReconcileTerraform struct {
// This client, initialized using mgr.Client() above, is a split client
// that reads objects from the cache and writes to the apiserver
Client client.Client
Scheme *runtime.Scheme
Recorder record.EventRecorder
Log logr.Logger
MaxConcurrentReconciles int
Cache *localcache.Cache
GlobalEnvFromConfigmapData map[string]string
GlobalEnvFromSecretData map[string][]byte
GlobalEnvSuffix string
// InheritNodeSelector to use the controller's nodeSelectors for every task created by the controller.
// Value of this field will come from the owning deployment and cached.
InheritNodeSelector bool
NodeSelectorCacheKey string
// InheritAffinity to use the controller's affinity rules for every task created by the controller
// Value of this field will come from the owning deployment and cached.
InheritAffinity bool
AffinityCacheKey string
// InheritTolerations to use the controller's tolerations for every task created by the controller
// Value of this field will come from the owning deployment and cached.
InheritTolerations bool
TolerationsCacheKey string
// When requireApproval is true, the require-approval plugin is injected into the plan pod
// when generating the pod manifest. The require-approval image is not modifiable via the Terraform
// Resource in order to ensure the highest compatibility with the other TFO projects (like
// terraform-operator-api and terraform-operator-dashboard).
RequireApprovalImage string
}
ReconcileTerraform reconciles a Terraform object
func (*ReconcileTerraform) Reconcile ¶
func (r *ReconcileTerraform) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error)
Reconcile reads that state of the cluster for a Terraform object and makes changes based on the state read and what is in the Terraform.Spec Note: The Controller will requeue the Request to be processed again if the returned error is non-nil or Result.Requeue is true, otherwise upon completion it will remove the work from the queue.
func (*ReconcileTerraform) SetupWithManager ¶
func (r *ReconcileTerraform) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type TaskOptions ¶
type TaskOptions struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.