diff --git a/docs/functions.rst b/docs/functions.rst index 16e1933c42..0f8d27be07 100644 --- a/docs/functions.rst +++ b/docs/functions.rst @@ -351,7 +351,7 @@ Example: args: namespace: "{{ .Deployment.Namespace }}" pod: "{{ index .Deployment.Pods 0 }}" - image: kanisterio/kanister-tools:0.15.0 + image: kanisterio/kanister-tools:0.16.0 backupArtifactPrefix: s3-bucket/path/artifactPrefix backupIdentifier: "{{ .Time }}" diff --git a/docs/helm.rst b/docs/helm.rst index e130c012cd..b319b39117 100644 --- a/docs/helm.rst +++ b/docs/helm.rst @@ -26,7 +26,7 @@ You also need to install the Kanister controller .. code-block:: console - $ helm install --name myrelease --namespace kanister kanister/kanister-operator --set image.tag=0.15.0 + $ helm install --name myrelease --namespace kanister kanister/kanister-operator --set image.tag=0.16.0 Kanister-Enabled Applications ============================= diff --git a/docs/install.rst b/docs/install.rst index 67a34d9037..e651319c03 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -35,7 +35,7 @@ This will install the Kanister controller in the `kanister` namespace $ helm repo add kanister https://charts.kanister.io/ # Install the Kanister operator controller using helm - $ helm install --name myrelease --namespace kanister kanister/kanister-operator --set image.tag=0.15.0 + $ helm install --name myrelease --namespace kanister kanister/kanister-operator --set image.tag=0.16.0 # Create an S3 Compliant Kanister profile using kanctl $ kanctl create profile s3compliant --bucket --access-key ${AWS_ACCESS_KEY_ID} \ @@ -73,5 +73,5 @@ namespace. .. code-block:: bash - # Deploy controller version 0.15.0 to Kubernetes - $ make deploy VERSION="0.15.0" + # Deploy controller version 0.16.0 to Kubernetes + $ make deploy VERSION="0.16.0" diff --git a/docs/overview.rst b/docs/overview.rst index c1f8602307..6a3b80001c 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -64,7 +64,7 @@ and backup to an AWS S3 bucket. helm repo add kanister http://charts.kanister.io # Install the Kanister Controller - helm install --name myrelease --namespace kanister kanister/kanister-operator --set image.tag=0.15.0 + helm install --name myrelease --namespace kanister kanister/kanister-operator --set image.tag=0.16.0 # Install MySQL and configure its Kanister Blueprint. # Also create a Profile CR that can be used in ActionSets diff --git a/docs/tooling.rst b/docs/tooling.rst index c3dc34b2d6..20e9a4ec09 100644 --- a/docs/tooling.rst +++ b/docs/tooling.rst @@ -375,7 +375,7 @@ The following snippet is an example of using kando from inside a Blueprint. kando location delete --profile '{{ .Profile }}' --path '/backup/path' - kando output version 0.15.0 + kando output version 0.16.0 Install the tools ================= @@ -398,7 +398,7 @@ These tools, especially `kando` are meant to be invoked inside containers via Blueprints. Although suggest using the released image when possible, we've also made it simple to add these tools to your container. -The released image, `kanisterio/kanister-tools:0.15.0`, is hosted by +The released image, `kanisterio/kanister-tools:0.16.0`, is hosted by `dockerhub `_. The Dockerfile for this image is in the diff --git a/examples/helm/kanister/kanister-elasticsearch/image/Dockerfile b/examples/helm/kanister/kanister-elasticsearch/image/Dockerfile index 7906a8835f..615b135ae3 100644 --- a/examples/helm/kanister/kanister-elasticsearch/image/Dockerfile +++ b/examples/helm/kanister/kanister-elasticsearch/image/Dockerfile @@ -1,5 +1,5 @@ -FROM kanisterio/kanister-tools:0.15.0 +FROM kanisterio/kanister-tools:0.16.0 MAINTAINER Supriya Kharade COPY esdump-setup.sh /esdump-setup.sh diff --git a/examples/helm/kanister/kanister-elasticsearch/kanister/elasticsearch-blueprint.yaml b/examples/helm/kanister/kanister-elasticsearch/kanister/elasticsearch-blueprint.yaml index b19919efb4..b203b239bf 100644 --- a/examples/helm/kanister/kanister-elasticsearch/kanister/elasticsearch-blueprint.yaml +++ b/examples/helm/kanister/kanister-elasticsearch/kanister/elasticsearch-blueprint.yaml @@ -10,7 +10,7 @@ actions: name: takeDataSnapshot args: namespace: "{{ .StatefulSet.Namespace }}" - image: "kanisterio/es-sidecar:0.15.0" + image: "kanisterio/es-sidecar:0.16.0" command: - bash - -o @@ -37,7 +37,7 @@ actions: name: restoreSnapshots args: namespace: "{{ .StatefulSet.Namespace }}" - image: "kanisterio/es-sidecar:0.15.0" + image: "kanisterio/es-sidecar:0.16.0" command: - bash - -o @@ -63,7 +63,7 @@ actions: name: deleteSnapshots args: namespace: "{{ .StatefulSet.Namespace }}" - image: "kanisterio/es-sidecar:0.15.0" + image: "kanisterio/es-sidecar:0.16.0" command: - bash - -o diff --git a/examples/helm/kanister/kanister-elasticsearch/requirements.yaml b/examples/helm/kanister/kanister-elasticsearch/requirements.yaml index 15915c0a76..923081987c 100644 --- a/examples/helm/kanister/kanister-elasticsearch/requirements.yaml +++ b/examples/helm/kanister/kanister-elasticsearch/requirements.yaml @@ -1,5 +1,5 @@ dependencies: - name: profile - version: "0.15.0" + version: "0.16.0" condition: profile.create repository: "https://charts.kanister.io" diff --git a/examples/helm/kanister/kanister-mongodb-replicaset/README.md b/examples/helm/kanister/kanister-mongodb-replicaset/README.md index 0ab9f87850..0c6816fdfa 100644 --- a/examples/helm/kanister/kanister-mongodb-replicaset/README.md +++ b/examples/helm/kanister/kanister-mongodb-replicaset/README.md @@ -3,7 +3,7 @@ ## Prerequisites Details * Kubernetes 1.8+ with Beta APIs enabled. * PV support on the underlying infrastructure. -* Kanister version 0.15.0 with `profiles.cr.kanister.io` CRD installed +* Kanister version 0.16.0 with `profiles.cr.kanister.io` CRD installed ## StatefulSet Details * https://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/ diff --git a/examples/helm/kanister/kanister-mongodb-replicaset/requirements.yaml b/examples/helm/kanister/kanister-mongodb-replicaset/requirements.yaml index 15915c0a76..923081987c 100644 --- a/examples/helm/kanister/kanister-mongodb-replicaset/requirements.yaml +++ b/examples/helm/kanister/kanister-mongodb-replicaset/requirements.yaml @@ -1,5 +1,5 @@ dependencies: - name: profile - version: "0.15.0" + version: "0.16.0" condition: profile.create repository: "https://charts.kanister.io" diff --git a/examples/helm/kanister/kanister-mongodb-replicaset/templates/mongodb-statefulset.yaml b/examples/helm/kanister/kanister-mongodb-replicaset/templates/mongodb-statefulset.yaml index bdcfe78e74..d99a71dad3 100644 --- a/examples/helm/kanister/kanister-mongodb-replicaset/templates/mongodb-statefulset.yaml +++ b/examples/helm/kanister/kanister-mongodb-replicaset/templates/mongodb-statefulset.yaml @@ -139,7 +139,7 @@ spec: mountPath: /data/db containers: - name: kanister-sidecar - image: kanisterio/mongo-sidecar:0.15.0 + image: kanisterio/mongo-sidecar:0.16.0 imagePullPolicy: Always env: {{- if .Values.auth.enabled }} diff --git a/examples/helm/kanister/kanister-mysql/requirements.yaml b/examples/helm/kanister/kanister-mysql/requirements.yaml index 15915c0a76..923081987c 100644 --- a/examples/helm/kanister/kanister-mysql/requirements.yaml +++ b/examples/helm/kanister/kanister-mysql/requirements.yaml @@ -1,5 +1,5 @@ dependencies: - name: profile - version: "0.15.0" + version: "0.16.0" condition: profile.create repository: "https://charts.kanister.io" diff --git a/examples/helm/kanister/kanister-mysql/templates/deployment.yaml b/examples/helm/kanister/kanister-mysql/templates/deployment.yaml index 6d6ab8f248..f5742da747 100755 --- a/examples/helm/kanister/kanister-mysql/templates/deployment.yaml +++ b/examples/helm/kanister/kanister-mysql/templates/deployment.yaml @@ -100,7 +100,7 @@ spec: mountPath: /etc/mysql/conf.d {{- end }} - name: kanister-sidecar - image: kanisterio/mysql-sidecar:0.15.0 + image: kanisterio/mysql-sidecar:0.16.0 imagePullPolicy: Always env: {{- if .Values.mysqlAllowEmptyPassword }} diff --git a/examples/helm/kanister/kanister-postgresql/requirements.yaml b/examples/helm/kanister/kanister-postgresql/requirements.yaml index 15915c0a76..923081987c 100644 --- a/examples/helm/kanister/kanister-postgresql/requirements.yaml +++ b/examples/helm/kanister/kanister-postgresql/requirements.yaml @@ -1,5 +1,5 @@ dependencies: - name: profile - version: "0.15.0" + version: "0.16.0" condition: profile.create repository: "https://charts.kanister.io" diff --git a/examples/time-log/blueprint.yaml b/examples/time-log/blueprint.yaml index ba85b34693..295bc5ba6f 100644 --- a/examples/time-log/blueprint.yaml +++ b/examples/time-log/blueprint.yaml @@ -41,7 +41,7 @@ actions: args: namespace: "{{ .Deployment.Namespace }}" pod: "{{ index .Deployment.Pods 0 }}" - image: kanisterio/kanister-tools:0.15.0 + image: kanisterio/kanister-tools:0.16.0 backupArtifactPrefix: "{{ .ArtifactsIn.timeLog.KeyValue.path }}" backupIdentifier: "{{ .ArtifactsIn.backupIdentifier.KeyValue.id }}" - func: ScaleWorkload diff --git a/examples/time-log/time-logger-deployment.yaml b/examples/time-log/time-logger-deployment.yaml index 1537510dea..1dae4aa941 100644 --- a/examples/time-log/time-logger-deployment.yaml +++ b/examples/time-log/time-logger-deployment.yaml @@ -27,7 +27,7 @@ spec: spec: containers: - name: test-container - image: kanisterio/kanister-tools:0.15.0 + image: kanisterio/kanister-tools:0.16.0 command: ["sh", "-c"] args: ["while true; do for x in $(seq 1200); do date >> /var/log/time.log; sleep 1; done; truncate /var/log/time.log --size 0; done"] volumeMounts: diff --git a/helm/kanister-operator/Chart.yaml b/helm/kanister-operator/Chart.yaml index 188d37fa1f..64180e4102 100644 --- a/helm/kanister-operator/Chart.yaml +++ b/helm/kanister-operator/Chart.yaml @@ -9,5 +9,5 @@ maintainers: - email: tom@kasten.io name: tdmanv icon: https://kasten.io/assets/img/kanister-logo.png -appVersion: 0.15.0 +appVersion: 0.16.0 source: https://github.com/kanisterio/kanister diff --git a/helm/kanister-operator/values.yaml b/helm/kanister-operator/values.yaml index d4bf155bfb..eda303ab83 100644 --- a/helm/kanister-operator/values.yaml +++ b/helm/kanister-operator/values.yaml @@ -3,7 +3,7 @@ # Declare variables to be passed into your templates. image: repository: kanisterio/controller - tag: 0.15.0 + tag: 0.16.0 pullPolicy: IfNotPresent rbac: create: true diff --git a/pkg/function/copy_volume_data.go b/pkg/function/copy_volume_data.go index e1783e86d5..2a85f319df 100644 --- a/pkg/function/copy_volume_data.go +++ b/pkg/function/copy_volume_data.go @@ -17,7 +17,7 @@ import ( ) const ( - kanisterToolsImage = "kanisterio/kanister-tools:0.15.0" + kanisterToolsImage = "kanisterio/kanister-tools:0.16.0" copyVolumeDataMountPoint = "/mnt/vol_data/%s" copyVolumeDataJobPrefix = "copy-vol-data-" CopyVolumeDataNamespaceArg = "namespace" diff --git a/pkg/function/data_test.go b/pkg/function/data_test.go index c78f863d56..2ab242ada3 100644 --- a/pkg/function/data_test.go +++ b/pkg/function/data_test.go @@ -78,7 +78,7 @@ func newRestoreDataBlueprint(pvc string) *crv1alpha1.Blueprint { Func: "RestoreData", Args: map[string]interface{}{ RestoreDataNamespaceArg: "{{ .StatefulSet.Namespace }}", - RestoreDataImageArg: "kanisterio/kanister-tools:0.15.0", + RestoreDataImageArg: "kanisterio/kanister-tools:0.16.0", RestoreDataBackupArtifactPrefixArg: "{{ .Profile.Location.Bucket }}/{{ .Profile.Location.Prefix }}", RestoreDataRestorePathArg: "/mnt/data", RestoreDataBackupIdentifierArg: "{{ .Time }}", @@ -223,7 +223,7 @@ func newCopyDataTestBlueprint() crv1alpha1.Blueprint { Func: "RestoreData", Args: map[string]interface{}{ RestoreDataNamespaceArg: "{{ .PVC.Namespace }}", - RestoreDataImageArg: "kanisterio/kanister-tools:0.15.0", + RestoreDataImageArg: "kanisterio/kanister-tools:0.16.0", RestoreDataBackupArtifactPrefixArg: fmt.Sprintf("{{ .Options.%s }}", CopyVolumeDataOutputBackupArtifactLocation), RestoreDataBackupIdentifierArg: fmt.Sprintf("{{ .Options.%s }}", CopyVolumeDataOutputBackupID), RestoreDataVolsArg: map[string]string{ diff --git a/pkg/function/delete_data.go b/pkg/function/delete_data.go index b8f0d7428b..8d70220693 100644 --- a/pkg/function/delete_data.go +++ b/pkg/function/delete_data.go @@ -63,7 +63,7 @@ func (*deleteDataFunc) Exec(ctx context.Context, tp param.TemplateParams, args m // Generate delete command cmd := generateDeleteCommand(artifact, tp.Profile) // Use KubeTask to delete the artifact - return kubeTask(ctx, namespace, "kanisterio/kanister-tools:0.15.0", cmd) + return kubeTask(ctx, namespace, "kanisterio/kanister-tools:0.16.0", cmd) } func (*deleteDataFunc) RequiredArgs() []string { diff --git a/pkg/function/kube_exec_test.go b/pkg/function/kube_exec_test.go index ec2d5ddfd0..88f043b575 100644 --- a/pkg/function/kube_exec_test.go +++ b/pkg/function/kube_exec_test.go @@ -157,11 +157,11 @@ func (s *KubeExecTest) TestParseLogAndCreateOutput(c *C) { errChecker Checker outChecker Checker }{ - {"###Phase-output###: {\"key\":\"version\",\"value\":\"0.15.0\"}", map[string]interface{}{"version": "0.15.0"}, IsNil, NotNil}, - {"###Phase-output###: {\"key\":\"version\",\"value\":\"0.15.0\"}\n###Phase-output###: {\"key\":\"path\",\"value\":\"/backup/path\"}", - map[string]interface{}{"version": "0.15.0", "path": "/backup/path"}, IsNil, NotNil}, - {"Random message ###Phase-output###: {\"key\":\"version\",\"value\":\"0.15.0\"}", map[string]interface{}{"version": "0.15.0"}, IsNil, NotNil}, - {"Random message with newline \n###Phase-output###: {\"key\":\"version\",\"value\":\"0.15.0\"}", map[string]interface{}{"version": "0.15.0"}, IsNil, NotNil}, + {"###Phase-output###: {\"key\":\"version\",\"value\":\"0.16.0\"}", map[string]interface{}{"version": "0.16.0"}, IsNil, NotNil}, + {"###Phase-output###: {\"key\":\"version\",\"value\":\"0.16.0\"}\n###Phase-output###: {\"key\":\"path\",\"value\":\"/backup/path\"}", + map[string]interface{}{"version": "0.16.0", "path": "/backup/path"}, IsNil, NotNil}, + {"Random message ###Phase-output###: {\"key\":\"version\",\"value\":\"0.16.0\"}", map[string]interface{}{"version": "0.16.0"}, IsNil, NotNil}, + {"Random message with newline \n###Phase-output###: {\"key\":\"version\",\"value\":\"0.16.0\"}", map[string]interface{}{"version": "0.16.0"}, IsNil, NotNil}, {"###Phase-output###: Invalid message", nil, NotNil, IsNil}, {"Random message", nil, IsNil, IsNil}, } { diff --git a/pkg/function/kube_task_test.go b/pkg/function/kube_task_test.go index 0c7f00e629..e9bf0cddd4 100644 --- a/pkg/function/kube_task_test.go +++ b/pkg/function/kube_task_test.go @@ -58,11 +58,11 @@ func newTaskBlueprint(namespace string) *crv1alpha1.Blueprint { Func: "KubeTask", Args: map[string]interface{}{ KubeTaskNamespaceArg: namespace, - KubeTaskImageArg: "kanisterio/kanister-tools:0.15.0", + KubeTaskImageArg: "kanisterio/kanister-tools:0.16.0", KubeTaskCommandArg: []string{ "sh", "-c", - "kando output version 0.15.0", + "kando output version 0.16.0", }, }, }, diff --git a/pkg/kube/pod_test.go b/pkg/kube/pod_test.go index 328abd810e..5928842702 100644 --- a/pkg/kube/pod_test.go +++ b/pkg/kube/pod_test.go @@ -51,7 +51,7 @@ func (s *PodSuite) TestPod(c *C) { pod, err := CreatePod(context.Background(), s.cli, &PodOptions{ Namespace: s.namespace, GenerateName: "test-", - Image: "kanisterio/kanister-tools:0.15.0", + Image: "kanisterio/kanister-tools:0.16.0", Command: []string{"sh", "-c", "tail -f /dev/null"}, }) c.Assert(err, IsNil) @@ -78,7 +78,7 @@ func (s *PodSuite) TestPodWithVolumes(c *C) { pod, err := CreatePod(ctx, cli, &PodOptions{ Namespace: s.namespace, GenerateName: "test-", - Image: "kanisterio/kanister-tools:0.15.0", + Image: "kanisterio/kanister-tools:0.16.0", Command: []string{"sh", "-c", "tail -f /dev/null"}, Volumes: vols, }) @@ -94,7 +94,7 @@ func (s *PodSuite) TestGetPodLogs(c *C) { pod, err := CreatePod(context.Background(), s.cli, &PodOptions{ Namespace: s.namespace, GenerateName: "test-", - Image: "kanisterio/kanister-tools:0.15.0", + Image: "kanisterio/kanister-tools:0.16.0", Command: []string{"sh", "-c", "echo hello"}, }) c.Assert(err, IsNil) diff --git a/pkg/param/param_test.go b/pkg/param/param_test.go index 1c5289e2f3..16f65e0582 100644 --- a/pkg/param/param_test.go +++ b/pkg/param/param_test.go @@ -549,7 +549,7 @@ func (s *ParamsSuite) TestPhaseParams(c *C) { c.Assert(tp.Phases, IsNil) err = InitPhaseParams(ctx, s.cli, tp, "backup", nil) c.Assert(err, IsNil) - UpdatePhaseParams(ctx, tp, "backup", map[string]interface{}{"version": "0.15.0"}) + UpdatePhaseParams(ctx, tp, "backup", map[string]interface{}{"version": "0.16.0"}) c.Assert(tp.Phases, HasLen, 1) c.Assert(tp.Phases["backup"], NotNil) } diff --git a/pkg/testutil/testutil.go b/pkg/testutil/testutil.go index 7bbe87d604..71f13891b0 100644 --- a/pkg/testutil/testutil.go +++ b/pkg/testutil/testutil.go @@ -79,7 +79,7 @@ func newTestPodTemplateSpec() v1.PodTemplateSpec { Containers: []v1.Container{ v1.Container{ Name: "test-container", - Image: "kanisterio/kanister-tools:0.15.0", + Image: "kanisterio/kanister-tools:0.16.0", Command: []string{"tail"}, Args: []string{"-f", "/dev/null"}, },