Skip to content

Commit 2e81494

Browse files
committed
moving deprecation policy to skaffold.dev
1 parent 69991f8 commit 2e81494

File tree

5 files changed

+139
-113
lines changed

5 files changed

+139
-113
lines changed

CHANGELOG.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
*Note*: This release comes with a new config version `v1beta15`.
44
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.
5-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
5+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
66
The env vars `DIGEST`, `DIGEST_HEX` and `DIGEST_ALGO` now fail if found in `envTemplate` fields.
77

88
Highlights:
@@ -82,7 +82,7 @@ Huge thanks goes out to all of our contributors for this release:
8282

8383
*Note*: This release comes with a new config version `v1beta14`.
8484
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.
85-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
85+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
8686
The env vars `DIGEST`, `DIGEST_HEX` and `DIGEST_ALGO` won't work anymore in envTemplates.
8787

8888
New Features:
@@ -412,7 +412,7 @@ Huge thanks goes out to all of our contributors for this release:
412412

413413
*Note*: This release comes with a new config version `v1beta13`.
414414
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.
415-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
415+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
416416

417417
New Features:
418418
* File output flag for writing built images to a specified file [#2476](https://github.com/GoogleContainerTools/skaffold/pull/2476)
@@ -495,7 +495,7 @@ Huge thanks goes out to all of our contributors for this release:
495495

496496
*Note*: This release comes with a new config version `v1beta12`.
497497
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.
498-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
498+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
499499

500500
New Features:
501501
* Add support for user defined port forwarding [#2336](https://github.com/GoogleContainerTools/skaffold/pull/2336)
@@ -705,7 +705,7 @@ Huge thanks goes out to all of our contributors for this release:
705705

706706
*Note*: This release comes with a new config version `v1beta11`.
707707
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.
708-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
708+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
709709

710710
New Features:
711711

@@ -777,7 +777,7 @@ Huge thanks goes out to all of our contributors for this release:
777777

778778
*Note*: This release comes with a new config version `v1beta10`.
779779
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.
780-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
780+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
781781

782782
**Note**: `skaffold deploy` now requires images to be built first, `skaffold deploy` will not build images itself.
783783

@@ -858,7 +858,7 @@ Huge thanks goes out to all of our contributors for this release:
858858

859859
*Note*: This release comes with a new config version `v1beta9`.
860860
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.
861-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
861+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
862862

863863
New Features:
864864
* Git tagger variants (Tags, CommitSha, AbbrevCommitSha) [#1902](https://github.com/GoogleContainerTools/skaffold/pull/1902)
@@ -919,7 +919,7 @@ Huge thanks goes out to all of our contributors for this release:
919919

920920
*Note*: This release comes with a new config version `v1beta8`.
921921
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.
922-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
922+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
923923

924924
New Features:
925925

@@ -1024,7 +1024,7 @@ Huge thanks goes out to all of our contributors for this release:
10241024

10251025
*Note*: This release comes with a new config version `v1beta7`.
10261026
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.
1027-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
1027+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
10281028

10291029

10301030
*Deprecation notice*: With this release we mark for deprecation the `flags` (KanikoArtifact.AdditionalFlags) field in kaniko; instead Kaniko's additional flags will now be represented as unique fields under `kaniko` per artifact (`KanikoArtifact` type).
@@ -1115,7 +1115,7 @@ Huge thanks goes out to all of our contributors for this release:
11151115

11161116
*Note*: This release comes with a new config version `v1beta6`.
11171117
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.
1118-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
1118+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
11191119

11201120
New Features:
11211121
* Add gRPC based event API [#1574](https://github.com/GoogleContainerTools/skaffold/pull/1574)
@@ -1168,7 +1168,7 @@ Huge thanks goes out to all of our contributors for this release:
11681168

11691169
*Note*: This release comes with a new config version `v1beta5`.
11701170
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.
1171-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
1171+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
11721172

11731173
*Deprecation notice*: With this release we mark for deprecation the following env variables in the `envTemplate` tagger:
11741174
- `DIGEST`
@@ -1241,7 +1241,7 @@ Huge thanks goes out to all of our contributors for this release:
12411241

12421242
*Note*: This release comes with a new config version `v1beta4`.
12431243
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.
1244-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
1244+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
12451245

12461246
New features:
12471247
* Introduce configuration option to configure image pushing per kube-context [#1355](https://github.com/GoogleContainerTools/skaffold/pull/1355)
@@ -1331,7 +1331,7 @@ Huge thanks goes out to all of our contributors for this release:
13311331

13321332
*Note*: This release comes with a new config version `v1beta3`.
13331333
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.
1334-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
1334+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
13351335

13361336
New Features:
13371337
* Add support for urls in deploy.kubectl.manifests [#1408](https://github.com/GoogleContainerTools/skaffold/pull/1408)
@@ -1405,7 +1405,7 @@ Huge thank you for this release towards our contributors:
14051405

14061406
*Note*: This release comes with a new config version `v1beta2`.
14071407
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.
1408-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
1408+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
14091409

14101410
New Features:
14111411

@@ -1465,7 +1465,7 @@ Huge thank you for this release towards our contributors:
14651465

14661466
*Note*: This release comes with a new config version `v1beta1`.
14671467
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.
1468-
See [deprecation-policy.md](/deprecation-policy.md) for details on what beta means.
1468+
See [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/) for details on what beta means.
14691469

14701470

14711471
New features:

deprecation-policy.md

+2-96
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,3 @@
1-
# Skaffold deprecation policy
1+
# Moved
22

3-
Skaffold adopts the [Kubernetes deprecation policy for admin facing components](https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli). In summary, deprecations to a flag or CLI command require the following notification periods, depending on the release track:
4-
5-
| Release Track | Deprecation Period |
6-
| -------- | -------- |
7-
| Alpha (experimental) |0 releases |
8-
| Beta (pre-release) | 3 months or 1 release (whichever is longer)|
9-
| GA (generally available) | 6 months or 1 release (whichever is longer) |
10-
11-
**Breaking changes**
12-
A breaking change is when the primary functionality of a feature changes in a way that the user has to make changes to their workflows/configuration.
13-
- **Breaking config change**: In case of Skaffold's pipeline config (skaffold.yaml) a breaking change between an old and new version occurs when the skaffold binary cannot parse the input yaml with auto-upgrade. This can happen when the new version removes a feature or when the new version introduces a mandatory field with no default value
14-
- **Breaking functional change**: functional changes that force user workflow changes even when the config is the same or upgradeable.
15-
16-
## How do we deprecate things?
17-
18-
A "deprecation event" would coincide with a release.
19-
20-
1. We document the deprecation in the following places if applicable
21-
1. [Document](./docs) changes in relevant sections. These docs will be
22-
published to [offical skaffold website](https://skaffold.dev/docs/)
23-
2. Release notes
24-
3. Command help
25-
4. Log messages
26-
5. https://skaffold.dev/docs/references/yaml/
27-
6. [deprecation policy](/deprecation-policy.md)
28-
29-
2. if applicable, [from the kubernetes policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli):
30-
> Rule #6: Deprecated CLI elements must emit warnings (optionally disable) when used.
31-
32-
# Current maturity of skaffold
33-
34-
## Skaffold.yaml (pipeline config)
35-
36-
The pipeline config, i.e. `skaffold.yaml` is **beta**.
37-
38-
This means that you can safely depend on the skaffold config with the assumption that skaffold will auto-upgrade to the latest version:
39-
40-
- Removal and non-upgradable changes are subject to the deprecation policy for all (even new) features under the config.
41-
- Auto-upgradable changes are not considered breaking changes.
42-
43-
## Skaffold components
44-
45-
We are committed to design for auto-upgradeable changes in the config.
46-
However the **behavior** of individual component might suffer breaking changes depending on maturity.
47-
48-
- Filewatcher: beta
49-
- Builders
50-
- local: beta
51-
- googleCloudBuild: beta
52-
- kaniko: beta
53-
- plugins gcb: alpha
54-
- Artifact types:
55-
- Dockerfile: beta
56-
- Bazel: beta
57-
- Jib: beta
58-
- Filesync: alpha
59-
- Port-forwarding: alpha
60-
- Taggers: beta
61-
- gitCommit : beta
62-
- sha256: beta
63-
- dateTime : beta
64-
- envTagger: beta
65-
- Testers: alpha
66-
- Structure tests: alpha
67-
- Deployers: beta
68-
- Helm: beta
69-
- Kustomize: beta
70-
- Kubectl: beta
71-
- Profiles: beta
72-
- Debug: alpha
73-
74-
## Skaffold commands
75-
76-
Commands and their flags are subject to the deprecation policy based on the following table list:
77-
78-
- build: beta
79-
- completion: beta
80-
- config: alpha
81-
- debug: alpha
82-
- delete: beta
83-
- deploy: beta
84-
- dev: beta
85-
- diagnose: beta
86-
- fix: beta
87-
- help: beta
88-
- init: alpha
89-
- run: beta
90-
- version: beta
91-
92-
93-
## Current deprecation notices
94-
95-
96-
03/15/2019: With release v0.25.0 we mark for deprecation the `flags` field in kaniko (`KanikoArtifact.AdditionalFlags`) , instead Kaniko's additional flags will now be represented as unique fields under `kaniko` per artifact (`KanikoArtifact` type).
97-
This flag will will be removed earliest 06/15/2019.
3+
Deprecation policy has been moved to http://skaffold.dev/docs/references/deprecation
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
title: "Deprecation policy"
3+
linkTitle: "Deprecation policy"
4+
weight: 300
5+
---
6+
7+
# Skaffold deprecation policy
8+
9+
This document sets out the deprecation policy for Skaffold, and outlines how the Skaffold project will approach the introduction of breaking changes over time.
10+
11+
Deprecation policy applies only to Stable Builds. Bleeding Edge builds may have less stable implementations.
12+
13+
Deprecations to a flag or CLI command require the following notification periods, depending on the release track:
14+
15+
| Release Track | Deprecation Period |
16+
| -------- | -------- |
17+
| Alpha (experimental) |0 releases |
18+
| Beta (pre-release) | 3 months or 1 release (whichever is longer)|
19+
| GA (generally available) | 6 months or 1 release (whichever is longer) |
20+
21+
**Breaking changes**
22+
A breaking change is when the primary functionality of a feature changes in a way that the user has to make changes to their workflows/configuration.
23+
- **Breaking config change**: In case of Skaffold's pipeline config (skaffold.yaml) a breaking change between an old and new version occurs when the skaffold binary cannot parse the input yaml with auto-upgrade. This can happen when the new version removes a feature or when the new version introduces a mandatory field with no default value
24+
- **Breaking functional change**: functional changes that force user workflow changes even when the config is the same or upgradeable.
25+
26+
## How do we deprecate things?
27+
28+
A "deprecation event" would coincide with a release.
29+
30+
1. We document the deprecation in the following places if applicable
31+
1. deprecation policy - this document
32+
1. [Document on this site]({{< relref "/docs" >}}) changes in relevant sections
33+
1. [Release notes](https://github.com/GoogleContainerTools/skaffold/blob/master/CHANGELOG.md)
34+
1. [Command help]({{< relref "/docs/references/cli" >}})
35+
1. Log messages
36+
1. [skaffold yaml reference]({{< relref "/docs/references/yaml" >}})
37+
38+
39+
2. if applicable, [inspired by the kubernetes policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli):
40+
> Rule #6: Deprecated CLI elements must emit warnings (optionally disable) when used.
41+
42+
# Current maturity of skaffold
43+
44+
Skaffold and its features are considered Beta unless specified (in this document, CLI reference, config YAML reference or in docs in skaffold.dev).
45+
Skaffold is constantly evolving with the tools space, we want to be able to experiment and sometimes change things.
46+
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.
47+
48+
## Skaffold.yaml (pipeline config)
49+
50+
The pipeline config, i.e. `skaffold.yaml` is **beta**.
51+
52+
This means that you can safely depend on the skaffold config with the assumption that skaffold will auto-upgrade to the latest version:
53+
54+
- Removal and non-upgradable changes are subject to the deprecation policy for all (even new) features under the config.
55+
- Auto-upgradable changes are not considered breaking changes.
56+
57+
## Skaffold features
58+
59+
We are committed to design for auto-upgradeable changes in the config.
60+
However the **behavior** of individual component might suffer breaking changes depending on maturity.
61+
62+
- Filewatcher: beta
63+
- Builders
64+
- local: beta
65+
- googleCloudBuild: beta
66+
- kaniko: beta
67+
- plugins gcb: alpha
68+
- Artifact types:
69+
- Dockerfile: beta
70+
- Bazel: beta
71+
- Jib: beta
72+
- Filesync: alpha
73+
- Port-forwarding: alpha
74+
- Taggers: beta
75+
- gitCommit : beta
76+
- sha256: beta
77+
- dateTime : beta
78+
- envTagger: beta
79+
- Testers: alpha
80+
- Structure tests: alpha
81+
- Deployers: beta
82+
- Helm: beta
83+
- Kustomize: beta
84+
- Kubectl: beta
85+
- Profiles: beta
86+
- Debug: alpha
87+
88+
## Skaffold commands
89+
90+
Commands and their flags are subject to the deprecation policy based on the following table list:
91+
92+
- build: beta
93+
- completion: beta
94+
- config: alpha
95+
- debug: alpha
96+
- delete: beta
97+
- deploy: beta
98+
- dev: beta
99+
- diagnose: beta
100+
- fix: beta
101+
- help: beta
102+
- init: alpha
103+
- run: beta
104+
- version: beta
105+
106+
107+
## Exceptions
108+
109+
No policy can cover every possible situation.
110+
This policy is a living document, and will evolve over time.
111+
In practice, there will be situations that do not fit neatly into this policy, or for which this policy becomes a serious impediment.
112+
Examples could be getting fixes fast for a serious vulnerability, a destructive bug or requirements that might be imposed by third parties (such as legal requirements).
113+
Such situations should be discussed on the given bugs / feature requests and during Skaffold Office Hours, always bearing in mind that Skaffold is committed to being a stable system that, as much as possible, never breaks users.
114+
Exceptions will always be announced in all relevant release notes.
115+
116+
## Current deprecation notices
117+
118+
119+
03/15/2019: With release v0.25.0 we mark for deprecation the `flags` field in kaniko (`KanikoArtifact.AdditionalFlags`) , instead Kaniko's additional flags will now be represented as unique fields under `kaniko` per artifact (`KanikoArtifact` type).
120+
This flag will will be removed earliest 06/15/2019.

docs/design_proposals/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ sure:
2828
philosophy for the tool and not a one off solution for a specific use case.
2929
2. The feature/change scope is well defined.
3030
3. When changing any existing feature, the implementation plan adheres to
31-
[skaffold deprecation policy](./../../deprecation-policy.md).
31+
[Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/).
3232

3333
Once the proposal has been approved, we can move discussions to our bi-weekly
3434
meetings to address any open concerns,and to reach a final decision on whether

docs/design_proposals/design-proposal-template.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Please describe your solution. Please list any:
6262
For a new config change, please mention:
6363
6464
* Is it backwards compatible? If not, what is the deprecation policy?
65-
Refer to the [deprecation policy requirements.](./../../deprecation-policy.md#how-do-we-deprecate-things)
65+
Refer to the [Skaffold Deprecation Policy](http://skaffold.dev/docs/references/deprecation/).
6666
for details.
6767
6868
### Open Issues/Questions

0 commit comments

Comments
 (0)