Skip to content
Permalink
Browse files

Merge pull request #3194 from balopat/v100

Release v1.0.0
  • Loading branch information
balopat committed Nov 7, 2019
2 parents 4b3babf + 263eefd commit decf9f76b69f3a23c102cfccf4c4dba8feba30d0
Showing with 310 additions and 188 deletions.
  1. +98 −0 CHANGELOG.md
  2. +2 −1 README.md
  3. +1 −1 cmd/skaffold/app/cmd/debug.go
  4. +1 −1 cmd/skaffold/app/cmd/init.go
  5. +1 −1 cmd/skaffold/app/cmd/render.go
  6. +1 −1 docs/content/en/_index.html
  7. +2 −2 docs/content/en/api/skaffold.swagger.json
  8. +1 −1 docs/content/en/docs/design/_index.md
  9. +1 −1 docs/content/en/docs/install/_index.md
  10. +1 −1 docs/content/en/docs/pipeline-stages/_index.md
  11. +1 −1 docs/content/en/docs/quickstart/_index.md
  12. +1 −1 docs/content/en/docs/references/api/grpc.md
  13. +6 −6 docs/content/en/docs/references/cli/_index.md
  14. +4 −5 docs/content/en/docs/references/deprecation.md
  15. +18 −12 docs/content/en/docs/resources/_index.md
  16. +1 −1 docs/content/en/docs/workflows/_index.md
  17. +40 −40 docs/content/en/schemas/v1.json
  18. +1 −1 examples/bazel/skaffold.yaml
  19. +0 −11 examples/buildpacks/build.sh
  20. +2 −1 examples/buildpacks/go.mod
  21. +30 −0 examples/buildpacks/k8s/web.yaml
  22. +9 −5 examples/buildpacks/main.go
  23. +4 −11 examples/buildpacks/skaffold.yaml
  24. +11 −28 examples/{buildpacks → custom}/README.adoc
  25. +8 −0 examples/custom/build.sh
  26. +3 −0 examples/custom/go.mod
  27. 0 examples/{buildpacks/k8s-pod.yaml → custom/k8s/pod.yaml}
  28. +14 −0 examples/custom/main.go
  29. +7 −0 examples/custom/skaffold.yaml
  30. +1 −1 examples/gcb-kaniko/skaffold.yaml
  31. +3 −17 examples/generate-pipeline/README.adoc
  32. +1 −1 examples/generate-pipeline/skaffold.yaml
  33. +1 −1 examples/getting-started/skaffold.yaml
  34. +1 −1 examples/google-cloud-build/skaffold.yaml
  35. +1 −1 examples/helm-deployment-dependencies/skaffold.yaml
  36. +1 −1 examples/helm-deployment/skaffold.yaml
  37. +1 −1 examples/hot-reload/skaffold.yaml
  38. +1 −1 examples/jib-gradle/skaffold.yaml
  39. +1 −1 examples/jib-multimodule/skaffold.yaml
  40. +1 −1 examples/jib/skaffold.yaml
  41. +1 −1 examples/kaniko-local/skaffold.yaml
  42. +1 −1 examples/kaniko/skaffold.yaml
  43. +1 −1 examples/kustomize/skaffold-kustomize-args.yaml
  44. +1 −1 examples/kustomize/skaffold.yaml
  45. +1 −1 examples/microservices/skaffold.yaml
  46. +1 −1 examples/nodejs/skaffold.yaml
  47. +1 −1 examples/profile-patches/skaffold.yaml
  48. +1 −1 examples/profiles/skaffold.yaml
  49. +1 −1 examples/react-reload/skaffold.yaml
  50. +1 −1 examples/structure-tests/skaffold.yaml
  51. +1 −1 examples/tagging-with-environment-variables/skaffold.yaml
  52. +15 −15 pkg/skaffold/schema/latest/config.go
  53. +1 −1 proto/skaffold.pb.go
  54. +1 −1 proto/skaffold.proto
@@ -1,3 +1,101 @@
# v1.0.0 Release - 11/07/2019

🎉🎉🎉🎉🎉🎉
After two years, we are extremely excited to announce first generally available release v1.0.0 of Skaffold!
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what GA means.
See [Feature Maturity](https://skaffold.dev/docs/references/deprecation/#skaffold-features) to find out more on feature maturity.
🎉🎉🎉🎉🎉🎉

*Note*: This release also comes with a new config version `v1`. 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.

Highlights:

- Revamped the http://skaffold.dev splash page, added client testimonials, and added a ton of missing documentation, clearer maturity state and what functionality applies for what skaffold command
- Added experimental support for Cloud Native BuildPacks
- Third party open source licenses are now surfaced in `skaffold credits` command


New Features:
* Adding support for Cloud Native Buildpacks [#3000](https://github.com/GoogleContainerTools/skaffold/pull/3000)
* skaffold credits to surface thirdparty licenses [#3138](https://github.com/GoogleContainerTools/skaffold/pull/3138)

Fixes:
* Fix redundant Jib image flags generated by init [#3191](https://github.com/GoogleContainerTools/skaffold/pull/3191)
* Simplify default repo handling and fix #3088 [#3089](https://github.com/GoogleContainerTools/skaffold/pull/3089)
* Fix EnvVarMap indices when caching is enabled [#3114](https://github.com/GoogleContainerTools/skaffold/pull/3114)
* Use native zsh completion script generator [#3137](https://github.com/GoogleContainerTools/skaffold/pull/3137)
* Allow configuring `jib` plugin type [#2964](https://github.com/GoogleContainerTools/skaffold/pull/2964)
* Fix writing rendered manifests to files [#3152](https://github.com/GoogleContainerTools/skaffold/pull/3152)
* Fixed issue with tagging of insecure registries. [#3127](https://github.com/GoogleContainerTools/skaffold/pull/3127)

Updates & refactorings:
* v1beta18 -> v1 [#3174](https://github.com/GoogleContainerTools/skaffold/pull/3174)
* Prepare kubectl and helm deployers for `--kubeconfig` flag [#3108](https://github.com/GoogleContainerTools/skaffold/pull/3108)
* init --analyze should return unique image names [#3141](https://github.com/GoogleContainerTools/skaffold/pull/3141)
* Don’t need race detection/code coverage [#3140](https://github.com/GoogleContainerTools/skaffold/pull/3140)
* Prepare cli-go to accept `--kubeconfig` setting [#3107](https://github.com/GoogleContainerTools/skaffold/pull/3107)
* Delegate release notes to external tool [#3055](https://github.com/GoogleContainerTools/skaffold/pull/3055)
* [buildpacks] Run cleanup on ctrl-c [#3184](https://github.com/GoogleContainerTools/skaffold/pull/3184)
* Remove trailing \n from download url [#3201](https://github.com/GoogleContainerTools/skaffold/pull/3201)
* Use native zsh completion script generator [#3137](https://github.com/GoogleContainerTools/skaffold/pull/3137)

Docs updates:

* permissive docs/themes dir creation [#3154](https://github.com/GoogleContainerTools/skaffold/pull/3154)
* Skaffold API docs [#3068](https://github.com/GoogleContainerTools/skaffold/pull/3068)
* Fix splash [#3147](https://github.com/GoogleContainerTools/skaffold/pull/3147)
* Skaffold image credits [#3146](https://github.com/GoogleContainerTools/skaffold/pull/3146)
* [docs] a few docs changes [#3181](https://github.com/GoogleContainerTools/skaffold/pull/3181)
* Simplify custom builder example [#3183](https://github.com/GoogleContainerTools/skaffold/pull/3183)
* Improve the k8s yaml used in buildpacks sample [#3182](https://github.com/GoogleContainerTools/skaffold/pull/3182)
* [example] update apiVersion of Deployment [#3161](https://github.com/GoogleContainerTools/skaffold/pull/3161)
* [docs] Right steps for secret creation in `generate-pipeline` flow. [#3180](https://github.com/GoogleContainerTools/skaffold/pull/3180)
* [docs] [output] meaningful message for healthcheck context exceeded. [#3177](https://github.com/GoogleContainerTools/skaffold/pull/3177)
* [docs] minimal jib gcb docs [#3179](https://github.com/GoogleContainerTools/skaffold/pull/3179)
* [docs] skaffold run docs in Continuous Delivery pipeline [#3173](https://github.com/GoogleContainerTools/skaffold/pull/3173)
* [docs] update buildpacks tutorial to custom builder [#3166](https://github.com/GoogleContainerTools/skaffold/pull/3166)
* [docs] change config version to v1 [#3175](https://github.com/GoogleContainerTools/skaffold/pull/3175)
* [docs, API] control api + swagger ui for http api [#3158](https://github.com/GoogleContainerTools/skaffold/pull/3158)
* [docs] maturity model defined by JSON [#3162](https://github.com/GoogleContainerTools/skaffold/pull/3162)
* [docs] add init docs [#3149](https://github.com/GoogleContainerTools/skaffold/pull/3149)
* [docs] Add logging docs [#3170](https://github.com/GoogleContainerTools/skaffold/pull/3170)
* [docs] Working With Skaffold [#3169](https://github.com/GoogleContainerTools/skaffold/pull/3169)
* [docs] Add docs for dev and ci/cd workflows [#3153](https://github.com/GoogleContainerTools/skaffold/pull/3153)
* [docs] docs changes for feature matrix [#3164](https://github.com/GoogleContainerTools/skaffold/pull/3164)
* [docs] remove diagnose from feature matrix. [#3167](https://github.com/GoogleContainerTools/skaffold/pull/3167)
* [docs] fix alerts [#3159](https://github.com/GoogleContainerTools/skaffold/pull/3159)
* [docs] Rework skaffold.dev splash page [#3145](https://github.com/GoogleContainerTools/skaffold/pull/3145)
* [docs] document activation of multiple profiles [#3112](https://github.com/GoogleContainerTools/skaffold/pull/3112)
* [docs] Fixes a broken link to the Profiles page [#3144](https://github.com/GoogleContainerTools/skaffold/pull/3144)
* [docs] fix install links [#3135](https://github.com/GoogleContainerTools/skaffold/pull/3135)
* [docs] Fix broken link to installation guide [#3134](https://github.com/GoogleContainerTools/skaffold/pull/3134)
* Add example to `skaffold deploy` [#3202](https://github.com/GoogleContainerTools/skaffold/pull/3202)
* [Doc] Buildpacks [#3199](https://github.com/GoogleContainerTools/skaffold/pull/3199)
* [docs] add docs for buildpacks [#3198](https://github.com/GoogleContainerTools/skaffold/pull/3198)
* [example] update apiVersion of Deployment [#3161](https://github.com/GoogleContainerTools/skaffold/pull/3161)
* [docs] move builders in to individual pages [#3193](https://github.com/GoogleContainerTools/skaffold/pull/3193)
* [docs] Cleanup docs [#3176](https://github.com/GoogleContainerTools/skaffold/pull/3176)
* [docs] quick feedback page update [#3196](https://github.com/GoogleContainerTools/skaffold/pull/3196)
* [website] unify fonts [#3197](https://github.com/GoogleContainerTools/skaffold/pull/3197)
* [docs] Add healthcheck [#3178](https://github.com/GoogleContainerTools/skaffold/pull/3178)
* [doc] `debug` does not work with buildpack builder and maybe custom builder images too [#3204](https://github.com/GoogleContainerTools/skaffold/pull/3204)

Huge thanks goes out to all of our contributors for this release:

- Balint Pato
- Brian de Alwis
- Cornelius Weig
- David Gageot
- Martin Hoefling
- Naoki Oketani
- Nick Kubala
- Nicklas Wallgren
- Peter Jausovec
- Pradip Caulagi
- Tad Cordle
- Tejal Desai
- ansky

# v0.41.0 Release - 09/26/2019

*Note*: This release also comes with a new config version `v1beta17`.
@@ -142,7 +142,8 @@ Check out our [examples page](./examples)

## Support

Skaffold is currently Beta. Detailed feature maturity information and how we deprecate features are described in our [Deprecation Policy](https://skaffold.dev/docs/references/deprecation).
Skaffold is generally available and considered production ready.
Detailed feature maturity information and how we deprecate features are described in our [Deprecation Policy](https://skaffold.dev/docs/references/deprecation).

Support channels:

@@ -29,7 +29,7 @@ import (
// NewCmdDebug describes the CLI command to run a pipeline in debug mode.
func NewCmdDebug() *cobra.Command {
return NewCmd("debug").
WithDescription("Run a pipeline in debug mode").
WithDescription("[beta] Run a pipeline in debug mode").
WithLongDescription("Similar to `dev`, but configures the pipeline for debugging.").
WithCommonFlags().
NoArgs(cancelWithCtrlC(context.Background(), doDebug))
@@ -38,7 +38,7 @@ var (
// NewCmdInit describes the CLI command to generate a Skaffold configuration.
func NewCmdInit() *cobra.Command {
return NewCmd("init").
WithDescription("Generate configuration for deploying an application").
WithDescription("[alpha] Generate configuration for deploying an application").
WithFlags(func(f *pflag.FlagSet) {
f.StringVarP(&opts.ConfigurationFile, "filename", "f", "skaffold.yaml", "Filename or URL to the pipeline file")
f.BoolVar(&skipBuild, "skip-build", false, "Skip generating build artifacts in Skaffold config")
@@ -37,7 +37,7 @@ var (
// NewCmdRender describes the CLI command to build artifacts render Kubernetes manifests.
func NewCmdRender() *cobra.Command {
return NewCmd("render").
WithDescription("Perform all image builds, and output rendered Kubernetes manifests").
WithDescription("[alpha] Perform all image builds, and output rendered Kubernetes manifests").
WithCommonFlags().
WithFlags(func(f *pflag.FlagSet) {
f.BoolVar(&showBuild, "loud", false, "Show the build logs and output")
@@ -29,7 +29,7 @@
<span class="col-sm-4">
<div style="margin:auto; display: flex;">
<a class="splashbutton splashbutton-primary btn" style="margin: auto"
href="{{< relref "/docs" >}}">
href="{{< relref "/docs/quickstart" >}}">
Get Started <i class="fas fa-arrow-alt-circle-right"></i>
</a>
</div>
@@ -37,7 +37,7 @@
},
{
"name": "event.metaEvent.entry",
"description": "entry, for example: `\"Starting Skaffold: {Version:v0.39.0-16-g5bb7c9e0 ConfigVersion:skaffold/v1beta15 GitVersion: GitCommit:5bb7c9e078e4d522a5ffc42a2f1274fd17d75902 GitTreeState:dirty BuildDate01:29Z GoVersion:go1.13rc1 Compiler:gc Platform:linux/amd64}\"`.",
"description": "entry, for example: `\"Starting Skaffold: {Version:v0.39.0-16-g5bb7c9e0 ConfigVersion:skaffold/v1 GitVersion: GitCommit:5bb7c9e078e4d522a5ffc42a2f1274fd17d75902 GitTreeState:dirty BuildDate01:29Z GoVersion:go1.13rc1 Compiler:gc Platform:linux/amd64}\"`.",
"in": "query",
"required": false,
"type": "string"
@@ -434,7 +434,7 @@
"properties": {
"entry": {
"type": "string",
"description": "entry, for example: `\"Starting Skaffold: {Version:v0.39.0-16-g5bb7c9e0 ConfigVersion:skaffold/v1beta15 GitVersion: GitCommit:5bb7c9e078e4d522a5ffc42a2f1274fd17d75902 GitTreeState:dirty BuildDate01:29Z GoVersion:go1.13rc1 Compiler:gc Platform:linux/amd64}\"`"
"description": "entry, for example: `\"Starting Skaffold: {Version:v0.39.0-16-g5bb7c9e0 ConfigVersion:skaffold/v1 GitVersion: GitCommit:5bb7c9e078e4d522a5ffc42a2f1274fd17d75902 GitTreeState:dirty BuildDate01:29Z GoVersion:go1.13rc1 Compiler:gc Platform:linux/amd64}\"`"
}
},
"description": "`MetaEvent` provides general information regarding Skaffold"
@@ -1,7 +1,7 @@
---
title: "Architecture and Design"
linkTitle: "Architecture and Design"
weight: 40
weight: 50
---

Skaffold is designed with pluggability in mind:
@@ -1,7 +1,7 @@
---
title: "Installing Skaffold"
linkTitle: "Installing Skaffold"
weight: 1
weight: 10
---

{{< alert title="Note" >}}
@@ -1,7 +1,7 @@
---
title: "Skaffold Pipeline Stages"
linkTitle: "Skaffold Pipeline Stages"
weight: 4
weight: 40
---

Skaffold features a five-stage workflow:
@@ -1,7 +1,7 @@
---
title: "Quickstart"
linkTitle: "Quickstart"
weight: 2
weight: 20
---

Follow this tutorial to learn about Skaffold on a small Kubernetes app built with [Docker](https://www.docker.com/) inside [minikube](https://minikube.sigs.k8s.io)
@@ -226,7 +226,7 @@ LogEntry describes an event and a string description of the event.

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| entry | [string](#string) | | entry, for example: `"Starting Skaffold: {Version:v0.39.0-16-g5bb7c9e0 ConfigVersion:skaffold/v1beta15 GitVersion: GitCommit:5bb7c9e078e4d522a5ffc42a2f1274fd17d75902 GitTreeState:dirty BuildDate01:29Z GoVersion:go1.13rc1 Compiler:gc Platform:linux/amd64}"` |
| entry | [string](#string) | | entry, for example: `"Starting Skaffold: {Version:v0.39.0-16-g5bb7c9e0 ConfigVersion:skaffold/v1 GitVersion: GitCommit:5bb7c9e078e4d522a5ffc42a2f1274fd17d75902 GitTreeState:dirty BuildDate01:29Z GoVersion:go1.13rc1 Compiler:gc Platform:linux/amd64}"` |



@@ -66,16 +66,16 @@ To edit this file above edit index_header - the rest of the file is autogenerate
End-to-end pipelines:
run Run a pipeline
dev Run a pipeline in development mode
debug Run a pipeline in debug mode
debug [beta] Run a pipeline in debug mode
Pipeline building blocks for CI/CD:
build Build the artifacts
deploy Deploy pre-built artifacts
delete Delete the deployed application
render Perform all image builds, and output rendered Kubernetes manifests
render [alpha] Perform all image builds, and output rendered Kubernetes manifests
Getting started with a new project:
init Generate configuration for deploying an application
init [alpha] Generate configuration for deploying an application
fix Update old configuration to newest schema version
Other Commands:
@@ -310,7 +310,7 @@ Env vars:

### skaffold debug

Run a pipeline in debug mode
[beta] Run a pipeline in debug mode

```
@@ -574,7 +574,7 @@ Env vars:

### skaffold init

Generate configuration for deploying an application
[alpha] Generate configuration for deploying an application

```
@@ -619,7 +619,7 @@ The following options can be passed to any command:

### skaffold render

Perform all image builds, and output rendered Kubernetes manifests
[alpha] Perform all image builds, and output rendered Kubernetes manifests

```
@@ -38,17 +38,16 @@ A "deprecation event" would coincide with a release.
> Rule #6: Deprecated CLI elements must emit warnings (optionally disable) when used.
# Current maturity of skaffold
Skaffold and its features are considered Beta unless specified (in this document, CLI reference, config YAML reference or in docs in skaffold.dev).

Skaffold and its features are considered GA unless specified (in this document, CLI reference, config YAML reference or in docs in skaffold.dev).
Skaffold is constantly evolving with the tools space, we want to be able to experiment and sometimes change things.
In order to be transparent about the maturity of feature areas and things that might change we offer the feature level maturity matrix that we keep up to date.

## Skaffold.yaml (pipeline config)

The pipeline config, i.e. `skaffold.yaml` is **beta**.

This means that you can safely depend on the skaffold config with the assumption that skaffold will auto-upgrade to the latest version:
You can safely depend on the skaffold config with the assumption that skaffold will auto-upgrade to the latest version:

- Removal and non-upgradable changes are subject to the deprecation policy for all (even new) features under the config.
- Removal and other non-upgradable changes are subject to the deprecation policy for all (even new) features under the config.
- Auto-upgradable changes are not considered breaking changes.

## Skaffold features
@@ -4,23 +4,33 @@ linkTitle: "Resources"
weight: 130
---

## 2020 Roadmap

Coming soon!

## 2019 Roadmap

* Plugin model for builders
* IDE integration - VSCode and IntelliJ Skaffold dev/build/run/deploy support, Skaffold Config code completion
* Debugging JVM applications
* Provide help with integration testing
* DONE - see custom artifacts
* IDE integration VSCode and IntelliJ Skaffold dev/build/run/deploy support, Skaffold Config code completion
* DONE, see [Cloud Code](http://cloud.google.com/code)
* Debugging JVM applications
* DONE, we have Java, go, python and node for [debbuging]({{<relref "/docs/workflows/debug">}})
* Skaffold keeps track of what it built, for faster restarts
* Automated Kubernetes manifest generation
* DONE, artifact caching is enabled by default, can be controlled with the `--cache-artifacts` flag
* Pipeline CRD integration
* DONE - we have Tekton pipeline generation in alpha, docs to come

In 2019 we also focused a major part of our efforts in fixing bugs, improve our triage, pull request and design processes, created better documentation, and continuously increased test coverage.

We reprioritized these items for next year:

* Provide help with integration testing
* Automated Kubernetes manifest generation
* Infrastructure scaffolding for CI/CD on GCP/GKE
* Document end-to-end solutions
* Status dashboard for build (test) and deployment besides logging

{{< alert title="Note" >}}
The roadmap is subject to change and aspirational but we would like to share our plans with the user and contributor community.
{{< /alert >}}

## Contributing

See [Contributing Guide](https://github.com/GoogleContainerTools/skaffold/blob/master/CONTRIBUTING.md),
@@ -45,7 +55,3 @@ Hangouts. Everyone is welcome to add suggestions to the [Meeting Agenda](https:/
and [attend the meeting](https://hangouts.google.com/hangouts/_/google.com/skaffold).
If you join the Skaffold Mailing List, a calendar invite will be sent to your Google
Calendar.

## FAQ

## Troubleshooting
@@ -1,7 +1,7 @@
---
title: "Working With Skaffold"
linkTitle: "Working With Skaffold"
weight: 1
weight: 30
---

| Skaffold Workflow | |

0 comments on commit decf9f7

Please sign in to comment.
You can’t perform that action at this time.