Skip to content

Commit 4bedad8

Browse files
authored
Merge pull request kubernetes#2378 from shekhar-rajak/kep_new_template_sig_cli
Migrating from old kep to new template -sig cli keps
2 parents 7eb521c + 3e4e417 commit 4bedad8

File tree

18 files changed

+247
-254
lines changed

18 files changed

+247
-254
lines changed

keps/sig-cli/0008-kustomize.md renamed to keps/sig-cli/2377-Kustomize/README.md

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
---
2-
title: Kustomize
3-
authors:
4-
- "@pwittrock"
5-
- "@monopole"
6-
owning-sig: sig-cli
7-
participating-sigs:
8-
- sig-cli
9-
reviewers:
10-
- "@droot"
11-
approvers:
12-
- "@soltysh"
13-
editor: "@droot"
14-
creation-date: 2018-05-05
15-
last-updated: 2019-01-09
16-
status: implemented
17-
see-also:
18-
- n/a
19-
replaces:
20-
- kinflate # Old name for kustomize
21-
superseded-by:
22-
- "kustomize-subbcommand-integration.md"
23-
---
24-
251
# Kustomize
262

273
## Table of Contents

keps/sig-cli/2377-Kustomize/kep.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
title: Kustomize
2+
kep-number: 2377
3+
authors:
4+
- "@pwittrock"
5+
- "@monopole"
6+
owning-sig: sig-cli
7+
participating-sigs:
8+
- sig-cli
9+
reviewers:
10+
- "@droot"
11+
approvers:
12+
- "@soltysh"
13+
editor: "@droot"
14+
creation-date: 2018-05-05
15+
last-updated: 2019-01-09
16+
status: implemented
17+
see-also:
18+
- n/a
19+
replaces:
20+
- kinflate # Old name for kustomize
21+
superseded-by:
22+
- "/keps/sig-cli/2386-kustomize-subcommand-integration/"

keps/sig-cli/0024-kubectl-plugins.md renamed to keps/sig-cli/2379-kubectl-plugins/README.md

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,4 @@
1-
---
2-
title: Kubectl Plugins
3-
authors:
4-
- "@juanvallejo"
5-
owning-sig: sig-cli
6-
participating-sigs:
7-
- sig-cli
8-
reviewers:
9-
- "@pwittrock"
10-
- "@deads2k"
11-
- "@liggitt"
12-
- "@soltysh"
13-
approvers:
14-
- "@pwittrock"
15-
- "@soltysh"
16-
editor: juanvallejo
17-
creation-date: 2018-07-24
18-
last-updated: 2010-02-26
19-
status: implemented
20-
see-also:
21-
- n/a
22-
replaces:
23-
- "https://github.com/kubernetes/community/blob/master/contributors/design-proposals/cli/kubectl-extension.md"
24-
- "https://github.com/kubernetes/community/pull/481"
25-
superseded-by:
26-
- n/a
27-
---
1+
282

293
# Kubectl Plugins
304

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
title: Kubectl Plugins
2+
kep-number: 2379
3+
authors:
4+
- "@juanvallejo"
5+
owning-sig: sig-cli
6+
participating-sigs:
7+
- sig-cli
8+
reviewers:
9+
- "@pwittrock"
10+
- "@deads2k"
11+
- "@liggitt"
12+
- "@soltysh"
13+
approvers:
14+
- "@pwittrock"
15+
- "@soltysh"
16+
editor: juanvallejo
17+
creation-date: 2018-07-24
18+
last-updated: 2010-02-26
19+
status: implemented
20+
see-also:
21+
- n/a
22+
replaces:
23+
- "https://github.com/kubernetes/community/blob/master/contributors/design-proposals/cli/kubectl-extension.md"
24+
- "https://github.com/kubernetes/community/pull/481"
25+
superseded-by:
26+
- n/a

keps/sig-cli/0032-datadrivencommands.md renamed to keps/sig-cli/2380-data-driven-commands-for-kubectl/README.md

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,4 @@
1-
---
2-
title: Data Driven Commands for Kubectl
3-
authors:
4-
- "@pwittrock"
5-
owning-sig: sig-cli
6-
participating-sigs:
7-
reviewers:
8-
- "@soltysh"
9-
- "@juanvallejo"
10-
- "@seans3 "
11-
approvers:
12-
- "@soltysh"
13-
editor: TBD
14-
creation-date: 2018-11-13
15-
last-updated: 2018-11-13
16-
status: provisional
17-
see-also:
18-
replaces:
19-
superseded-by:
20-
---
1+
212

223
# data driven commands
234

@@ -313,7 +294,7 @@ type Command struct {
313294
Deprecated string `json:"deprecated,omitempty"`
314295

315296
// Flags are the command line flags.
316-
//
297+
//
317298
// Flags are used by the client to expose command line flags to users and populate the Request go-templates
318299
// with the user provided values.
319300
//
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: Data Driven Commands for Kubectl
2+
kep-number: 2380
3+
authors:
4+
- "@pwittrock"
5+
owning-sig: sig-cli
6+
participating-sigs:
7+
reviewers:
8+
- "@soltysh"
9+
- "@juanvallejo"
10+
- "@seans3 "
11+
approvers:
12+
- "@soltysh"
13+
editor: TBD
14+
creation-date: 2018-11-13
15+
last-updated: 2018-11-13
16+
status: provisional
17+
see-also:
18+
replaces:
19+
superseded-by:

keps/sig-cli/20190920-future-of-kubectl-cp.md renamed to keps/sig-cli/2381-future-of-kubectl-cp/README.md

Lines changed: 22 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,3 @@
1-
---
2-
title: future-of-kubectl-cp
3-
authors:
4-
- "@sallyom"
5-
owning-sig: sig-cli
6-
participating-sigs:
7-
- sig-usability
8-
reviewers:
9-
- "@liggitt"
10-
- "@brendandburns"
11-
approvers:
12-
- "@pwittrock"
13-
- "@soltysh"
14-
editor: TBD
15-
creation-date: 2019-09-20
16-
last-updated: 2019-09-20
17-
status: provisional
18-
---
19-
201
# future-of-kubectl-cp
212

223
## Table of Contents
@@ -60,26 +41,26 @@ status: provisional
6041

6142
## Summary
6243

63-
This document summarizes and originates from this email thread,
64-
[Proposal to drop kubectl cp](https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kubernetes-sig-cli/_zUy67lK49k/aE6vncYiAgAJ).
44+
This document summarizes and originates from this email thread,
45+
[Proposal to drop kubectl cp](https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kubernetes-sig-cli/_zUy67lK49k/aE6vncYiAgAJ).
6546

6647
This document aims to solidify the future of `kubectl cp` as a tool that provides basic function of copying files between local environments and pods. Any advanced use cases
67-
such as those involving symlinks or modifying file permissions should be performed outside of `kubectl cp` through `kubectl exec`, addons, or shell commands.
48+
such as those involving symlinks or modifying file permissions should be performed outside of `kubectl cp` through `kubectl exec`, addons, or shell commands.
6849

6950
Over the past few releases, there have been numerous security issues with `kubectl cp` that have resulted in release updates in all supported versions of kubectl.
7051
At the same time,any new PR that extends `kubectl cp` must undergo extra reviews to evaluate security threats that may arise [1][2]. Over the past few months,
7152
security fixes have required dropping edge cases and function of the command. It is increasingly difficult to maintain a cp command that is both
7253
useful and secure. There are alternative approaches that provide the same function as `kubectl cp` [3]. Using `kubectl exec ...| tar`
7354
provides transparency when copying files as well as mitigations for path traversals, symlink directory escapes, tar bombs, and other exploits.
7455
Use of tar is more featureful, in that it can preserve file permissions and copy pod-to-pod. Also, `kubectl cp` is dependent on the tar binary
75-
in a container. A malicious tar binary is outside of what `kubectl cp` can control.
56+
in a container. A malicious tar binary is outside of what `kubectl cp` can control.
7657

77-
With all of this in mind the cost and risk of maintaining the cp command should be weighed against what is considered crucial functionality in kubectl.
78-
It's better to address 80% of use cases with a simple tool than trying to address the remaining 20% at the cost of risking those 80%.
58+
With all of this in mind the cost and risk of maintaining the cp command should be weighed against what is considered crucial functionality in kubectl.
59+
It's better to address 80% of use cases with a simple tool than trying to address the remaining 20% at the cost of risking those 80%.
7960

80-
[1] https://github.com/kubernetes/kubernetes/pull/78622
81-
[2] https://github.com/kubernetes/kubernetes/pull/73053
82-
[3] https://gist.github.com/tallclair/9217e2694b5fdf27b55d6bd1fda01b53
61+
[1] https://github.com/kubernetes/kubernetes/pull/78622
62+
[2] https://github.com/kubernetes/kubernetes/pull/73053
63+
[3] https://gist.github.com/tallclair/9217e2694b5fdf27b55d6bd1fda01b53
8364

8465
## Motivation
8566

@@ -88,10 +69,10 @@ It's better to address 80% of use cases with a simple tool than trying to addres
8869
* [CVE-2019-1002101](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1002101)
8970
* [CVE-2019-11246](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2019-11246)
9071
* [CVE-2019-11249](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11249)
91-
- To use `kubectl cp`, container images are required to have the tar binary. `kubectl cp` is not available when running containers from the minimal [scratch image](https://hub.docker.com/_/scratch/).
92-
Running from scratch is by itself a tactic to securing containers, as it encourages the best practice of limiting the tools packaged in an image to only what's required by a workload.
72+
- To use `kubectl cp`, container images are required to have the tar binary. `kubectl cp` is not available when running containers from the minimal [scratch image](https://hub.docker.com/_/scratch/).
73+
Running from scratch is by itself a tactic to securing containers, as it encourages the best practice of limiting the tools packaged in an image to only what's required by a workload.
9374

94-
This proposal is that `kubectl cp` should perform only basic copying of files. Advanced features of file copying should be out of scope for `kubectl cp`.
75+
This proposal is that `kubectl cp` should perform only basic copying of files. Advanced features of file copying should be out of scope for `kubectl cp`.
9576

9677
### Goals for kubectl cp
9778

@@ -103,18 +84,18 @@ This proposal is that `kubectl cp` should perform only basic copying of files.
10384
### Non-Goals
10485

10586
For either of these, a separate proposal weighing the cost/benefit would be required. These are out of scope of this proposal to simplify `kubectl cp`:
106-
- Rewrite `kubectl cp` to not use tar, by modifying CRI as outlined partially [here](https://github.com/kubernetes/kubernetes/issues/58512).
87+
- Rewrite `kubectl cp` to not use tar, by modifying CRI as outlined partially [here](https://github.com/kubernetes/kubernetes/issues/58512).
10788
- Rewrite `kubectl cp` to be functional in scratch based containers through use of ephemeral containers as outlined [here](https://github.com/kubernetes/kubernetes/issues/58512#issuecomment-528384746)
10889

10990
## Proposal
11091

11192
- `kubectl cp` should provide simple function of copying single file or directory between local environments and pods.
112-
- Identify and document `kubectl exec` commands to address more advanced options for copying files.
93+
- Identify and document `kubectl exec` commands to address more advanced options for copying files.
11394
- Provide users attempting to use `kubectl cp + symlinks/etc` with output showing comparable `kubectl exec ...| tar` cmds.
114-
- It is up for a decision in this proposal whether the community prefers to implement the `shelling out to tar from within kubectl cp`
115-
or leave as suggestions in error output.
116-
- Barring decision of the above, only the user stories listed below should be supported by `kubectl cp`. If additional user stories are added via shelling out to tar from kubectl,
117-
those will be outlined below.
95+
- It is up for a decision in this proposal whether the community prefers to implement the `shelling out to tar from within kubectl cp`
96+
or leave as suggestions in error output.
97+
- Barring decision of the above, only the user stories listed below should be supported by `kubectl cp`. If additional user stories are added via shelling out to tar from kubectl,
98+
those will be outlined below.
11899

119100
### User Stories
120101

@@ -138,7 +119,7 @@ or leave as suggestions in error output.
138119
### Risks and Mitigations
139120

140121
Any scripts or automation that currently rely on advanced features of `kubectl cp` will be broken.
141-
To mitigate, detailed information about why the command now fails as well as example `kubectl exec ...| tar` alternatives will be output.
122+
To mitigate, detailed information about why the command now fails as well as example `kubectl exec ...| tar` alternatives will be output.
142123

143124
## Design Details
144125

@@ -152,8 +133,8 @@ Ensure that failure includes example alternative approach, plus information abou
152133
### Upgrade / Downgrade Strategy
153134

154135
`kubectl cp` function removed as a result of a CVE fix or other will be documented clearly.
155-
Information about why subcommand/option is no longer supported, what files are skipped, and also alternative `kubectl exec ...| tar` commands
156-
will be included in failed command output. This output will then always be given (not just for a deprecation period).
136+
Information about why subcommand/option is no longer supported, what files are skipped, and also alternative `kubectl exec ...| tar` commands
137+
will be included in failed command output. This output will then always be given (not just for a deprecation period).
157138

158139
### Version Skew Strategy
159140

@@ -162,4 +143,4 @@ will be included in failed command output. This output will then always be give
162143
## Drawbacks
163144

164145
Automation scripts that include `kubectl cp` will be broken if options and features are removed from the command.
165-
The motivation of improving security is weighed against this potential drawback.
146+
The motivation of improving security is weighed against this potential drawback.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
title: future-of-kubectl-cp
2+
kep-number: 2381
3+
authors:
4+
- "@sallyom"
5+
owning-sig: sig-cli
6+
participating-sigs:
7+
- sig-usability
8+
reviewers:
9+
- "@liggitt"
10+
- "@brendandburns"
11+
approvers:
12+
- "@pwittrock"
13+
- "@soltysh"
14+
editor: TBD
15+
creation-date: 2019-09-20
16+
last-updated: 2019-09-20
17+
status: provisional

keps/sig-cli/kustomize-exec-secret-generator.md renamed to keps/sig-cli/2382-kustomize-exec-secret-generator/README.md

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,3 @@
1-
---
2-
title: Kustomize Exec Secret Generator
3-
authors:
4-
- "@pwittrock"
5-
owning-sig: sig-cli
6-
participating-sigs:
7-
reviewers:
8-
- "@anguslees"
9-
- "@Liujingfang1"
10-
- "@sethpollack"
11-
approvers:
12-
- "@monopole"
13-
editor: "@pwittrock"
14-
creation-date: 2019-03-12
15-
last-updated: 2019-03-12
16-
status: implementable
17-
see-also:
18-
- "https://github.com/kubernetes/enhancements/blob/master/keps/sig-cli/kustomize-secret-generator-plugins.md"
19-
---
201

212

223
# Kustomize Exec Secret Generator
@@ -95,7 +76,7 @@ expected to want to be able to invoke the tools they already use for addressing
9576
### Goals
9677

9778
- Enable users to generate Secrets using the tools they already use to do so
98-
- Secure by default - Alice must configure her environment in an insecure manner and run the command in an
79+
- Secure by default - Alice must configure her environment in an insecure manner and run the command in an
9980
insecure way for it to be exploitable
10081
- Support Linux / Mac / Windows OS's
10182

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
title: Kustomize Exec Secret Generator
2+
kep-number: 2382
3+
authors:
4+
- "@pwittrock"
5+
owning-sig: sig-cli
6+
participating-sigs:
7+
reviewers:
8+
- "@anguslees"
9+
- "@Liujingfang1"
10+
- "@sethpollack"
11+
approvers:
12+
- "@monopole"
13+
editor: "@pwittrock"
14+
creation-date: 2019-03-12
15+
last-updated: 2019-03-12
16+
status: implementable
17+
see-also:
18+
- "/keps/sig-cli/2385-kustomize-secret-generator-plugins/"

0 commit comments

Comments
 (0)