Documentation ¶
Index ¶
- Constants
- Variables
- func GetWorkflow(cmd *cobra.Command, args []string)
- func InitWorkflowClient(ns ...string) v1alpha1.WorkflowInterface
- func Install(cmd *cobra.Command, args InstallFlags)
- func ResubmitWorkflow(cmd *cobra.Command, args []string)
- func ResumeWorkflows(workflows []string)
- func SubmitWorkflows(cmd *cobra.Command, args []string)
- func SuspendWorkflows(workflows []string)
- func WaitWorkflowsRun(cmd *cobra.Command, args []string)
- type ByFinishedAt
- type InstallFlags
- type VersionChecker
- type WorkflowStatusPoller
Constants ¶
const ( Bold = 1 FgBlack = 30 FgRed = 31 FgGreen = 32 FgYellow = 33 FgBlue = 34 FgMagenta = 35 FgCyan = 36 FgWhite = 37 FgDefault = 39 )
ANSI escape codes
const ( // Argo controller resource constants ArgoControllerServiceAccount = "argo" ArgoControllerClusterRole = "argo-cluster-role" ArgoControllerClusterRoleBinding = "argo-binding" // Argo UI resource constants ArgoUIServiceAccount = "argo-ui" ArgoUIClusterRole = "argo-ui-cluster-role" ArgoUIClusterRoleBinding = "argo-ui-binding" ArgoUIDeploymentName = "argo-ui" ArgoUIServiceName = "argo-ui" )
const (
// CLIName is the name of the CLI
CLIName = "argo"
)
Variables ¶
var ( ArgoControllerPolicyRules = []rbacv1.PolicyRule{ { APIGroups: []string{""}, Resources: []string{"pods", "pods/exec"}, Verbs: []string{"create", "get", "list", "watch", "update", "patch"}, }, { APIGroups: []string{""}, Resources: []string{"configmaps"}, Verbs: []string{"get", "watch", "list"}, }, { APIGroups: []string{""}, Resources: []string{"persistentvolumeclaims"}, Verbs: []string{"create", "delete"}, }, { APIGroups: []string{"argoproj.io"}, Resources: []string{"workflows"}, Verbs: []string{"get", "list", "watch", "update", "patch"}, }, } ArgoUIPolicyRules = []rbacv1.PolicyRule{ { APIGroups: []string{""}, Resources: []string{"pods", "pods/exec", "pods/log"}, Verbs: []string{"get", "list", "watch"}, }, { APIGroups: []string{""}, Resources: []string{"secrets"}, Verbs: []string{"get"}, }, { APIGroups: []string{"argoproj.io"}, Resources: []string{"workflows"}, Verbs: []string{"get", "list", "watch"}, }, } )
var ( // These are the default image names which `argo install` uses during install DefaultControllerImage = imageNamespace + "/workflow-controller:" + imageTag DefaultExecutorImage = imageNamespace + "/argoexec:" + imageTag DefaultUiImage = imageNamespace + "/argoui:" + imageTag )
var RootCmd = &cobra.Command{ Use: CLIName, Short: "argo is the command line interface to Argo", Run: func(cmd *cobra.Command, args []string) { cmd.HelpFunc()(cmd, args) }, }
RootCmd is the argo root level command
Functions ¶
func GetWorkflow ¶
GetWorkflow gets the workflow passed in as args
func InitWorkflowClient ¶
func InitWorkflowClient(ns ...string) v1alpha1.WorkflowInterface
InitWorkflowClient creates a new client for the Kubernetes Workflow CRD.
func Install ¶
func Install(cmd *cobra.Command, args InstallFlags)
Install installs the Argo controller and UI in the given Namespace
func ResubmitWorkflow ¶
ResubmitWorkflow resubmits a previous workflow
func ResumeWorkflows ¶
func ResumeWorkflows(workflows []string)
ResumeWorkflows resumes a list of suspended workflows
func SubmitWorkflows ¶
SubmitWorkflows submits the the specified worfklow manifest files
func SuspendWorkflows ¶
func SuspendWorkflows(workflows []string)
SuspendWorkflows suspends a lit of running workflows
func WaitWorkflowsRun ¶
WaitWorkflowsRun is the handler for the wait command.
Types ¶
type ByFinishedAt ¶
ByFinishedAt is a sort interface which sorts running jobs earlier before considering FinishedAt
func (ByFinishedAt) Len ¶
func (f ByFinishedAt) Len() int
func (ByFinishedAt) Less ¶
func (f ByFinishedAt) Less(i, j int) bool
func (ByFinishedAt) Swap ¶
func (f ByFinishedAt) Swap(i, j int)
type InstallFlags ¶
type InstallFlags struct { Upgrade bool // --upgrade DryRun bool // --dry-run Namespace string // --install-namespace InstanceID string // --instanceid ConfigMap string // --configmap ControllerName string // --controller-name ControllerImage string // --controller-image ServiceAccount string // --service-account ExecutorImage string // --executor-image UIName string // --ui-name UIImage string // --ui-image UIBaseHref string // --ui-base-href UIServiceAccount string // --ui-service-account EnableWebConsole bool // --enable-web-console }
InstallFlags has all the required parameters for installing Argo.
type VersionChecker ¶
type VersionChecker struct{}
VersionChecker checks the Kubernetes version and currently logs a message if wait should be implemented using watch instead of polling.
type WorkflowStatusPoller ¶
type WorkflowStatusPoller struct {
// contains filtered or unexported fields
}
WorkflowStatusPoller exports methods to wait on workflows by periodically querying their status.
func NewWorkflowStatusPoller ¶
func NewWorkflowStatusPoller(wfc v1alpha1.WorkflowInterface, ignoreNotFound bool, noOutput bool) *WorkflowStatusPoller
NewWorkflowStatusPoller creates a new WorkflowStatusPoller object.
func (*WorkflowStatusPoller) WaitWorkflows ¶
func (wsp *WorkflowStatusPoller) WaitWorkflows(workflowNames []string)
WaitWorkflows waits for the given workflowNames.