From d15942769d9bbda883340a222722e6b618c0f5bc Mon Sep 17 00:00:00 2001 From: Tejal Desai Date: Thu, 12 Sep 2019 15:08:28 -0700 Subject: [PATCH] Changelog and update examples --- CHANGELOG.md | 76 +++++++++++++++++++ examples/bazel/skaffold.yaml | 2 +- examples/generate-pipeline/skaffold.yaml | 2 +- examples/getting-started/skaffold.yaml | 2 +- examples/google-cloud-build/skaffold.yaml | 2 +- .../skaffold-helm/values.yaml | 30 +++++++- .../skaffold.yaml | 28 +++++-- .../helm-deployment/skaffold-helm/values.yaml | 29 +++++++ examples/helm-deployment/skaffold.yaml | 27 ++++--- examples/hot-reload/skaffold.yaml | 2 +- examples/jib-gradle/skaffold.yaml | 4 +- examples/jib-multimodule/README.adoc | 19 +++-- examples/jib-multimodule/skaffold.yaml | 14 ++-- examples/jib/README.adoc | 2 +- examples/jib/skaffold.yaml | 4 +- examples/kaniko-local/skaffold.yaml | 2 +- examples/kaniko/skaffold.yaml | 2 +- examples/kustomize/skaffold.yaml | 2 +- examples/microservices/skaffold.yaml | 2 +- examples/nodejs/skaffold.yaml | 2 +- examples/react-reload/skaffold.yaml | 2 +- examples/structure-tests/skaffold.yaml | 2 +- .../skaffold.yaml | 2 +- 23 files changed, 208 insertions(+), 51 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05e0f0821db..911596b6807 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,79 @@ +# v0.38.0 Release - 09/12/2019 + +*Note*: This release comes with a new config version `v1beta14`. + To upgrade your `skaffold.yaml`, use `skaffold fix`. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. + See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means. + +New Features: + +* Add Go container debugging support [#2306](https://github.com/GoogleContainerTools/skaffold/pull/2306) +* Note: `jibMaven` and `jibGradle` are now just simply `jib` - your old config should be upgraded automatically. [#2808](https://github.com/GoogleContainerTools/skaffold/pull/2808) +* Add Kaniko builder to GCB [#2708](https://github.com/GoogleContainerTools/skaffold/pull/2708) + +Bug Fixes: + +* Upgrade golangci-lint to v1.18.0 [#2853](https://github.com/GoogleContainerTools/skaffold/pull/2853) +* Always add image flag to jib builders in skaffold init [#2854](https://github.com/GoogleContainerTools/skaffold/pull/2854) +* add deploy stabilize timer [#2845](https://github.com/GoogleContainerTools/skaffold/pull/2845) +* Only activate `env: "KEY="` for empty environment variable value, clearly document pattern behavior [#2839](https://github.com/GoogleContainerTools/skaffold/pull/2839) +* Small random fixes to tests and code [#2801](https://github.com/GoogleContainerTools/skaffold/pull/2801) +* skaffold init can be interrupted when kompose is running [#2803](https://github.com/GoogleContainerTools/skaffold/pull/2803) +* Fix portforward flake [#2824](https://github.com/GoogleContainerTools/skaffold/pull/2824) +* Improve `skaffold init` behaviour when tags are used in manifests [#2773](https://github.com/GoogleContainerTools/skaffold/pull/2773) +* Skip secret creation/check [#2783](https://github.com/GoogleContainerTools/skaffold/pull/2783) + +Updates & Refactors: + +* Print deployment status check summary when a status check is completed. [#2811](https://github.com/GoogleContainerTools/skaffold/pull/2811) +* add tests for `Status.String` method. [#2861](https://github.com/GoogleContainerTools/skaffold/pull/2861) +* Update dependencies [#2857](https://github.com/GoogleContainerTools/skaffold/pull/2857) +* Prepare to Add functionality to Replacer interface to restrict setting labels on certain kinds. [#2060](https://github.com/GoogleContainerTools/skaffold/pull/2060) +* Add Resource.Status object and remove sync.Map [#2851](https://github.com/GoogleContainerTools/skaffold/pull/2851) +* Add `Deployment` resource struct. [#2847](https://github.com/GoogleContainerTools/skaffold/pull/2847) +* refactor pollDeploymentRolloutStatus [#2846](https://github.com/GoogleContainerTools/skaffold/pull/2846) +* Improve runner [#2828](https://github.com/GoogleContainerTools/skaffold/pull/2828) +* Ignore codecov.io upload errors [#2841](https://github.com/GoogleContainerTools/skaffold/pull/2841) +* fix flake in in-cluster build [#2799](https://github.com/GoogleContainerTools/skaffold/pull/2799) +* skaffold trace -> kaniko debug [#2823](https://github.com/GoogleContainerTools/skaffold/pull/2823) +* Single way of mocking Kubernetes client/dynamic client [#2796](https://github.com/GoogleContainerTools/skaffold/pull/2796) +* Remove caching flags true from integration test [#2831](https://github.com/GoogleContainerTools/skaffold/pull/2831) +* add example for skaffold generate-pipeline [#2822](https://github.com/GoogleContainerTools/skaffold/pull/2822) +* Improve versioning [#2798](https://github.com/GoogleContainerTools/skaffold/pull/2798) +* Simplify TestBuildInCluster [#2829](https://github.com/GoogleContainerTools/skaffold/pull/2829) +* Simplify doDev() [#2815](https://github.com/GoogleContainerTools/skaffold/pull/2815) +* Remove misleading log [#2802](https://github.com/GoogleContainerTools/skaffold/pull/2802) +* Merge back release/v0.37.1 [#2800](https://github.com/GoogleContainerTools/skaffold/pull/2800) +* increasing unit test timeout to 90s [#2805](https://github.com/GoogleContainerTools/skaffold/pull/2805) +* remove unused values helm example [#2819](https://github.com/GoogleContainerTools/skaffold/pull/2819) +* Add --config-files flag for generate-pipeline command [#2766](https://github.com/GoogleContainerTools/skaffold/pull/2766) +* Update dependencies [#2818](https://github.com/GoogleContainerTools/skaffold/pull/2818) + +Docs: + +* [doc-style]/Sorting out the tools list follow the workflow picture. [#2838](https://github.com/GoogleContainerTools/skaffold/pull/2838) +* Design proposal for integrationtest command [#2671](https://github.com/GoogleContainerTools/skaffold/pull/2671) +* Split the concepts section into several sub-pages [#2810](https://github.com/GoogleContainerTools/skaffold/pull/2810) + +Huge thanks goes out to all of our contributors for this release: + +- Aisuko +- Andreas Sommer +- Balint Pato +- balopat +- Brian de Alwis +- Cedric Kring +- Chanseok Oh +- Cornelius Weig +- daddz +- David Gageot +- Jack Davis +- Marlon Gamez +- Medya Gh +- Nick Kubala +- Prashant Arya +- Tad Cordle +- Tejal Desai + # v0.37.1 Release - 09/04/2019 This is a minor release for a privacy policy update: diff --git a/examples/bazel/skaffold.yaml b/examples/bazel/skaffold.yaml index ef6b3b5b28a..05ce33d0f9f 100644 --- a/examples/bazel/skaffold.yaml +++ b/examples/bazel/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/generate-pipeline/skaffold.yaml b/examples/generate-pipeline/skaffold.yaml index 2d93c15ad2c..9450be4a920 100644 --- a/examples/generate-pipeline/skaffold.yaml +++ b/examples/generate-pipeline/skaffold.yaml @@ -6,4 +6,4 @@ build: deploy: kubectl: manifests: - - k8s-* + - k8s-* diff --git a/examples/getting-started/skaffold.yaml b/examples/getting-started/skaffold.yaml index b98ebe9d6e1..0c6eeaed16d 100644 --- a/examples/getting-started/skaffold.yaml +++ b/examples/getting-started/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/google-cloud-build/skaffold.yaml b/examples/google-cloud-build/skaffold.yaml index aa5fe57784f..0f13a8bf1ee 100644 --- a/examples/google-cloud-build/skaffold.yaml +++ b/examples/google-cloud-build/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: googleCloudBuild: diff --git a/examples/helm-deployment-dependencies/skaffold-helm/values.yaml b/examples/helm-deployment-dependencies/skaffold-helm/values.yaml index a52992d3d97..49dfad48c72 100644 --- a/examples/helm-deployment-dependencies/skaffold-helm/values.yaml +++ b/examples/helm-deployment-dependencies/skaffold-helm/values.yaml @@ -1,5 +1,13 @@ +# Default values for skaffold-helm. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. replicaCount: 1 image: nginx:stable +# This is the helm convention on declaring images +# image: +# repository: nginx +# tag: stable +# pullPolicy: IfNotPresent service: name: nginx type: ClusterIP @@ -7,8 +15,28 @@ service: internalPort: 80 ingress: enabled: false + # Used to create an Ingress record. hosts: - chart-example.local + annotations: + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + tls: + # Secrets must be manually created in the namespace. + # - secretName: chart-example-tls + # hosts: + # - chart-example.local resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + subchart: - enabled: true + enabled: true diff --git a/examples/helm-deployment-dependencies/skaffold.yaml b/examples/helm-deployment-dependencies/skaffold.yaml index c85c04e4d0e..3b77eaf55af 100644 --- a/examples/helm-deployment-dependencies/skaffold.yaml +++ b/examples/helm-deployment-dependencies/skaffold.yaml @@ -1,16 +1,28 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: tagPolicy: sha256: {} artifacts: - - image: gcr.io/k8s-skaffold/skaffold-helm + - image: gcr.io/k8s-skaffold/skaffold-helm deploy: helm: releases: - - name: skaffold-helm - chartPath: skaffold-helm - skipBuildDependencies: true - values: - image: gcr.io/k8s-skaffold/skaffold-helm - "skaffold-helm-subchart.image": gcr.io/k8s-skaffold/skaffold-helm + - name: skaffold-helm + chartPath: skaffold-helm + #wait: true + #valuesFiles: + #- helm-skaffold-values.yaml + skipBuildDependencies: true # Skip helm dep build + values: + image: gcr.io/k8s-skaffold/skaffold-helm + "skaffold-helm-subchart.image": gcr.io/k8s-skaffold/skaffold-helm + #recreatePods will pass --recreate-pods to helm upgrade + #recreatePods: true + #overrides builds an override values.yaml file to run with the helm deploy + #overrides: + # some: + # key: someValue + #setValues get appended to the helm deploy with --set. + #setValues: + #some.key: someValue diff --git a/examples/helm-deployment/skaffold-helm/values.yaml b/examples/helm-deployment/skaffold-helm/values.yaml index 4770bc96f65..29c983833e5 100644 --- a/examples/helm-deployment/skaffold-helm/values.yaml +++ b/examples/helm-deployment/skaffold-helm/values.yaml @@ -1,4 +1,12 @@ +# Default values for skaffold-helm. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. replicaCount: 1 +# This is the helm convention on declaring images +# image: +# repository: nginx +# tag: stable +# pullPolicy: IfNotPresent service: name: nginx type: NodePort @@ -6,4 +14,25 @@ service: internalPort: 80 ingress: enabled: true + # Used to create an Ingress record. + hosts: + # - chart-example.local + annotations: + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + tls: + # Secrets must be manually created in the namespace. + # - secretName: chart-example-tls + # hosts: + # - chart-example.local resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi diff --git a/examples/helm-deployment/skaffold.yaml b/examples/helm-deployment/skaffold.yaml index 717c3d85710..e0108781478 100644 --- a/examples/helm-deployment/skaffold.yaml +++ b/examples/helm-deployment/skaffold.yaml @@ -1,17 +1,26 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: tagPolicy: sha256: {} artifacts: - - image: gcr.io/k8s-skaffold/skaffold-helm - sync: - infer: - - "static/**.html" + - image: gcr.io/k8s-skaffold/skaffold-helm deploy: helm: releases: - - name: skaffold-helm - chartPath: skaffold-helm - values: - image: gcr.io/k8s-skaffold/skaffold-helm + - name: skaffold-helm + chartPath: skaffold-helm + #wait: true + #valuesFiles: + #- helm-skaffold-values.yaml + values: + image: gcr.io/k8s-skaffold/skaffold-helm + #recreatePods will pass --recreate-pods to helm upgrade + #recreatePods: true + #overrides builds an override values.yaml file to run with the helm deploy + #overrides: + # some: + # key: someValue + #setValues get appended to the helm deploy with --set. + #setValues: + #some.key: someValue diff --git a/examples/hot-reload/skaffold.yaml b/examples/hot-reload/skaffold.yaml index 61d714ab9f2..0e7d0c41067 100644 --- a/examples/hot-reload/skaffold.yaml +++ b/examples/hot-reload/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/jib-gradle/skaffold.yaml b/examples/jib-gradle/skaffold.yaml index e0335077904..f5e6c290020 100644 --- a/examples/jib-gradle/skaffold.yaml +++ b/examples/jib-gradle/skaffold.yaml @@ -1,9 +1,9 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: - image: gcr.io/k8s-skaffold/skaffold-jib-gradle - jibGradle: {} + jib: {} # optional profile to run the jib build on Google Cloud Build profiles: diff --git a/examples/jib-multimodule/README.adoc b/examples/jib-multimodule/README.adoc index f1ea1431d23..7dfdcbd5b45 100644 --- a/examples/jib-multimodule/README.adoc +++ b/examples/jib-multimodule/README.adoc @@ -2,10 +2,10 @@ :icons: font Jib is one of the supported builders in Skaffold. -[Jib](https://github.com/GoogleContainerTools/jib) builds Docker and OCI images +https://github.com/GoogleContainerTools/jib[Jib] builds Docker and OCI images for your Java applications and is available as plugins for Maven and Gradle. -Sometimes a project is configured to have multiple modules to create several +Sometimes a project is configured to have multiple _modules_ to create several container images. Skaffold can work with Jib to build these containers as required. @@ -18,14 +18,17 @@ build: - image: gcr.io/k8s-skaffold/skaffold-jib-1 # context is the root of the multi-module project context: . - jibMaven: - # module is either the relative location within the project (i.e., - # relative to `context`) or :artifactId or groupId:artifactId - module: moduleLocation + jib: + # project is the location relative to the artifact `context` + # For Maven, this is either the path relative to the artifact's + # `context`, or `:artifactId` or `groupId:artifactId`. + # For Gradle, this is the project name (defaults to the + # directory name). + project: moduleLocation - image: gcr.io/k8s-skaffold/skaffold-jib-2 context: . - jibMaven: - module: :artifactId + jib: + project: :artifactId ---- There are a few caveats: diff --git a/examples/jib-multimodule/skaffold.yaml b/examples/jib-multimodule/skaffold.yaml index 6d3ee648370..1119cb6d3e1 100644 --- a/examples/jib-multimodule/skaffold.yaml +++ b/examples/jib-multimodule/skaffold.yaml @@ -1,15 +1,15 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: - image: gcr.io/k8s-skaffold/skaffold-jib-1 - jibMaven: - # module can be the relative directory - module: project1 + jib: + # project can be the relative directory + project: project1 - image: gcr.io/k8s-skaffold/skaffold-jib-2 - jibMaven: - # module can be [groupId]:artifactId - module: :skaffold-project-2 + jib: + # project can be [groupId]:artifactId + project: :skaffold-project-2 # optional profile to run the jib build on Google Cloud Build profiles: diff --git a/examples/jib/README.adoc b/examples/jib/README.adoc index af6473958a7..1c49e6c847a 100644 --- a/examples/jib/README.adoc +++ b/examples/jib/README.adoc @@ -13,7 +13,7 @@ build: artifacts: - image: gcr.io/k8s-skaffold/skaffold-example context: . - jibMaven: {} + jib: {} ---- Please note that this example is for a standalone Maven project, where diff --git a/examples/jib/skaffold.yaml b/examples/jib/skaffold.yaml index a8c68b8cff5..3307be5511d 100644 --- a/examples/jib/skaffold.yaml +++ b/examples/jib/skaffold.yaml @@ -1,9 +1,9 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: - image: gcr.io/k8s-skaffold/skaffold-jib - jibMaven: {} + jib: {} # optional profile to run the jib build on Google Cloud Build profiles: diff --git a/examples/kaniko-local/skaffold.yaml b/examples/kaniko-local/skaffold.yaml index 2281ecef910..78c3099d375 100644 --- a/examples/kaniko-local/skaffold.yaml +++ b/examples/kaniko-local/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/kaniko/skaffold.yaml b/examples/kaniko/skaffold.yaml index 810aa9b454d..5979d2ed478 100644 --- a/examples/kaniko/skaffold.yaml +++ b/examples/kaniko/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/kustomize/skaffold.yaml b/examples/kustomize/skaffold.yaml index 76607ec33cb..8993e84ff81 100644 --- a/examples/kustomize/skaffold.yaml +++ b/examples/kustomize/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config deploy: kustomize: {} diff --git a/examples/microservices/skaffold.yaml b/examples/microservices/skaffold.yaml index bdf0fcb520c..e9e1a30c921 100644 --- a/examples/microservices/skaffold.yaml +++ b/examples/microservices/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/nodejs/skaffold.yaml b/examples/nodejs/skaffold.yaml index 606306520f0..2c761aa7bd6 100644 --- a/examples/nodejs/skaffold.yaml +++ b/examples/nodejs/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/react-reload/skaffold.yaml b/examples/react-reload/skaffold.yaml index 8b3dd53d3e6..d929d264b39 100644 --- a/examples/react-reload/skaffold.yaml +++ b/examples/react-reload/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/structure-tests/skaffold.yaml b/examples/structure-tests/skaffold.yaml index 7643f98be00..e836f9ed4bf 100644 --- a/examples/structure-tests/skaffold.yaml +++ b/examples/structure-tests/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: diff --git a/examples/tagging-with-environment-variables/skaffold.yaml b/examples/tagging-with-environment-variables/skaffold.yaml index a2cf3058cfd..1e1d7b9fb40 100644 --- a/examples/tagging-with-environment-variables/skaffold.yaml +++ b/examples/tagging-with-environment-variables/skaffold.yaml @@ -1,4 +1,4 @@ -apiVersion: skaffold/v1beta13 +apiVersion: skaffold/v1beta14 kind: Config build: artifacts: