diff --git a/CHANGELOG.md b/CHANGELOG.md index cafe34f9464f..be2b9f881799 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,44 @@ # Changelog +## 2.4.3 (2019-12-05) + +## Changelog since v2.4.2 + +### Bugs +- Error occurred on pod watch should result in an error on the wait container (#1776) (@gerdos82) +- SSL enabled database connection for workflow repository (#1756) (@AntoineDao) +- Added hint when using certain tokens in when expressions (#1810) (@simbeh7) +- Handle operation level errors PVC in Retry (#1762) (@dtaniwaki) +- Do not resolve remote templates in lint (#1787) (@dtaniwaki) +- Fix retry node name issue on error (#1732) (@dtaniwaki) +- Refactoring Template Resolution Logic (#1744) (@dtaniwaki) +- Support no-headers flag (#1760) (@dtaniwaki) +- Filter workflows in list based on name prefix (#1721) (@sanoojm) +- Added ability to auto-resume from suspended state (#1715) (@simbeh7) +- Fixed incorrect `pod.name` in retry pods (#1699) (@simbeh7) + +## 2.4.2 (2019-10-21) + +## Changelog since v2.4.1 + +### New Features ++ Apply Strategic merge patch against the pod spec (#1687) (@sarabala1979) ++ Added status of previous steps as variables (#1681)(@simster7) ++ Print multiple workflows in one command (#1650) (@dtaniwaki) + +### Bugs +- Fixed broke metrics endpoint per #1634 (#1695) (@RichardAvendano) +- Fix issue that workflow.priority substitution didn't pass validation (#1690) (@mark9white) + + +## 2.4.1 (2019-10-08) + +## Changelog since v2.4.0 + +### Bugs +- Stop failing if artifact file exists, but empty (#1653) (@Ark-kun) +- Don't provision VM for empty artifacts(#1660) (@simster7) +- Resolve WorkflowTemplate lazily (#1655) (@dtaniwaki ) + ## 2.4.0 (2019-10-02) diff --git a/VERSION b/VERSION index 8e8299dcc068..35cee72dcbf4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.4.2 +2.4.3 diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index f721b8ddf220..3f1b2300c7de 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -923,10 +923,6 @@ "description": "Source contains the source code of the script to execute", "type": "string" }, - "startupProbe": { - "description": "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. This is an alpha feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "$ref": "#/definitions/io.k8s.api.core.v1.Probe" - }, "stdin": { "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.", "type": "boolean" @@ -1291,10 +1287,6 @@ "description": "Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/", "$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext" }, - "startupProbe": { - "description": "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. This is an alpha feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - "$ref": "#/definitions/io.k8s.api.core.v1.Probe" - }, "stdin": { "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.", "type": "boolean" @@ -1371,11 +1363,11 @@ ], "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -1398,7 +1390,7 @@ ], "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", "type": "string" }, "items": { @@ -1408,7 +1400,7 @@ } }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -1684,11 +1676,11 @@ ], "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -1708,7 +1700,7 @@ ], "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", "type": "string" }, "items": { @@ -1718,7 +1710,7 @@ } }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, "metadata": { diff --git a/errors/errors.go b/errors/errors.go index 1fbe662557a7..a73bc85665a7 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -46,7 +46,7 @@ type stackTracer interface { // New returns an error with the supplied message. // New also records the stack trace at the point it was called. func New(code string, message string) error { - err := errors.New(message) + err := errors.New(message) return argoerr{code, message, err.(stackTracer)} } diff --git a/manifests/base/kustomization.yaml b/manifests/base/kustomization.yaml index e68dbeef5d52..6e77ed73292a 100644 --- a/manifests/base/kustomization.yaml +++ b/manifests/base/kustomization.yaml @@ -5,10 +5,10 @@ kind: Kustomization images: - name: argoproj/argoui newName: argoproj/argoui - newTag: v2.4.2 + newTag: v2.4.3 - name: argoproj/workflow-controller newName: argoproj/workflow-controller - newTag: v2.4.2 + newTag: v2.4.3 resources: - crds - workflow-controller diff --git a/manifests/install.yaml b/manifests/install.yaml index e5fd21c383b1..f171c2bfb19c 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -289,7 +289,7 @@ spec: value: "false" - name: BASE_HREF value: / - image: argoproj/argoui:v2.4.2 + image: argoproj/argoui:v2.4.3 name: argo-ui serviceAccountName: argo-ui --- @@ -311,9 +311,9 @@ spec: - --configmap - workflow-controller-configmap - --executor-image - - argoproj/argoexec:v2.4.2 + - argoproj/argoexec:v2.4.3 command: - workflow-controller - image: argoproj/workflow-controller:v2.4.2 + image: argoproj/workflow-controller:v2.4.3 name: workflow-controller serviceAccountName: argo diff --git a/manifests/namespace-install.yaml b/manifests/namespace-install.yaml index 06c38640ab57..9992339dc12e 100644 --- a/manifests/namespace-install.yaml +++ b/manifests/namespace-install.yaml @@ -206,7 +206,7 @@ spec: value: "false" - name: BASE_HREF value: / - image: argoproj/argoui:v2.4.2 + image: argoproj/argoui:v2.4.3 name: argo-ui serviceAccountName: argo-ui --- @@ -228,9 +228,9 @@ spec: - --configmap - workflow-controller-configmap - --executor-image - - argoproj/argoexec:v2.4.2 + - argoproj/argoexec:v2.4.3 command: - workflow-controller - image: argoproj/workflow-controller:v2.4.2 + image: argoproj/workflow-controller:v2.4.3 name: workflow-controller serviceAccountName: argo diff --git a/pkg/apis/workflow/v1alpha1/openapi_generated.go b/pkg/apis/workflow/v1alpha1/openapi_generated.go index 39f458751fb9..a6ae436c0890 100644 --- a/pkg/apis/workflow/v1alpha1/openapi_generated.go +++ b/pkg/apis/workflow/v1alpha1/openapi_generated.go @@ -1705,12 +1705,6 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba Ref: ref("k8s.io/api/core/v1.Probe"), }, }, - "startupProbe": { - SchemaProps: spec.SchemaProps{ - Description: "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. This is an alpha feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - Ref: ref("k8s.io/api/core/v1.Probe"), - }, - }, "lifecycle": { SchemaProps: spec.SchemaProps{ Description: "Actions that the management system should take in response to container lifecycle events. Cannot be updated.", @@ -2368,12 +2362,6 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac Ref: ref("k8s.io/api/core/v1.Probe"), }, }, - "startupProbe": { - SchemaProps: spec.SchemaProps{ - Description: "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. This is an alpha feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - Ref: ref("k8s.io/api/core/v1.Probe"), - }, - }, "lifecycle": { SchemaProps: spec.SchemaProps{ Description: "Actions that the management system should take in response to container lifecycle events. Cannot be updated.", @@ -2494,14 +2482,14 @@ func schema_pkg_apis_workflow_v1alpha1_Workflow(ref common.ReferenceCallback) co Properties: map[string]spec.Schema{ "kind": { SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", Type: []string{"string"}, Format: "", }, }, "apiVersion": { SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", Type: []string{"string"}, Format: "", }, @@ -2539,14 +2527,14 @@ func schema_pkg_apis_workflow_v1alpha1_WorkflowList(ref common.ReferenceCallback Properties: map[string]spec.Schema{ "kind": { SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", Type: []string{"string"}, Format: "", }, }, "apiVersion": { SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", Type: []string{"string"}, Format: "", }, @@ -3053,14 +3041,14 @@ func schema_pkg_apis_workflow_v1alpha1_WorkflowTemplate(ref common.ReferenceCall Properties: map[string]spec.Schema{ "kind": { SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", Type: []string{"string"}, Format: "", }, }, "apiVersion": { SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", Type: []string{"string"}, Format: "", }, @@ -3093,14 +3081,14 @@ func schema_pkg_apis_workflow_v1alpha1_WorkflowTemplateList(ref common.Reference Properties: map[string]spec.Schema{ "kind": { SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", Type: []string{"string"}, Format: "", }, }, "apiVersion": { SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", Type: []string{"string"}, Format: "", }, diff --git a/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go index ae79b244f400..f3023043b37f 100644 --- a/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go @@ -1053,7 +1053,7 @@ func (in *Workflow) DeepCopyObject() runtime.Object { func (in *WorkflowList) DeepCopyInto(out *WorkflowList) { *out = *in out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) + out.ListMeta = in.ListMeta if in.Items != nil { in, out := &in.Items, &out.Items *out = make([]Workflow, len(*in)) @@ -1335,7 +1335,7 @@ func (in *WorkflowTemplate) DeepCopyObject() runtime.Object { func (in *WorkflowTemplateList) DeepCopyInto(out *WorkflowTemplateList) { *out = *in out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) + out.ListMeta = in.ListMeta if in.Items != nil { in, out := &in.Items, &out.Items *out = make([]WorkflowTemplate, len(*in)) diff --git a/pkg/client/clientset/versioned/clientset.go b/pkg/client/clientset/versioned/clientset.go index d67394f8553a..211914a278fa 100644 --- a/pkg/client/clientset/versioned/clientset.go +++ b/pkg/client/clientset/versioned/clientset.go @@ -3,8 +3,6 @@ package versioned import ( - "fmt" - argoprojv1alpha1 "github.com/argoproj/argo/pkg/client/clientset/versioned/typed/workflow/v1alpha1" discovery "k8s.io/client-go/discovery" rest "k8s.io/client-go/rest" @@ -37,14 +35,9 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { } // NewForConfig creates a new Clientset for the given config. -// If config's RateLimiter is not set and QPS and Burst are acceptable, -// NewForConfig will generate a rate-limiter in configShallowCopy. func NewForConfig(c *rest.Config) (*Clientset, error) { configShallowCopy := *c if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { - if configShallowCopy.Burst <= 0 { - return nil, fmt.Errorf("Burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0") - } configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) } var cs Clientset diff --git a/pkg/client/clientset/versioned/fake/clientset_generated.go b/pkg/client/clientset/versioned/fake/clientset_generated.go index eb18c17a7afd..ad5d9f197966 100644 --- a/pkg/client/clientset/versioned/fake/clientset_generated.go +++ b/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -25,7 +25,7 @@ func NewSimpleClientset(objects ...runtime.Object) *Clientset { } } - cs := &Clientset{tracker: o} + cs := &Clientset{} cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} cs.AddReactor("*", "*", testing.ObjectReaction(o)) cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { @@ -47,17 +47,12 @@ func NewSimpleClientset(objects ...runtime.Object) *Clientset { type Clientset struct { testing.Fake discovery *fakediscovery.FakeDiscovery - tracker testing.ObjectTracker } func (c *Clientset) Discovery() discovery.DiscoveryInterface { return c.discovery } -func (c *Clientset) Tracker() testing.ObjectTracker { - return c.tracker -} - var _ clientset.Interface = &Clientset{} // ArgoprojV1alpha1 retrieves the ArgoprojV1alpha1Client diff --git a/pkg/client/clientset/versioned/typed/workflow/v1alpha1/workflow_client.go b/pkg/client/clientset/versioned/typed/workflow/v1alpha1/workflow_client.go index 7d8df785a06e..e428ca84bd99 100644 --- a/pkg/client/clientset/versioned/typed/workflow/v1alpha1/workflow_client.go +++ b/pkg/client/clientset/versioned/typed/workflow/v1alpha1/workflow_client.go @@ -5,6 +5,7 @@ package v1alpha1 import ( v1alpha1 "github.com/argoproj/argo/pkg/apis/workflow/v1alpha1" "github.com/argoproj/argo/pkg/client/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" rest "k8s.io/client-go/rest" ) @@ -59,7 +60,7 @@ func setConfigDefaults(config *rest.Config) error { gv := v1alpha1.SchemeGroupVersion config.GroupVersion = &gv config.APIPath = "/apis" - config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} if config.UserAgent == "" { config.UserAgent = rest.DefaultKubernetesUserAgent() diff --git a/pkg/client/informers/externalversions/workflow/interface.go b/pkg/client/informers/externalversions/workflow/interface.go index 52a8879d9ca5..d49d769f4b22 100644 --- a/pkg/client/informers/externalversions/workflow/interface.go +++ b/pkg/client/informers/externalversions/workflow/interface.go @@ -1,6 +1,6 @@ // Code generated by informer-gen. DO NOT EDIT. -package workflow +package argoproj import ( internalinterfaces "github.com/argoproj/argo/pkg/client/informers/externalversions/internalinterfaces" diff --git a/r.yaml b/r.yaml new file mode 100644 index 000000000000..c517135bc8ee --- /dev/null +++ b/r.yaml @@ -0,0 +1,30 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: sidecar- +spec: + entrypoint: main + templates: + - name: main + steps: + - - name: load-data + template: load-data + - name: load-data + container: + image: alpine:3.7 + command: [sh, -c] + args: [" + apk update && + apk add postgresql-client && + until pg_isready -h 127.0.0.1 -p 5432 ; do sleep .5; echo sleep; done && + PGPASSWORD=postgres psql -h 127.0.0.1 -p 5432 -U postgres -c 'CREATE TABLE films (code char(5) CONSTRAINT firstkey PRIMARY KEY);'; + PGPASSWORD=postgres psql -h 127.0.0.1 -U postgres -p 5432 -c 'SELECT table_schema,table_name FROM information_schema.tables ORDER BY table_schema,table_name;'; + "] + sidecars: + - name: postgres + image: postgres:9-alpine + env: + - name: POSTGRES_USER + value: postgres + - name: POSTGRES_PASSWORD + value: postgres