Documentation
¶
Index ¶
- Variables
- type ArtifactRepository
- type ArtifactoryArtifactRepository
- type S3ArtifactRepository
- type WorkflowController
- func (wfc *WorkflowController) MetricsServer(ctx context.Context)
- func (wfc *WorkflowController) ResyncConfig() error
- func (wfc *WorkflowController) Run(ctx context.Context, wfWorkers, podWorkers int)
- func (wfc *WorkflowController) RunTTLController(ctx context.Context)
- func (wfc *WorkflowController) TelemetryServer(ctx context.Context)
- type WorkflowControllerConfig
Constants ¶
This section is empty.
Variables ¶
var ( // ErrDeadlineExceeded indicates the operation exceeded its deadline for execution ErrDeadlineExceeded = errors.New(errors.CodeTimeout, "Deadline exceeded") // ErrParallelismReached indicates this workflow reached its parallelism limit ErrParallelismReached = errors.New(errors.CodeForbidden, "Max parallelism reached") )
Functions ¶
This section is empty.
Types ¶
type ArtifactRepository ¶
type ArtifactRepository struct {
// ArchiveLogs enables log archiving
ArchiveLogs *bool `json:"archiveLogs,omitempty"`
// S3 stores artifact in a S3-compliant object store
S3 *S3ArtifactRepository `json:"s3,omitempty"`
// Artifactory stores artifacts to JFrog Artifactory
Artifactory *ArtifactoryArtifactRepository `json:"artifactory,omitempty"`
}
ArtifactRepository represents a artifact repository in which a controller will store its artifacts
type ArtifactoryArtifactRepository ¶
type ArtifactoryArtifactRepository struct {
wfv1.ArtifactoryAuth `json:",inline"`
// RepoURL is the url for artifactory repo.
RepoURL string `json:"repoURL,omitempty"`
}
ArtifactoryArtifactRepository defines the controller configuration for an artifactory artifact repository
type S3ArtifactRepository ¶
type S3ArtifactRepository struct {
wfv1.S3Bucket `json:",inline"`
// KeyFormat is defines the format of how to store keys. Can reference workflow variables
KeyFormat string `json:"keyFormat,omitempty"`
// KeyPrefix is prefix used as part of the bucket key in which the controller will store artifacts.
// DEPRECATED. Use KeyFormat instead
KeyPrefix string `json:"keyPrefix,omitempty"`
}
S3ArtifactRepository defines the controller configuration for an S3 artifact repository
type WorkflowController ¶
type WorkflowController struct {
// Config is the workflow controller's configuration
Config WorkflowControllerConfig
// contains filtered or unexported fields
}
WorkflowController is the controller for workflow resources
func NewWorkflowController ¶
func NewWorkflowController( restConfig *rest.Config, kubeclientset kubernetes.Interface, wfclientset wfclientset.Interface, namespace, executorImage, executorImagePullPolicy, configMap string, ) *WorkflowController
NewWorkflowController instantiates a new WorkflowController
func (*WorkflowController) MetricsServer ¶
func (wfc *WorkflowController) MetricsServer(ctx context.Context)
MetricsServer starts a prometheus metrics server if enabled in the configmap
func (*WorkflowController) ResyncConfig ¶
func (wfc *WorkflowController) ResyncConfig() error
ResyncConfig reloads the controller config from the configmap
func (*WorkflowController) Run ¶
func (wfc *WorkflowController) Run(ctx context.Context, wfWorkers, podWorkers int)
Run starts an Workflow resource controller
func (*WorkflowController) RunTTLController ¶
func (wfc *WorkflowController) RunTTLController(ctx context.Context)
RunTTLController runs the workflow TTL controller
func (*WorkflowController) TelemetryServer ¶
func (wfc *WorkflowController) TelemetryServer(ctx context.Context)
TelemetryServer starts a prometheus telemetry server if enabled in the configmap
type WorkflowControllerConfig ¶
type WorkflowControllerConfig struct {
// ExecutorImage is the image name of the executor to use when running pods
ExecutorImage string `json:"executorImage,omitempty"`
// ExecutorImagePullPolicy is the imagePullPolicy of the executor to use when running pods
ExecutorImagePullPolicy string `json:"executorImagePullPolicy,omitempty"`
// ExecutorResources specifies the resource requirements that will be used for the executor sidecar
ExecutorResources *apiv1.ResourceRequirements `json:"executorResources,omitempty"`
// ContainerRuntimeExecutor specifies the container runtime interface to use, default is docker
ContainerRuntimeExecutor string `json:"containerRuntimeExecutor,omitempty"`
// KubeletPort is needed when using the kubelet containerRuntimeExecutor, default to 10250
KubeletPort int `json:"kubeletPort,omitempty"`
// KubeletInsecure disable the TLS verification of the kubelet containerRuntimeExecutor, default to false
KubeletInsecure bool `json:"kubeletInsecure,omitempty"`
// ArtifactRepository contains the default location of an artifact repository for container artifacts
ArtifactRepository ArtifactRepository `json:"artifactRepository,omitempty"`
// Namespace is a label selector filter to limit the controller's watch to a specific namespace
Namespace string `json:"namespace,omitempty"`
// InstanceID is a label selector to limit the controller's watch to a specific instance. It
// contains an arbitrary value that is carried forward into its pod labels, under the key
// workflows.argoproj.io/controller-instanceid, for the purposes of workflow segregation. This
// enables a controller to only receive workflow and pod events that it is interested about,
// in order to support multiple controllers in a single cluster, and ultimately allows the
// controller itself to be bundled as part of a higher level application. If omitted, the
// controller watches workflows and pods that *are not* labeled with an instance id.
InstanceID string `json:"instanceID,omitempty"`
MetricsConfig metrics.PrometheusConfig `json:"metricsConfig,omitempty"`
TelemetryConfig metrics.PrometheusConfig `json:"telemetryConfig,omitempty"`
}
WorkflowControllerConfig contain the configuration settings for the workflow controller