Skip to content

Commit

Permalink
Add merge keys to Workflow objects to allow for StrategicMergePatches (
Browse files Browse the repository at this point in the history
  • Loading branch information
ian-howell authored and jessesuen committed Sep 21, 2019
1 parent c855a66 commit 1cb8345
Show file tree
Hide file tree
Showing 3 changed files with 216 additions and 36 deletions.
72 changes: 54 additions & 18 deletions api/openapi-spec/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,18 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Artifact"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"parameters": {
"description": "Parameters is the list of parameters to pass to the template or workflow",
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Parameter"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
}
}
},
Expand Down Expand Up @@ -272,7 +276,9 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.DAGTask"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
}
}
},
Expand Down Expand Up @@ -480,14 +486,18 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Artifact"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"parameters": {
"description": "Parameters are a list of parameters passed as inputs",
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Parameter"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
}
}
},
Expand Down Expand Up @@ -527,14 +537,18 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Artifact"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"parameters": {
"description": "Parameters holds the list of output parameters produced by a step",
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Parameter"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"result": {
"description": "Result holds the result (stdout) of a script template",
Expand Down Expand Up @@ -934,14 +948,18 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.HostAlias"
}
},
"x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge"
},
"initContainers": {
"description": "InitContainers is a list of containers which run before the main container.",
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.UserContainer"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"inputs": {
"description": "Inputs describe what inputs parameters and artifacts are supplied to this template",
Expand Down Expand Up @@ -1009,7 +1027,9 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.UserContainer"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"steps": {
"description": "Steps define a series of sequential/parallel workflow steps",
Expand Down Expand Up @@ -1038,14 +1058,18 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Toleration"
}
},
"x-kubernetes-patch-merge-key": "key",
"x-kubernetes-patch-strategy": "merge"
},
"volumes": {
"description": "Volumes is a list of volumes that can be mounted by containers in a template.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Volume"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
}
}
},
Expand Down Expand Up @@ -1325,7 +1349,9 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.HostAlias"
}
},
"x-kubernetes-patch-merge-key": "ip",
"x-kubernetes-patch-strategy": "merge"
},
"hostNetwork": {
"description": "Host networking requested for this workflow pod. Default to false.",
Expand All @@ -1336,7 +1362,9 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"nodeSelector": {
"description": "NodeSelector is a selector which will result in all pods of the workflow to be scheduled on the selected node(s). This is able to be overridden by a nodeSelector specified in the template.",
Expand Down Expand Up @@ -1393,14 +1421,18 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Template"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"tolerations": {
"description": "Tolerations to apply to workflow pods.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Toleration"
}
},
"x-kubernetes-patch-merge-key": "key",
"x-kubernetes-patch-strategy": "merge"
},
"ttlSecondsAfterFinished": {
"description": "TTLSecondsAfterFinished limits the lifetime of a Workflow that has finished execution (Succeeded, Failed, Error). If this field is set, once the Workflow finishes, it will be deleted after ttlSecondsAfterFinished expires. If this field is unset, ttlSecondsAfterFinished will not expire. If this field is set to zero, ttlSecondsAfterFinished expires immediately after the Workflow finishes.",
Expand All @@ -1412,14 +1444,18 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaim"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
"volumes": {
"description": "Volumes is a list of volumes that can be mounted by containers in a workflow.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Volume"
}
},
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
}
}
},
Expand Down
Loading

0 comments on commit 1cb8345

Please sign in to comment.