diff --git a/artifacts/canaries/deployment.yaml b/artifacts/canaries/deployment.yaml index 7ace897f..d2d1852b 100644 --- a/artifacts/canaries/deployment.yaml +++ b/artifacts/canaries/deployment.yaml @@ -6,6 +6,8 @@ metadata: labels: app: podinfo spec: + minReadySeconds: 5 + revisionHistoryLimit: 5 strategy: rollingUpdate: maxUnavailable: 0 diff --git a/artifacts/flagger/deployment.yaml b/artifacts/flagger/deployment.yaml index a15fc963..f22c8b49 100644 --- a/artifacts/flagger/deployment.yaml +++ b/artifacts/flagger/deployment.yaml @@ -22,7 +22,7 @@ spec: serviceAccountName: flagger containers: - name: flagger - image: stefanprodan/flagger:0.1.0-beta.7 + image: stefanprodan/flagger:0.1.0-beta.9 imagePullPolicy: Always ports: - name: http diff --git a/charts/flagger/Chart.yaml b/charts/flagger/Chart.yaml index d4ab3114..1f2713a7 100644 --- a/charts/flagger/Chart.yaml +++ b/charts/flagger/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: flagger version: 0.1.0 -appVersion: 0.1.0-beta.7 +appVersion: 0.1.0-beta.9 description: Flagger is a Kubernetes operator that automates the promotion of canary deployments using Istio routing for traffic shifting and Prometheus metrics for canary analysis. home: https://github.com/stefanprodan/flagger diff --git a/charts/flagger/values.yaml b/charts/flagger/values.yaml index d194e4b5..542aa39c 100644 --- a/charts/flagger/values.yaml +++ b/charts/flagger/values.yaml @@ -2,7 +2,7 @@ image: repository: stefanprodan/flagger - tag: 0.1.0-beta.7 + tag: 0.1.0-beta.9 pullPolicy: IfNotPresent controlLoopInterval: "10s" diff --git a/pkg/controller/deployer.go b/pkg/controller/deployer.go index 826f1898..f4524991 100644 --- a/pkg/controller/deployer.go +++ b/pkg/controller/deployer.go @@ -48,6 +48,9 @@ func (c *CanaryDeployer) Promote(cd *flaggerv1.Canary) error { return fmt.Errorf("deployment %s.%s query error %v", primaryName, cd.Namespace, err) } + primary.Spec.MinReadySeconds = canary.Spec.MinReadySeconds + primary.Spec.RevisionHistoryLimit = canary.Spec.RevisionHistoryLimit + primary.Spec.Strategy = canary.Spec.Strategy primary.Spec.Template.Spec = canary.Spec.Template.Spec _, err = c.kubeClient.AppsV1().Deployments(primary.Namespace).Update(primary) if err != nil { @@ -241,8 +244,10 @@ func (c *CanaryDeployer) createPrimaryDeployment(cd *flaggerv1.Canary) error { }, }, Spec: appsv1.DeploymentSpec{ - Replicas: canaryDep.Spec.Replicas, - Strategy: canaryDep.Spec.Strategy, + MinReadySeconds: canaryDep.Spec.MinReadySeconds, + RevisionHistoryLimit: canaryDep.Spec.RevisionHistoryLimit, + Replicas: canaryDep.Spec.Replicas, + Strategy: canaryDep.Spec.Strategy, Selector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "app": primaryName, diff --git a/pkg/version/version.go b/pkg/version/version.go index 70ddddae..e1ff391f 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -1,4 +1,4 @@ package version -var VERSION = "0.1.0-beta.7" +var VERSION = "0.1.0-beta.9" var REVISION = "unknown"