├── LICENSE
├── Makefile
├── NEWS.md
├── README.md
├── generators
├── docbook.go
├── gen.go
├── read_cmd.go
├── toc.go
├── types.go
├── v1_17
│ └── toc.yaml
├── v1_18
│ └── toc.yaml
├── v1_19
│ └── toc.yaml
└── v1_31
│ └── toc.yaml
├── go.mod
├── go.sum
├── main.go
├── static
└── license.xml
├── upgrade
└── upgrade.go
└── xsl
├── api-6x9in.xsl
└── api.xsl
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright 2019 Philippe Martin
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | default:
16 | @echo "commands: clean, docbook, pdf"
17 |
18 | clean:
19 | rm -rf build
20 |
21 | docbook: clean build/index.xml
22 |
23 | build/index.xml: $(wildcard *.go **/*.go) generators/v1_19/toc.yaml
24 | mkdir -p build
25 | ~/Documents/Perso/kubernetes/_output/local/go/bin/kubectl-reference --kubernetes-version v1_19 > build/index.xml
26 |
27 | FORMAT ?= USletter
28 | pdf: build/index.xml
29 | (cd build && \
30 | mkdir -p pdf-$(FORMAT) && \
31 | cd pdf-$(FORMAT) && \
32 | xsltproc --stringparam fop1.extensions 1 --stringparam paper.type $(FORMAT) -o index-$(FORMAT).fo ../../xsl/api.xsl ../index.xml && \
33 | fop -pdf index-$(FORMAT).pdf -fo index-$(FORMAT).fo && \
34 | rm index-$(FORMAT).fo)
35 |
36 | pdf-6x9in: build/index.xml
37 | (cd build && \
38 | mkdir -p pdf && \
39 | cd pdf && \
40 | xsltproc --stringparam fop1.extensions 1 -o index.fo ../../xsl/api-6x9in.xsl ../index.xml && \
41 | fop -pdf index.pdf -fo index.fo && \
42 | rm index.fo)
43 |
44 | test:
45 | @echo $(FORMAT)
46 |
--------------------------------------------------------------------------------
/NEWS.md:
--------------------------------------------------------------------------------
1 | # News
2 |
3 | ## New in v1.19
4 |
5 | - new common option `field-manager`
6 | * new option `port` in `create/deployment`
7 | * new option `replicas` in `create/deployment`
8 | * new option `privileged` in `run`
9 | - new option `dry-run` in `scale`
10 | - new option `selector` in `diff`
11 | * new option `list` in `annotate`
12 | * new option `copy-to` in `alpha/debug`
13 | * new option `replace` in `alpha/debug`
14 | * new option `same-node` in `alpha/debug`
15 | * new option `share-processes` in `alpha/debug`
16 | - new arguments `COMMAND args...` to `create deployment`
17 | - removed option `generator` from `create/clusterrolebinding`
18 | - removed option `export` from `get`
19 | - removed option `heapster-namespace` from `top/pod`
20 | - removed option `heapster-port` from from `top/pod`
21 | - removed option `heapster-scheme` from `top/pod`
22 | - removed option `heapster-service` from `top/pod`
23 | - removed option `server-dry-run` from `apply`
24 |
25 | ## New in v1.18
26 |
27 | - `dry-run` options accept `server`/`client`/`none` instead of `true`/`false`
28 | - new option `dry-run` in `delete`
29 | - new option `dry-run` in `replace`
30 | - new option `dry-run` in `taint`
31 | - new option `filename` in `exec`
32 | - new option `disable-eviction` in `drain`
33 | - new option `skip-wait-for-delete-timeout` in `drain`
34 | - new command `alpha debug`
35 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Kubectl Reference
2 |
3 | This tool creates a DocBook documentation from the Kubectl inline help.
4 |
5 | ```
6 | # Create the Docbook file
7 | $ make docbook
8 |
9 | # Create a PDF file, in USletter format
10 | $ make pdf
11 |
12 | # Create a PDF file, in A4 format
13 | $ make pdf FORMAT=A4
14 | ```
15 |
16 | ## Get a printed book at:
17 |
18 | - US: https://www.amazon.com/dp/B088N615VS
19 | - UK: https://www.amazon.co.uk/dp/B088N615VS
20 | - DE: https://www.amazon.de/dp/B088N615VS
21 | - FR: https://www.amazon.fr/dp/B088N615VS
22 | - ES: https://www.amazon.es/dp/B088N615VS
23 | - IT: https://www.amazon.it/dp/B088N615VS
24 | - JP: https://www.amazon.co.jp/dp/B088N615VS
25 | - CA: https://www.amazon.ca/dp/B088N615VS
26 |
--------------------------------------------------------------------------------
/generators/docbook.go:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2019 Philippe Martin.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 | package generators
17 |
18 | import (
19 | "bytes"
20 | "encoding/xml"
21 | "fmt"
22 | "io"
23 | "os"
24 | "strings"
25 |
26 | "github.com/jinzhu/copier"
27 | )
28 |
29 | func (o *Command) AsDocbook(w io.Writer, config *ToCCommand) {
30 | refname := o.Name
31 | if len(o.Path) > 0 {
32 | refname = strings.Replace(o.Path, "/", " ", 1) + " " + refname
33 | }
34 | refpurpose := o.Synopsis
35 | fmt.Fprintf(w, `
36 |
37 | %s
38 |
39 | %s
40 |
41 |
42 | Usage
43 |
44 |
45 | kubectl %s
46 | `, refname, refpurpose, refname)
47 |
48 | for _, arg := range config.Args {
49 | if !arg.End {
50 | arg.AsDocbook(w)
51 | }
52 | }
53 | fmt.Fprint(w, " \n")
54 |
55 | for _, group := range config.OptionsGroups {
56 | for _, tocOption := range group.Options {
57 | option := o.GetOption(tocOption.Name)
58 | if option == nil {
59 | option = o.GetInheritedOption(tocOption.Name)
60 | if option == nil {
61 | fmt.Printf("option %s of command %s not found\n", tocOption.Name, o.Name)
62 | os.Exit(1)
63 | }
64 | }
65 | option.AsDocbook(w, &tocOption)
66 | }
67 | fmt.Fprint(w, " \n")
68 | }
69 |
70 | for _, arg := range config.Args {
71 | if arg.End {
72 | arg.AsDocbook(w)
73 | }
74 | }
75 |
76 | fmt.Fprint(w, `
77 |
78 | `)
79 |
80 | if *ShowUsage {
81 | // Description
82 | fmt.Fprintf(w, ` Original Usage
83 | %s
84 | `, escapeXml(o.Usage))
85 |
86 | }
87 |
88 | // Description
89 | fmt.Fprint(w, `
90 | Description
91 | `)
92 |
93 | desc := o.Description
94 | paras := strings.Split(desc, "\n\n")
95 | for _, para := range paras {
96 | fmt.Fprintf(w, " %s\n", escapeXml(para))
97 | }
98 | fmt.Fprint(w, `
99 | `)
100 |
101 | // Options
102 | if len(config.OptionsGroups) > 0 {
103 | fmt.Fprint(w, `
104 | Options
105 | `)
106 |
107 | for _, group := range config.OptionsGroups {
108 | if len(group.Name) > 0 {
109 | fmt.Fprintf(w, " %s\n", group.Name)
110 | }
111 | fmt.Fprintf(w, " \n")
112 | for _, tocOption := range group.Options {
113 | option := o.GetOption(tocOption.Name)
114 | if option == nil {
115 | option = o.GetInheritedOption(tocOption.Name)
116 | if option == nil {
117 | fmt.Printf("option %s of command %s not found\n", tocOption.Name, o.Name)
118 | os.Exit(1)
119 | }
120 | }
121 | option.AsDocbookDetails(w, &tocOption)
122 | }
123 | fmt.Fprintf(w, " \n")
124 | }
125 |
126 | fmt.Fprint(w, `
127 | `)
128 | }
129 |
130 | // Examples
131 | if len(o.Examples) > 0 {
132 | fmt.Fprint(w, `
133 | Examples
134 | `)
135 | for _, example := range o.Examples {
136 | fmt.Fprintf(w, " %s\n", example.Title)
137 | fmt.Fprint(w, " ")
138 | fmt.Fprintf(w, "%s", example.Content)
139 | fmt.Fprint(w, "\n")
140 |
141 | }
142 | fmt.Fprint(w, `
143 | `)
144 | }
145 |
146 | fmt.Fprint(w, `
147 | `)
148 | }
149 |
150 | func (o *Arg) AsDocbook(w io.Writer) {
151 | choice := "plain"
152 | if o.Choice != nil {
153 | choice = *o.Choice
154 | }
155 | rep := "norepeat"
156 | if o.Rep != nil {
157 | rep = *o.Rep
158 | }
159 | fmt.Fprintf(w, " %s\n", choice, rep, string(o.Name))
160 | }
161 |
162 | func (op *Option) AsDocbook(w io.Writer, config *ToCOption) {
163 | var o Option
164 | copier.Copy(&o, op)
165 |
166 | if config.Type != nil {
167 | o.Type = *config.Type
168 | }
169 | if config.Usage != nil {
170 | o.Usage = *config.Usage
171 | }
172 | if config.Shorthand != nil {
173 | o.Shorthand = *config.Shorthand
174 | }
175 | if config.Default != nil {
176 | o.DefaultValue = *config.Default
177 | }
178 | choice := "opt"
179 | if config.Required {
180 | choice = "plain"
181 | }
182 |
183 | optionName := "--" + o.Name + "="
184 | if len(o.Shorthand) > 0 {
185 | optionName = "-" + o.Shorthand + " "
186 | }
187 |
188 | switch o.Type {
189 | case "bool", "tristate":
190 | var value string
191 | if len(o.Shorthand) > 0 && o.DefaultValue == "false" {
192 | value = "-" + o.Shorthand
193 | } else {
194 | value = "--" + o.Name
195 | if o.DefaultValue == "true" {
196 | value += "=false"
197 | }
198 | }
199 | fmt.Fprintf(w, " %s\n", choice, value)
200 |
201 | case "string":
202 | value := optionName + "value"
203 | fmt.Fprintf(w, " %s\n", choice, value)
204 |
205 | case "int32", "int64", "int", "duration":
206 | value := optionName + "value"
207 | fmt.Fprintf(w, " %s\n", choice, value)
208 |
209 | case "stringArray":
210 | if config.Required {
211 | choice = "req"
212 | }
213 | value := optionName + "value"
214 | fmt.Fprintf(w, " %s\n", choice, value)
215 |
216 | case "stringToString":
217 | value := optionName + "key1=value1,keyN=valueN"
218 | fmt.Fprintf(w, " %s\n", choice, value)
219 |
220 | case "stringSlice":
221 | value := optionName + "value1,valueN"
222 | fmt.Fprintf(w, " %s\n", choice, value)
223 |
224 | case "mapStringString":
225 | value := optionName + "value"
226 | fmt.Fprintf(w, " %s\n", choice, value)
227 |
228 | default:
229 | fmt.Fprintf(w, " --%s\n", o.Name)
230 | }
231 | }
232 |
233 | func (op *Option) AsDocbookDetails(w io.Writer, config *ToCOption) {
234 |
235 | var o Option
236 | copier.Copy(&o, op)
237 |
238 | if config.Type != nil {
239 | o.Type = *config.Type
240 | }
241 | if config.Usage != nil {
242 | o.Usage = *config.Usage
243 | }
244 | if config.Shorthand != nil {
245 | o.Shorthand = *config.Shorthand
246 | }
247 | if config.Default != nil {
248 | o.DefaultValue = *config.Default
249 | }
250 |
251 | fmt.Fprintf(w, " \n")
252 | fmt.Fprintf(w, " ")
253 |
254 | value := "--" + o.Name
255 | if len(o.Shorthand) > 0 {
256 | value = "-" + o.Shorthand + " | " + value
257 | }
258 | fmt.Fprint(w, value)
259 |
260 | var def string
261 | if len(o.DefaultValue) > 0 && o.DefaultValue != "[]" {
262 | def = fmt.Sprintf(", defaults to %s", o.DefaultValue)
263 | }
264 | fmt.Fprintf(w, " (%s%s)\n", o.Type, def)
265 | fmt.Fprintf(w, " %s\n", escapeXml(o.Usage))
266 | fmt.Fprintf(w, " \n")
267 | }
268 |
269 | func escapeXml(s string) string {
270 | var b []byte
271 | buf := bytes.NewBuffer(b)
272 | xml.EscapeText(buf, []byte(s))
273 | return buf.String()
274 | }
275 |
--------------------------------------------------------------------------------
/generators/gen.go:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2016 The Kubernetes Authors.
3 | Copyright 2019 Philippe Martin
4 |
5 | Licensed under the Apache License, Version 2.0 (the "License");
6 | you may not use this file except in compliance with the License.
7 | You may obtain a copy of the License at
8 |
9 | http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 | */
17 |
18 | package generators
19 |
20 | import (
21 | "bufio"
22 | "flag"
23 | "fmt"
24 | "io"
25 | "io/ioutil"
26 | "os"
27 | "path/filepath"
28 |
29 | "gopkg.in/yaml.v2"
30 | )
31 |
32 | var KubernetesVersion = flag.String("kubernetes-version", "", "Version of Kubernetes to generate docs for.")
33 |
34 | var GenKubectlDir = flag.String("gen-kubectl-dir", "generators", "Directory containing kubectl files")
35 |
36 | var ShowUsage = flag.Bool("show-usage", false, "Show original usage (for debugging)")
37 |
38 | func getTocFile() string {
39 | return filepath.Join(*GenKubectlDir, *KubernetesVersion, "toc.yaml")
40 | }
41 |
42 | func getStaticIncludesDir() string {
43 | return filepath.Join(*GenKubectlDir, *KubernetesVersion, "static_includes")
44 | }
45 |
46 | func AsDocbook() {
47 |
48 | f, err := os.Create("build/index.xml")
49 | if err != nil {
50 | panic(err)
51 | }
52 | defer f.Close()
53 |
54 | fmt.Fprintf(f, `
55 |
57 |
58 |
59 | Kubectl Reference
60 |
61 | v1.19
62 |
63 | By the Kubernetes Authors
64 |
65 | Edited and published by Philippe Martin
66 |
67 |
68 | 2020
69 |
70 | The Kubernetes Authors
71 |
72 |
73 |
74 | Permission is granted to copy, distribute and/or modify this
75 | document under the terms of the Apache License version 2. A copy of the
76 | license is included in .
77 |
78 |
79 |
80 | The tool used to generate this document is available at
81 | https://github.com/feloy/kubectl-reference
82 |
83 |
84 | `)
85 |
86 | spec := GetSpec()
87 |
88 | toc := ToC{}
89 | if len(getTocFile()) < 1 {
90 | fmt.Printf("Must specify --toc-file.\n")
91 | os.Exit(2)
92 | }
93 |
94 | contents, err := ioutil.ReadFile(getTocFile())
95 | if err != nil {
96 | fmt.Printf("Failed to read yaml file %s: %v", getTocFile(), err)
97 | }
98 |
99 | err = yaml.Unmarshal(contents, &toc)
100 | if err != nil {
101 | fmt.Println(err)
102 | os.Exit(1)
103 | }
104 |
105 | for _, category := range toc.Categories {
106 | fmt.Fprintf(f, " %s\n", category.Name)
107 |
108 | for _, tocCommand := range category.Commands {
109 | command := spec.GetCommand(tocCommand.Name)
110 | if command == nil {
111 | fmt.Printf("command %s not found", tocCommand.Name)
112 | os.Exit(1)
113 | }
114 | command.AsDocbook(f, tocCommand)
115 | }
116 | fmt.Fprintf(f, ``)
117 | }
118 |
119 | addLicense(f)
120 |
121 | fmt.Fprintf(f, ``)
122 | }
123 |
124 | func addLicense(w io.Writer) {
125 | f, err := os.Open("./static/license.xml")
126 | if err != nil {
127 | panic(err)
128 | }
129 | defer f.Close()
130 |
131 | scanner := bufio.NewScanner(f)
132 |
133 | for scanner.Scan() {
134 | w.Write(scanner.Bytes())
135 | w.Write([]byte("\n"))
136 | }
137 | }
138 |
--------------------------------------------------------------------------------
/generators/read_cmd.go:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2016 The Kubernetes Authors.
3 | Copyright 2019 Philippe Martin
4 |
5 | Licensed under the Apache License, Version 2.0 (the "License");
6 | you may not use this file except in compliance with the License.
7 | You may obtain a copy of the License at
8 |
9 | http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 | */
17 |
18 | package generators
19 |
20 | import (
21 | // "io/ioutil"
22 | // "os"
23 |
24 | "sort"
25 | "strings"
26 |
27 | "github.com/spf13/cobra"
28 | "github.com/spf13/pflag"
29 |
30 | "k8s.io/kubectl/pkg/cmd"
31 | // cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
32 | )
33 |
34 | func GetSpec() KubectlSpec {
35 | // Initialize a kubectl command that we can use to get the help documentation
36 | kubectl := cmd.NewDefaultKubectlCommand()
37 |
38 | // Create the structural representation
39 | return NewKubectlSpec(kubectl)
40 | }
41 |
42 | func NewKubectlSpec(c *cobra.Command) KubectlSpec {
43 | return KubectlSpec{
44 | TopLevelCommandGroups: []TopLevelCommands{NewTopLevelCommands(c.Commands())},
45 | }
46 | }
47 |
48 | func NewTopLevelCommands(cs []*cobra.Command) TopLevelCommands {
49 | tlc := TopLevelCommands{}
50 | for _, c := range cs {
51 | tlc.Commands = append(tlc.Commands, NewTopLevelCommand(c))
52 | }
53 | sort.Sort(tlc)
54 | return tlc
55 | }
56 |
57 | func NewTopLevelCommand(c *cobra.Command) TopLevelCommand {
58 | result := TopLevelCommand{
59 | MainCommand: NewCommand(c, ""),
60 | }
61 | for _, sub := range c.Commands() {
62 | result.SubCommands = append(result.SubCommands, NewSubCommands(sub, c.Name())...)
63 | }
64 | sort.Sort(result.SubCommands)
65 | return result
66 | }
67 |
68 | // Parse the Options
69 | func NewOptions(flags *pflag.FlagSet) Options {
70 | result := Options{}
71 | flags.VisitAll(func(flag *pflag.Flag) {
72 | opt := &Option{
73 | Name: flag.Name,
74 | Shorthand: flag.Shorthand,
75 | DefaultValue: flag.DefValue,
76 | Usage: flag.Usage,
77 | Type: flag.Value.Type(),
78 | }
79 | result = append(result, opt)
80 | })
81 | return result
82 | }
83 |
84 | // Parse the Commands
85 | func NewSubCommands(c *cobra.Command, path string) Commands {
86 | subCommands := Commands{NewCommand(c, path)}
87 | for _, subCommand := range c.Commands() {
88 | subCommands = append(subCommands, NewSubCommands(subCommand, path+"/"+c.Name())...)
89 | }
90 | return subCommands
91 | }
92 |
93 | func NewCommand(c *cobra.Command, path string) *Command {
94 | return &Command{
95 | Name: c.Name(),
96 | Path: path,
97 | Description: c.Long,
98 | Synopsis: c.Short,
99 | Examples: SplitExamples(c.Example),
100 | Options: NewOptions(c.NonInheritedFlags()),
101 | InheritedOptions: NewOptions(c.InheritedFlags()),
102 | Usage: c.Use,
103 | }
104 | }
105 |
106 | func (a Options) Len() int { return len(a) }
107 | func (a Options) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
108 | func (a Options) Less(i, j int) bool {
109 | return a[i].Name < a[j].Name
110 | }
111 |
112 | func (a TopLevelCommands) Len() int { return len(a.Commands) }
113 | func (a TopLevelCommands) Swap(i, j int) { a.Commands[i], a.Commands[j] = a.Commands[j], a.Commands[i] }
114 | func (a TopLevelCommands) Less(i, j int) bool {
115 | return a.Commands[i].MainCommand.Path < a.Commands[j].MainCommand.Path
116 | }
117 |
118 | func (a Commands) Len() int { return len(a) }
119 | func (a Commands) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
120 | func (a Commands) Less(i, j int) bool {
121 | return a[i].Path < a[j].Path
122 | }
123 |
124 | const (
125 | start = iota
126 | title
127 | content
128 | )
129 |
130 | func SplitExamples(examples string) (result []Example) {
131 | lines := strings.Split(examples, "\n")
132 | pos := start
133 | currentExample := Example{}
134 | for _, line := range lines {
135 | line = escapeXml(strings.Trim(line, " "))
136 | if len(line) == 0 {
137 | continue
138 | }
139 |
140 | if line[0] == '#' {
141 | if pos == title {
142 | line = strings.TrimLeft(line, "# ")
143 | currentExample.Title += "\n " + line
144 | } else {
145 | if len(currentExample.Title) > 0 || len(currentExample.Content) > 0 {
146 | result = append(result, currentExample)
147 | }
148 | currentExample = Example{}
149 | line = strings.TrimLeft(line, "# ")
150 | currentExample.Title = line
151 | pos = title
152 | }
153 | } else {
154 | if pos == content {
155 | currentExample.Content += "\n" + line
156 | } else {
157 | currentExample.Content += line
158 | pos = content
159 | }
160 | }
161 | }
162 | if len(currentExample.Title) > 0 || len(currentExample.Content) > 0 {
163 | result = append(result, currentExample)
164 | }
165 | return
166 | }
167 |
--------------------------------------------------------------------------------
/generators/toc.go:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2019 Philippe Martin.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 | package generators
17 |
18 | import (
19 | "fmt"
20 | "os"
21 | )
22 |
23 | type ToC struct {
24 | Categories []*Category `yaml:",omitempty"`
25 | }
26 |
27 | type Category struct {
28 | Name string `yaml:",omitempty"`
29 | Commands []*ToCCommand `yaml:",omitempty"`
30 | Include string `yaml:",omitempty"`
31 | }
32 |
33 | type ToCCommand struct {
34 | Name string `yaml:",omitempty"`
35 | Usage string `yaml:",omitempty"`
36 | Args []Arg `yaml:",omitempty"`
37 | OptionsGroups []OptionsGroup `yaml:"optionsgroups,omitempty"`
38 | }
39 |
40 | type Arg struct {
41 | Name string `yaml:",omitempty"`
42 | End bool `yaml:",omitempty"`
43 | Choice *string `yaml:",omitempty"`
44 | Rep *string `yaml:",omitempty"`
45 | }
46 |
47 | type OptionsGroup struct {
48 | Name string `yaml:",omitempty"`
49 | Options []ToCOption `yaml:",omitempty"`
50 | }
51 |
52 | type ToCOption struct {
53 | Name string `yaml:",omitempty"`
54 | Required bool `yaml:",omitempty"`
55 | Type *string `yaml:",omitempty"`
56 | Usage *string `yaml:",omitempty"`
57 | Shorthand *string `yaml:",omitempty"`
58 | Default *string `yaml:",omitempty"`
59 | }
60 |
61 | func (o *ToC) GetAllCommandNames() (commands []string) {
62 | for _, category := range o.Categories {
63 | for _, command := range category.Commands {
64 | commands = append(commands, command.Name)
65 | }
66 | }
67 | return
68 | }
69 |
70 | func (o *ToCCommand) GetAllOptionNames() (options []string) {
71 | for _, group := range o.OptionsGroups {
72 | for _, option := range group.Options {
73 | options = append(options, option.Name)
74 | }
75 | }
76 | return
77 | }
78 |
79 | func (o *ToC) AddMissingCommands(spec *KubectlSpec) {
80 |
81 | commandsInToC := map[string]struct{}{}
82 |
83 | for _, c := range o.GetAllCommandNames() {
84 | commandsInToC[c] = struct{}{}
85 | }
86 |
87 | categoryOthers := Category{
88 | Name: "Other commands",
89 | }
90 |
91 | for _, c := range spec.GetAllCommandNames() {
92 | if _, found := commandsInToC[c]; !found {
93 | fmt.Fprintf(os.Stderr, "command %s not found\n", c)
94 | categoryOthers.Commands = append(categoryOthers.Commands, &ToCCommand{
95 | Name: c,
96 | })
97 | }
98 | }
99 |
100 | if len(categoryOthers.Commands) > 0 {
101 | o.Categories = append(o.Categories, &categoryOthers)
102 | }
103 |
104 | }
105 |
106 | func (o *ToC) AddMissingOptions(spec *KubectlSpec) {
107 | for _, cats := range o.Categories {
108 | for _, command := range cats.Commands {
109 | cmd := spec.GetCommand(command.Name)
110 | if cmd == nil {
111 | fmt.Fprintln(os.Stderr, command.Name)
112 | continue
113 | }
114 | command.AddMissingOptions(cmd)
115 | }
116 | }
117 | }
118 |
119 | func (o *ToC) AddMissingUsages(spec *KubectlSpec) {
120 | for _, cats := range o.Categories {
121 | for _, command := range cats.Commands {
122 | cmd := spec.GetCommand(command.Name)
123 | if cmd == nil {
124 | fmt.Fprintln(os.Stderr, command.Name)
125 | continue
126 | }
127 | command.AddMissingUsage(cmd)
128 | }
129 | }
130 | }
131 |
132 | func (o *ToCCommand) AddMissingOptions(spec *Command) {
133 | optionsInToC := map[string]struct{}{}
134 | for _, opt := range o.GetAllOptionNames() {
135 | optionsInToC[opt] = struct{}{}
136 | }
137 |
138 | newGroup := OptionsGroup{
139 | Name: "Other options",
140 | }
141 |
142 | for _, opt := range spec.GetAllOptionNames() {
143 | if _, found := optionsInToC[opt]; !found {
144 | fmt.Fprintf(os.Stderr, "option %s not found in %s\n", opt, o.Name)
145 | newGroup.Options = append(newGroup.Options, ToCOption{
146 | Name: opt,
147 | })
148 | }
149 | }
150 |
151 | if len(newGroup.Options) > 0 {
152 | o.OptionsGroups = append(o.OptionsGroups, newGroup)
153 | }
154 | }
155 |
156 | func (o *ToCCommand) AddMissingUsage(spec *Command) {
157 | if spec == nil {
158 | return
159 | }
160 | o.Usage = spec.Usage
161 | }
162 |
--------------------------------------------------------------------------------
/generators/types.go:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2016 The Kubernetes Authors.
3 | Copyright 2019 Philippe Martin
4 |
5 | Licensed under the Apache License, Version 2.0 (the "License");
6 | you may not use this file except in compliance with the License.
7 | You may obtain a copy of the License at
8 |
9 | http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 | */
17 |
18 | package generators
19 |
20 | type KubectlSpec struct {
21 | TopLevelCommandGroups []TopLevelCommands `yaml:",omitempty"`
22 | }
23 |
24 | func (o *KubectlSpec) GetCommand(name string) *Command {
25 | for _, tlCommands := range o.TopLevelCommandGroups {
26 | for _, command := range tlCommands.Commands {
27 | if command.MainCommand.Name == name {
28 | return command.MainCommand
29 | }
30 | for _, sub := range command.SubCommands {
31 | if sub.Path+"/"+sub.Name == name {
32 | return sub
33 | }
34 | }
35 | }
36 | }
37 | return nil
38 | }
39 |
40 | func (o *KubectlSpec) GetAllCommandNames() (commands []string) {
41 | for _, tlCommands := range o.TopLevelCommandGroups {
42 | for _, command := range tlCommands.Commands {
43 | commands = append(commands, command.MainCommand.Name)
44 | for _, sub := range command.SubCommands {
45 | commands = append(commands, sub.Path+"/"+sub.Name)
46 | }
47 | }
48 | }
49 | return
50 | }
51 |
52 | type TopLevelCommands struct {
53 | Group string `yaml:",omitempty"`
54 | Commands []TopLevelCommand `yaml:",omitempty"`
55 | }
56 | type TopLevelCommand struct {
57 | MainCommand *Command `yaml:",omitempty"`
58 | SubCommands Commands `yaml:",omitempty"`
59 | }
60 |
61 | type Options []*Option
62 | type Option struct {
63 | Name string `yaml:",omitempty"`
64 | Shorthand string `yaml:",omitempty"`
65 | DefaultValue string `yaml:"default_value,omitempty"`
66 | Usage string `yaml:",omitempty"`
67 | Type string `yaml:",omitempty"`
68 | }
69 |
70 | type Example struct {
71 | Title string `yaml:",omitempty"`
72 | Content string `yaml:",omitempty"`
73 | }
74 |
75 | type Commands []*Command
76 | type Command struct {
77 | Name string `yaml:",omitempty"` // done
78 | Path string `yaml:",omitempty"`
79 | Synopsis string `yaml:",omitempty"` // done -> refpurpose
80 | Description string `yaml:",omitempty"` // done -> refsection{Description}
81 | Options Options `yaml:",omitempty"`
82 | InheritedOptions Options `yaml:"inherited_options,omitempty"`
83 | Examples []Example `yaml:",omitempty"`
84 | SeeAlso []string `yaml:"see_also,omitempty"` // not used
85 | Usage string `yaml:",omitempty"` // not used
86 | }
87 |
88 | type Manifest struct {
89 | Docs []Doc `json:"docs,omitempty"`
90 | Title string `json:"title,omitempty"`
91 | Copyright string `json:"copyright,omitempty"`
92 | }
93 |
94 | type Doc struct {
95 | Filename string `json:"filename,omitempty"`
96 | }
97 |
98 | func (o *Command) GetAllOptionNames() (options []string) {
99 | for _, opt := range o.Options {
100 | options = append(options, opt.Name)
101 | }
102 | return
103 | }
104 |
105 | func (o *Command) GetAllInheritedOptionNames() (options []string) {
106 | for _, opt := range o.InheritedOptions {
107 | options = append(options, opt.Name)
108 | }
109 | return
110 | }
111 |
112 | func (o *Command) GetOption(name string) *Option {
113 | for _, opt := range o.Options {
114 | if opt.Name == name {
115 | return opt
116 | }
117 | }
118 | return nil
119 | }
120 |
121 | func (o *Command) GetInheritedOption(name string) *Option {
122 | for _, opt := range o.InheritedOptions {
123 | if opt.Name == name {
124 | return opt
125 | }
126 | }
127 | return nil
128 | }
129 |
--------------------------------------------------------------------------------
/generators/v1_17/toc.yaml:
--------------------------------------------------------------------------------
1 | categories:
2 | - name: GETTING STARTED
3 | commands:
4 | - name: create
5 | usage: create -f FILENAME
6 | optionsgroups:
7 | - options:
8 | - name: filename
9 | - name: kustomize
10 | - name: selector
11 | - name: Switches
12 | options:
13 | - name: recursive
14 | - name: dry-run
15 | - name: edit
16 | - name: record
17 | - name: save-config
18 | - name: windows-line-endings
19 | - options:
20 | - name: allow-missing-template-keys
21 | - name: validate
22 | - options:
23 | - name: Output
24 | options:
25 | - name: output
26 | - name: template
27 | - name: Other options
28 | options:
29 | - name: raw
30 | - name: create/clusterrole
31 | usage: clusterrole NAME --verb=verb --resource=resource.group [--resource-name=resourcename]
32 | [--dry-run]
33 | args:
34 | - name: NAME
35 | optionsgroups:
36 | - options:
37 | - name: verb
38 | required: true
39 | - name: resource
40 | required: true
41 | - options:
42 | - name: resource-name
43 | - name: non-resource-url
44 | - options:
45 | - name: aggregation-rule
46 | - name: Switches
47 | options:
48 | - name: dry-run
49 | - name: save-config
50 | - name: validate
51 | - name: allow-missing-template-keys
52 | - name: Output
53 | options:
54 | - name: output
55 | - name: template
56 | - name: create/clusterrolebinding
57 | usage: clusterrolebinding NAME --clusterrole=NAME [--user=username] [--group=groupname]
58 | [--serviceaccount=namespace:serviceaccountname] [--dry-run]
59 | args:
60 | - name: NAME
61 | optionsgroups:
62 | - options:
63 | - name: clusterrole
64 | required: true
65 | - name: user
66 | type: stringArray
67 | usage: Usernames to bind to the clusterrole
68 | - name: group
69 | - name: serviceaccount
70 | - name: Switches
71 | options:
72 | - name: dry-run
73 | - name: save-config
74 | - name: allow-missing-template-keys
75 | - name: validate
76 | - name: Output
77 | options:
78 | - name: output
79 | - name: template
80 | - name: Other options
81 | options:
82 | - name: generator
83 | - name: create/configmap
84 | usage: configmap NAME [--from-file=[key=]source] [--from-literal=key1=value1]
85 | [--dry-run]
86 | args:
87 | - name: NAME
88 | optionsgroups:
89 | - options:
90 | - name: from-env-file
91 | - name: from-file
92 | - name: from-literal
93 | - name: Switches
94 | options:
95 | - name: append-hash
96 | - name: dry-run
97 | - name: save-config
98 | - name: allow-missing-template-keys
99 | - name: validate
100 | - name: Output
101 | options:
102 | - name: output
103 | - name: template
104 | - name: Other options
105 | options:
106 | - name: generator
107 | - name: create/cronjob
108 | usage: cronjob NAME --image=image --schedule='0/5 * * * ?' -- [COMMAND] [args...]
109 | args:
110 | - name: NAME
111 | - name: --
112 | end: true
113 | - name: COMMAND
114 | end: true
115 | choice: opt
116 | - name: args
117 | end: true
118 | choice: opt
119 | rep: repeat
120 | optionsgroups:
121 | - options:
122 | - name: image
123 | required: true
124 | - name: schedule
125 | required: true
126 | - name: restart
127 | - name: Switches
128 | options:
129 | - name: dry-run
130 | - name: save-config
131 | - name: allow-missing-template-keys
132 | - name: validate
133 | - name: Output
134 | options:
135 | - name: output
136 | - name: template
137 | - name: create/deployment
138 | usage: deployment NAME --image=image [--dry-run]
139 | args:
140 | - name: NAME
141 | optionsgroups:
142 | - options:
143 | - name: image
144 | required: true
145 | - name: Switches
146 | options:
147 | - name: dry-run
148 | - name: save-config
149 | - name: allow-missing-template-keys
150 | - name: validate
151 | - name: Output
152 | options:
153 | - name: output
154 | - name: template
155 | - name: Other options
156 | options:
157 | - name: generator
158 | - name: create/job
159 | usage: job NAME --image=image [--from=cronjob/name] -- [COMMAND] [args...]
160 | args:
161 | - name: NAME
162 | - name: --
163 | end: true
164 | - name: COMMAND
165 | end: true
166 | choice: opt
167 | - name: args
168 | end: true
169 | choice: opt
170 | rep: repeat
171 | optionsgroups:
172 | - options:
173 | - name: image
174 | required: true
175 | - name: from
176 | - name: Switches
177 | options:
178 | - name: dry-run
179 | - name: save-config
180 | - name: allow-missing-template-keys
181 | - name: validate
182 | - name: Output
183 | options:
184 | - name: output
185 | - name: template
186 | - name: create/namespace
187 | usage: namespace NAME [--dry-run]
188 | args:
189 | - name: NAME
190 | optionsgroups:
191 | - name: Switches
192 | options:
193 | - name: dry-run
194 | - name: save-config
195 | - name: allow-missing-template-keys
196 | - name: validate
197 | - name: Output
198 | options:
199 | - name: output
200 | - name: template
201 | - name: Other options
202 | options:
203 | - name: generator
204 | - name: create/poddisruptionbudget
205 | usage: poddisruptionbudget NAME --selector=SELECTOR --min-available=N [--dry-run]
206 | args:
207 | - name: NAME
208 | optionsgroups:
209 | - options:
210 | - name: selector
211 | required: true
212 | - name: min-available
213 | required: true
214 | - name: max-unavailable
215 | - name: Switches
216 | options:
217 | - name: dry-run
218 | - name: save-config
219 | - name: allow-missing-template-keys
220 | - name: validate
221 | - name: Output
222 | options:
223 | - name: output
224 | - name: template
225 | - name: Other options
226 | options:
227 | - name: generator
228 | - name: create/priorityclass
229 | usage: priorityclass NAME --value=VALUE --global-default=BOOL [--dry-run]
230 | args:
231 | - name: NAME
232 | optionsgroups:
233 | - options:
234 | - name: value
235 | required: true
236 | - name: global-default
237 | - name: description
238 | - name: preemption-policy
239 | - name: Switches
240 | options:
241 | - name: dry-run
242 | - name: save-config
243 | - name: allow-missing-template-keys
244 | - name: validate
245 | - name: Output
246 | options:
247 | - name: output
248 | - name: template
249 | - name: Other options
250 | options:
251 | - name: generator
252 | - name: create/quota
253 | usage: quota NAME [--hard=key1=value1,key2=value2] [--scopes=Scope1,Scope2] [--dry-run=bool]
254 | args:
255 | - name: NAME
256 | optionsgroups:
257 | - options:
258 | - name: hard
259 | - name: scopes
260 | - name: Switches
261 | options:
262 | - name: dry-run
263 | - name: save-config
264 | - name: allow-missing-template-keys
265 | - name: validate
266 | - name: Output
267 | options:
268 | - name: output
269 | - name: template
270 | - name: Other options
271 | options:
272 | - name: generator
273 | - name: create/role
274 | usage: role NAME --verb=verb --resource=resource.group/subresource [--resource-name=resourcename]
275 | [--dry-run]
276 | args:
277 | - name: NAME
278 | optionsgroups:
279 | - options:
280 | - name: verb
281 | required: true
282 | - name: resource
283 | required: true
284 | - options:
285 | - name: resource-name
286 | - name: Switches
287 | options:
288 | - name: dry-run
289 | - name: save-config
290 | - name: allow-missing-template-keys
291 | - name: validate
292 | - name: Output
293 | options:
294 | - name: output
295 | - name: template
296 | - name: create/rolebinding
297 | usage: rolebinding NAME --clusterrole=NAME|--role=NAME [--user=username] [--group=groupname]
298 | [--serviceaccount=namespace:serviceaccountname] [--dry-run]
299 | args:
300 | - name: NAME
301 | optionsgroups:
302 | - options:
303 | - name: clusterrole
304 | - name: role
305 | - options:
306 | - name: user
307 | - name: group
308 | - name: serviceaccount
309 | - name: Switches
310 | options:
311 | - name: dry-run
312 | - name: save-config
313 | - name: allow-missing-template-keys
314 | - name: validate
315 | - name: Output
316 | options:
317 | - name: output
318 | - name: template
319 | - name: Other options
320 | options:
321 | - name: generator
322 | - name: create/secret
323 | usage: secret
324 | - name: create/secret/generic
325 | usage: generic NAME [--type=string] [--from-file=[key=]source] [--from-literal=key1=value1]
326 | [--dry-run]
327 | args:
328 | - name: NAME
329 | optionsgroups:
330 | - options:
331 | - name: from-env-file
332 | - name: from-file
333 | - name: from-literal
334 | - options:
335 | - name: type
336 | - name: Switches
337 | options:
338 | - name: append-hash
339 | - name: dry-run
340 | - name: save-config
341 | - options:
342 | - name: allow-missing-template-keys
343 | - name: validate
344 | - name: Output
345 | options:
346 | - name: output
347 | - name: template
348 | - name: Other options
349 | options:
350 | - name: generator
351 | - name: create/secret/docker-registry
352 | usage: docker-registry NAME --docker-username=user --docker-password=password
353 | --docker-email=email [--docker-server=string] [--from-literal=key1=value1] [--dry-run]
354 | args:
355 | - name: NAME
356 | optionsgroups:
357 | - options:
358 | - name: docker-username
359 | required: true
360 | - name: docker-password
361 | required: true
362 | - options:
363 | - name: docker-email
364 | required: true
365 | - name: docker-server
366 | - options:
367 | - name: from-file
368 | - name: Switches
369 | options:
370 | - name: append-hash
371 | - name: dry-run
372 | - name: save-config
373 | - options:
374 | - name: allow-missing-template-keys
375 | - name: validate
376 | - name: Output
377 | options:
378 | - name: output
379 | - name: template
380 | - name: Other options
381 | options:
382 | - name: generator
383 | - name: create/secret/tls
384 | usage: tls NAME --cert=path/to/cert/file --key=path/to/key/file [--dry-run]
385 | args:
386 | - name: NAME
387 | optionsgroups:
388 | - options:
389 | - name: cert
390 | required: true
391 | - name: key
392 | required: true
393 | - name: Switches
394 | options:
395 | - name: append-hash
396 | - name: dry-run
397 | - name: save-config
398 | - name: allow-missing-template-keys
399 | - name: validate
400 | - name: Output
401 | options:
402 | - name: output
403 | - name: template
404 | - name: Other options
405 | options:
406 | - name: generator
407 | - name: create/service
408 | usage: service
409 | - name: create/service/clusterip
410 | usage: clusterip NAME [--tcp=:] [--dry-run]
411 | args:
412 | - name: NAME
413 | optionsgroups:
414 | - options:
415 | - name: tcp
416 | - name: clusterip
417 | - name: Switches
418 | options:
419 | - name: dry-run
420 | - name: save-config
421 | - name: allow-missing-template-keys
422 | - name: validate
423 | - name: Output
424 | options:
425 | - name: output
426 | - name: template
427 | - name: Other options
428 | options:
429 | - name: generator
430 | - name: create/service/externalname
431 | usage: externalname NAME --external-name external.name [--dry-run]
432 | args:
433 | - name: NAME
434 | optionsgroups:
435 | - options:
436 | - name: external-name
437 | required: true
438 | - name: tcp
439 | - name: Switches
440 | options:
441 | - name: dry-run
442 | - name: save-config
443 | - name: allow-missing-template-keys
444 | - name: validate
445 | - name: Output
446 | options:
447 | - name: output
448 | - name: template
449 | - name: Other options
450 | options:
451 | - name: generator
452 | - name: create/service/loadbalancer
453 | usage: loadbalancer NAME [--tcp=port:targetPort] [--dry-run]
454 | args:
455 | - name: NAME
456 | optionsgroups:
457 | - options:
458 | - name: tcp
459 | - name: Switches
460 | options:
461 | - name: dry-run
462 | - name: save-config
463 | - name: allow-missing-template-keys
464 | - name: validate
465 | - name: Output
466 | options:
467 | - name: output
468 | - name: template
469 | - name: Other options
470 | options:
471 | - name: generator
472 | - name: create/service/nodeport
473 | usage: nodeport NAME [--tcp=port:targetPort] [--dry-run]
474 | args:
475 | - name: NAME
476 | optionsgroups:
477 | - options:
478 | - name: tcp
479 | - name: node-port
480 | - name: Switches
481 | options:
482 | - name: dry-run
483 | - name: save-config
484 | - name: allow-missing-template-keys
485 | - name: validate
486 | - name: Output
487 | options:
488 | - name: output
489 | - name: template
490 | - name: Other options
491 | options:
492 | - name: generator
493 | - name: create/serviceaccount
494 | usage: serviceaccount NAME [--dry-run]
495 | args:
496 | - name: NAME
497 | optionsgroups:
498 | - name: Switches
499 | options:
500 | - name: dry-run
501 | - name: save-config
502 | - name: allow-missing-template-keys
503 | - name: validate
504 | - name: Output
505 | options:
506 | - name: output
507 | - name: template
508 | - name: Other options
509 | options:
510 | - name: generator
511 | - name: get
512 | usage: get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...]
513 | (TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...)
514 | [flags]
515 | args:
516 | - name: TYPE[.VERSION][.GROUP][/]NAME
517 | choice: opt
518 | rep: repeat
519 | optionsgroups:
520 | - options:
521 | - name: filename
522 | - name: kustomize
523 | - name: selector
524 | - name: field-selector
525 | - name: Switches
526 | options:
527 | - name: all-namespaces
528 | - name: recursive
529 | - name: watch
530 | - name: export
531 | - name: ignore-not-found
532 | - name: no-headers
533 | - name: output-watch-events
534 | - options:
535 | - name: show-kind
536 | - name: show-labels
537 | - name: use-openapi-print-columns
538 | - name: watch-only
539 | - options:
540 | - name: allow-missing-template-keys
541 | - name: server-print
542 | - name: Output
543 | options:
544 | - name: output
545 | - name: label-columns
546 | - name: sort-by
547 | - name: template
548 | - name: Other options
549 | - options:
550 | - name: chunk-size
551 | - name: raw
552 | - name: run
553 | usage: run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas]
554 | [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]
555 | args:
556 | - name: NAME
557 | - name: --
558 | end: true
559 | - name: COMMAND
560 | end: true
561 | choice: opt
562 | - name: args
563 | end: true
564 | choice: opt
565 | rep: repeat
566 | optionsgroups:
567 | - options:
568 | - name: filename
569 | - name: kustomize
570 | - name: Resource attributes
571 | options:
572 | - name: replicas
573 | - name: labels
574 | - name: grace-period
575 | - name: schedule
576 | - options:
577 | - name: pod-running-timeout
578 | - name: restart
579 | - name: serviceaccount
580 | - name: Container attributes
581 | options:
582 | - name: image
583 | - name: image-pull-policy
584 | - name: env
585 | - options:
586 | - name: port
587 | - name: hostport
588 | - name: limits
589 | - name: requests
590 | - name: Switches
591 | options:
592 | - name: recursive
593 | - name: stdin
594 | - name: tty
595 | - name: attach
596 | - name: command
597 | - name: dry-run
598 | - name: expose
599 | - name: force
600 | - options:
601 | - name: leave-stdin-open
602 | - name: quiet
603 | - name: record
604 | - name: rm
605 | - name: save-config
606 | - name: wait
607 | - options:
608 | - name: allow-missing-template-keys
609 | - name: cascade
610 | - name: Other options
611 | options:
612 | - name: output
613 | - name: template
614 | - options:
615 | - name: generator
616 | - name: service-generator
617 | - options:
618 | - name: overrides
619 | - name: service-overrides
620 | - options:
621 | - name: timeout
622 | - name: expose
623 | usage: expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP]
624 | [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service]
625 | [--type=type]
626 | optionsgroups:
627 | - options:
628 | - name: filename
629 | - name: kustomize
630 | - name: Service attributes
631 | options:
632 | - name: name
633 | - name: labels
634 | - name: selector
635 | - name: type
636 | - options:
637 | - name: cluster-ip
638 | - name: external-ip
639 | - name: load-balancer-ip
640 | - options:
641 | - name: port
642 | - name: target-port
643 | - name: container-port
644 | - options:
645 | - name: protocol
646 | - name: session-affinity
647 | - name: Switches
648 | options:
649 | - name: recursive
650 | - name: dry-run
651 | - name: record
652 | - name: save-config
653 | - name: allow-missing-template-keys
654 | - name: Other options
655 | options:
656 | - name: generator
657 | - name: overrides
658 | - options:
659 | - name: output
660 | - name: template
661 | - name: delete
662 | usage: delete ([-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --all)])
663 | args:
664 | - name: TYPE[,TYPE...]
665 | choice: opt
666 | - name: NAME
667 | choice: opt
668 | rep: repeat
669 | optionsgroups:
670 | - name: Selection
671 | options:
672 | - name: filename
673 | - name: kustomize
674 | - name: selector
675 | - name: field-selector
676 | - name: Switches
677 | options:
678 | - name: all-namespaces
679 | - name: recursive
680 | - name: all
681 | - name: force
682 | - name: ignore-not-found
683 | - name: now
684 | - name: cascade
685 | - name: wait
686 | - name: Other options
687 | options:
688 | - name: grace-period
689 | - name: timeout
690 | - name: output
691 | - name: raw
692 | include: _getting_started.md
693 | - name: APP MANAGEMENT
694 | commands:
695 | - name: apply
696 | usage: apply (-f FILENAME | -k DIRECTORY)
697 | optionsgroups:
698 | - options:
699 | - name: filename
700 | - name: kustomize
701 | - name: selector
702 | - name: Switches
703 | options:
704 | - name: recursive
705 | - name: all
706 | - name: dry-run
707 | - name: force
708 | - name: force-conflicts
709 | - name: prune
710 | - name: record
711 | - options:
712 | - name: server-dry-run
713 | - name: server-side
714 | - name: wait
715 | - options:
716 | - name: allow-missing-template-keys
717 | - name: cascade
718 | - name: openapi-patch
719 | - options:
720 | - name: overwrite
721 | - name: validate
722 | - name: Output
723 | options:
724 | - name: output
725 | - name: template
726 | - name: Other options
727 | options:
728 | - name: field-manager
729 | - name: grace-period
730 | - name: prune-whitelist
731 | - options:
732 | - name: timeout
733 | - name: apply/edit-last-applied
734 | usage: edit-last-applied (RESOURCE/NAME | -f FILENAME)
735 | args:
736 | - name: RESOURCE/NAME
737 | optionsgroups:
738 | - options:
739 | - name: filename
740 | - name: kustomize
741 | - name: Switches
742 | options:
743 | - name: recursive
744 | - name: record
745 | - name: windows-line-endings
746 | - name: allow-missing-template-keys
747 | - name: Output
748 | options:
749 | - name: output
750 | - name: template
751 | - name: apply/set-last-applied
752 | usage: set-last-applied -f FILENAME
753 | optionsgroups:
754 | - options:
755 | - name: filename
756 | - name: Switches
757 | options:
758 | - name: create-annotation
759 | - name: dry-run
760 | - name: allow-missing-template-keys
761 | - name: Output
762 | options:
763 | - name: output
764 | - name: template
765 | - name: apply/view-last-applied
766 | usage: view-last-applied (TYPE [NAME | -l label] | TYPE/NAME | -f FILENAME)
767 | args:
768 | - name: TYPE[/]NAME
769 | optionsgroups:
770 | - options:
771 | - name: filename
772 | - name: kustomize
773 | - name: selector
774 | - name: Switches
775 | options:
776 | - name: recursive
777 | - name: all
778 | - name: Output
779 | options:
780 | - name: output
781 | - name: annotate
782 | usage: annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N
783 | [--resource-version=version]
784 | args:
785 | - name: TYPE
786 | - name: NAME
787 | - name: key=val
788 | end: true
789 | rep: repeat
790 | optionsgroups:
791 | - options:
792 | - name: filename
793 | - name: kustomize
794 | - name: selector
795 | - name: field-selector
796 | - name: Switches
797 | options:
798 | - name: recursive
799 | - name: all
800 | - name: dry-run
801 | - name: local
802 | - name: overwrite
803 | - name: record
804 | - options:
805 | - name: allow-missing-template-keys
806 | - name: Other options
807 | options:
808 | - name: resource-version
809 | - name: output
810 | - name: template
811 | - name: autoscale
812 | usage: autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS
813 | [--cpu-percent=CPU]
814 | args:
815 | - name: TYPE[/]NAME
816 | optionsgroups:
817 | - options:
818 | - name: name
819 | - name: min
820 | - name: max
821 | - name: cpu-percent
822 | - name: Selection
823 | options:
824 | - name: filename
825 | - name: kustomize
826 | - name: Switches
827 | options:
828 | - name: recursive
829 | - name: dry-run
830 | - name: record
831 | - name: save-config
832 | - name: allow-missing-template-keys
833 | - name: Output
834 | options:
835 | - name: output
836 | - name: template
837 | - name: Other options
838 | options:
839 | - name: generator
840 | - name: convert
841 | usage: convert -f FILENAME
842 | optionsgroups:
843 | - options:
844 | - name: filename
845 | - name: kustomize
846 | - name: output-version
847 | - name: Switches
848 | options:
849 | - name: recursive
850 | - name: allow-missing-template-keys
851 | - name: local
852 | - name: validate
853 | - name: Output
854 | options:
855 | - name: output
856 | - name: template
857 | - name: diff
858 | usage: diff -f FILENAME
859 | optionsgroups:
860 | - options:
861 | - name: filename
862 | - name: kustomize
863 | - name: Switches
864 | options:
865 | - name: recursive
866 | - name: force-conflicts
867 | - name: server-side
868 | - name: Other options
869 | options:
870 | - name: field-manager
871 | - name: edit
872 | usage: edit (RESOURCE/NAME | -f FILENAME)
873 | args:
874 | - name: RESOURCE/NAME
875 | optionsgroups:
876 | - options:
877 | - name: filename
878 | - name: kustomize
879 | - name: Switches
880 | options:
881 | - name: recursive
882 | - name: output-patch
883 | - name: record
884 | - name: save-config
885 | - name: windows-line-endings
886 | - options:
887 | - name: allow-missing-template-keys
888 | - name: validate
889 | - name: Output
890 | options:
891 | - name: output
892 | - name: template
893 | - name: label
894 | usage: label [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N
895 | [--resource-version=version]
896 | args:
897 | - name: TYPE
898 | - name: NAME
899 | - name: key=val
900 | end: true
901 | rep: repeat
902 | optionsgroups:
903 | - options:
904 | - name: filename
905 | - name: kustomize
906 | - options:
907 | - name: selector
908 | - name: field-selector
909 | - name: resource-version
910 | - name: Switches
911 | options:
912 | - name: recursive
913 | - name: all
914 | - name: dry-run
915 | - name: list
916 | - name: local
917 | - name: overwrite
918 | - name: record
919 | - options:
920 | - name: allow-missing-template-keys
921 | - name: Output
922 | options:
923 | - name: output
924 | - name: template
925 | - name: patch
926 | usage: patch (-f FILENAME | TYPE NAME) -p PATCH
927 | args:
928 | - name: TYPE
929 | - name: NAME
930 | optionsgroups:
931 | - options:
932 | - name: patch
933 | - name: type
934 | - name: Selection
935 | options:
936 | - name: filename
937 | - name: kustomize
938 | - name: Switches
939 | options:
940 | - name: recursive
941 | - name: dry-run
942 | - name: local
943 | - name: record
944 | - name: allow-missing-template-keys
945 | - name: Output
946 | options:
947 | - name: output
948 | - name: template
949 | - name: replace
950 | usage: replace -f FILENAME
951 | optionsgroups:
952 | - options:
953 | - name: filename
954 | - name: kustomize
955 | - name: Switches
956 | options:
957 | - name: recursive
958 | - name: force
959 | - name: save-config
960 | - name: wait
961 | - options:
962 | - name: allow-missing-template-keys
963 | - name: cascade
964 | - name: validate
965 | - name: Output
966 | options:
967 | - name: output
968 | - name: template
969 | - name: Other options
970 | options:
971 | - name: grace-period
972 | - name: raw
973 | - name: timeout
974 | - name: rollout
975 | usage: rollout SUBCOMMAND
976 | - name: rollout/history
977 | usage: history (TYPE NAME | TYPE/NAME) [flags]
978 | args:
979 | - name: TYPE[/]NAME
980 | optionsgroups:
981 | - options:
982 | - name: filename
983 | - name: kustomize
984 | - name: revision
985 | - name: Switches
986 | options:
987 | - name: recursive
988 | - name: allow-missing-template-keys
989 | - name: Output
990 | options:
991 | - name: output
992 | - name: template
993 | - name: rollout/pause
994 | usage: pause RESOURCE
995 | args:
996 | - name: RESOURCE
997 | optionsgroups:
998 | - options:
999 | - name: filename
1000 | - name: kustomize
1001 | - name: Switches
1002 | options:
1003 | - name: recursive
1004 | - name: allow-missing-template-keys
1005 | - name: Output
1006 | options:
1007 | - name: output
1008 | - name: template
1009 | - name: rollout/restart
1010 | usage: restart RESOURCE
1011 | args:
1012 | - name: RESOURCE
1013 | optionsgroups:
1014 | - options:
1015 | - name: filename
1016 | - name: kustomize
1017 | - name: Switches
1018 | options:
1019 | - name: recursive
1020 | - name: allow-missing-template-keys
1021 | - name: Output
1022 | options:
1023 | - name: output
1024 | - name: template
1025 | - name: rollout/resume
1026 | usage: resume RESOURCE
1027 | args:
1028 | - name: RESOURCE
1029 | optionsgroups:
1030 | - options:
1031 | - name: filename
1032 | - name: kustomize
1033 | - name: Switches
1034 | options:
1035 | - name: recursive
1036 | - name: allow-missing-template-keys
1037 | - name: Output
1038 | options:
1039 | - name: output
1040 | - name: template
1041 | - name: rollout/status
1042 | usage: status (TYPE NAME | TYPE/NAME) [flags]
1043 | args:
1044 | - name: TYPE[/]NAME
1045 | optionsgroups:
1046 | - options:
1047 | - name: filename
1048 | - name: kustomize
1049 | - name: revision
1050 | - name: timeout
1051 | - name: Switches
1052 | options:
1053 | - name: recursive
1054 | - name: watch
1055 | - name: rollout/undo
1056 | usage: undo (TYPE NAME | TYPE/NAME) [flags]
1057 | args:
1058 | - name: TYPE[/]NAME
1059 | optionsgroups:
1060 | - options:
1061 | - name: filename
1062 | - name: kustomize
1063 | - name: to-revision
1064 | - name: Switches
1065 | options:
1066 | - name: recursive
1067 | - name: dry-run
1068 | - name: allow-missing-template-keys
1069 | - name: Output
1070 | options:
1071 | - name: output
1072 | - name: template
1073 | - name: scale
1074 | usage: scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT
1075 | (-f FILENAME | TYPE NAME)
1076 | args:
1077 | - name: TYPE
1078 | - name: NAME
1079 | optionsgroups:
1080 | - options:
1081 | - name: replicas
1082 | required: true
1083 | - name: current-replicas
1084 | - name: timeout
1085 | - name: Selection
1086 | options:
1087 | - name: filename
1088 | - name: kustomize
1089 | - name: selector
1090 | - name: resource-version
1091 | - name: Switches
1092 | options:
1093 | - name: recursive
1094 | - name: all
1095 | - name: record
1096 | - name: allow-missing-template-keys
1097 | - name: Output
1098 | options:
1099 | - name: output
1100 | - name: template
1101 | - name: set
1102 | usage: set SUBCOMMAND
1103 | - name: set/env
1104 | usage: env RESOURCE/NAME KEY_1=VAL_1 ... KEY_N=VAL_N
1105 | args:
1106 | - name: RESOURCE/NAME
1107 | - name: key=val
1108 | rep: repeat
1109 | optionsgroups:
1110 | - options:
1111 | - name: env
1112 | - name: from
1113 | - name: keys
1114 | - name: prefix
1115 | - name: Selections
1116 | options:
1117 | - name: filename
1118 | - name: kustomize
1119 | - name: selector
1120 | - name: containers
1121 | - name: Switches
1122 | options:
1123 | - name: recursive
1124 | - name: all
1125 | - name: dry-run
1126 | - name: list
1127 | - name: local
1128 | - name: resolve
1129 | - options:
1130 | - name: allow-missing-template-keys
1131 | - name: overwrite
1132 | - name: Output
1133 | options:
1134 | - name: output
1135 | - name: template
1136 | - name: set/image
1137 | usage: image (-f FILENAME | TYPE NAME) CONTAINER_NAME_1=CONTAINER_IMAGE_1 ...
1138 | CONTAINER_NAME_N=CONTAINER_IMAGE_N
1139 | args:
1140 | - name: TYPE
1141 | - name: NAME
1142 | - name: containerName=image
1143 | rep: repeat
1144 | optionsgroups:
1145 | - options:
1146 | - name: filename
1147 | - name: kustomize
1148 | - name: selector
1149 | - name: Switches
1150 | options:
1151 | - name: recursive
1152 | - name: all
1153 | - name: dry-run
1154 | - name: local
1155 | - name: record
1156 | - name: allow-missing-template-keys
1157 | - name: Output
1158 | options:
1159 | - name: output
1160 | - name: template
1161 | - name: set/resources
1162 | usage: resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS]
1163 | args:
1164 | - name: TYPE
1165 | - name: NAME
1166 | optionsgroups:
1167 | - options:
1168 | - name: limits
1169 | - name: requests
1170 | - name: Selection
1171 | options:
1172 | - name: filename
1173 | - name: kustomize
1174 | - name: selector
1175 | - name: containers
1176 | - name: Switches
1177 | options:
1178 | - name: recursive
1179 | - name: all
1180 | - name: dry-run
1181 | - name: local
1182 | - name: record
1183 | - name: allow-missing-template-keys
1184 | - name: Output
1185 | options:
1186 | - name: output
1187 | - name: template
1188 | - name: set/selector
1189 | usage: selector (-f FILENAME | TYPE NAME) EXPRESSIONS [--resource-version=version]
1190 | args:
1191 | - name: TYPE
1192 | - name: NAME
1193 | - name: EXPRESSIONS
1194 | optionsgroups:
1195 | - options:
1196 | - name: filename
1197 | - name: resource-version
1198 | - name: Switches
1199 | options:
1200 | - name: all
1201 | - name: dry-run
1202 | - name: local
1203 | - name: record
1204 | - options:
1205 | - name: allow-missing-template-keys
1206 | - name: recursive
1207 | - name: Output
1208 | options:
1209 | - name: output
1210 | - name: template
1211 | - name: set/serviceaccount
1212 | usage: serviceaccount (-f FILENAME | TYPE NAME) SERVICE_ACCOUNT
1213 | args:
1214 | - name: TYPE
1215 | - name: NAME
1216 | - name: serviceAccount
1217 | optionsgroups:
1218 | - options:
1219 | - name: filename
1220 | - name: kustomize
1221 | - name: Switches
1222 | options:
1223 | - name: recursive
1224 | - name: all
1225 | - name: dry-run
1226 | - name: local
1227 | - name: record
1228 | - name: allow-missing-template-keys
1229 | - name: Output
1230 | options:
1231 | - name: output
1232 | - name: template
1233 | - name: set/subject
1234 | usage: subject (-f FILENAME | TYPE NAME) [--user=username] [--group=groupname]
1235 | [--serviceaccount=namespace:serviceaccountname] [--dry-run]
1236 | args:
1237 | - name: TYPE
1238 | - name: NAME
1239 | optionsgroups:
1240 | - options:
1241 | - name: user
1242 | type: stringArray
1243 | usage: UserUsernames to bind to the role
1244 | - name: group
1245 | - name: serviceaccount
1246 | - name: Selection
1247 | options:
1248 | - name: filename
1249 | - name: kustomize
1250 | - name: selector
1251 | - name: Switches
1252 | options:
1253 | - name: recursive
1254 | - name: all
1255 | - name: dry-run
1256 | - name: local
1257 | - name: allow-missing-template-keys
1258 | - name: Output
1259 | options:
1260 | - name: output
1261 | - name: template
1262 | - name: wait
1263 | usage: wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l
1264 | label | --all)]) [--for=delete|--for condition=available]
1265 | optionsgroups:
1266 | - options:
1267 | - name: for
1268 | - name: timeout
1269 | - name: Selection
1270 | options:
1271 | - name: filename
1272 | - name: selector
1273 | - name: field-selector
1274 | - name: Switches
1275 | options:
1276 | - name: all-namespaces
1277 | - name: all
1278 | - name: local
1279 | - name: allow-missing-template-keys
1280 | - name: recursive
1281 | - name: Output
1282 | options:
1283 | - name: output
1284 | - name: template
1285 | include: _app_management.md
1286 | - name: WORKING WITH APPS
1287 | commands:
1288 | - name: attach
1289 | usage: attach (POD | TYPE/NAME) -c CONTAINER
1290 | args:
1291 | - name: POD | TYPE/NAME
1292 | optionsgroups:
1293 | - options:
1294 | - name: container
1295 | - name: stdin
1296 | - name: tty
1297 | - name: pod-running-timeout
1298 | - name: auth
1299 | usage: auth
1300 | - name: auth/can-i
1301 | usage: can-i VERB [TYPE | TYPE/NAME | NONRESOURCEURL]
1302 | args:
1303 | - name: VERB
1304 | - name: TYPE | TYPE/NAME | NonResourceURL
1305 | choice: opt
1306 | optionsgroups:
1307 | - options:
1308 | - name: subresource
1309 | - name: all-namespaces
1310 | - name: quiet
1311 | - name: list
1312 | - name: no-headers
1313 | - name: auth/reconcile
1314 | usage: reconcile -f FILENAME
1315 | optionsgroups:
1316 | - options:
1317 | - name: filename
1318 | - name: kustomize
1319 | - options:
1320 | - name: remove-extra-permissions
1321 | - name: remove-extra-subjects
1322 | - name: Switches
1323 | options:
1324 | - name: recursive
1325 | - name: dry-run
1326 | - name: allow-missing-template-keys
1327 | - name: Output
1328 | options:
1329 | - name: output
1330 | - name: template
1331 | - name: cp
1332 | usage: cp
1333 | args:
1334 | - name: fileSpecSrc
1335 | - name: fileSpecDest
1336 | optionsgroups:
1337 | - options:
1338 | - name: container
1339 | - name: no-preserve
1340 | - name: describe
1341 | usage: describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME)
1342 | args:
1343 | - name: TYPE[/]NamePrefix
1344 | optionsgroups:
1345 | - options:
1346 | - name: filename
1347 | - name: kustomize
1348 | - name: selector
1349 | - name: Switches
1350 | options:
1351 | - name: all-namespaces
1352 | - name: recursive
1353 | - name: show-events
1354 | - name: exec
1355 | usage: exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...]
1356 | args:
1357 | - name: POD | TYPE/NAME
1358 | - name: --
1359 | end: true
1360 | - name: COMMAND
1361 | end: true
1362 | - name: args
1363 | end: true
1364 | choice: opt
1365 | rep: repeat
1366 | optionsgroups:
1367 | - options:
1368 | - name: container
1369 | - name: stdin
1370 | - name: tty
1371 | - name: pod-running-timeout
1372 | - name: logs
1373 | usage: logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]
1374 | args:
1375 | - name: POD | TYPE/NAME
1376 | optionsgroups:
1377 | - name: Selection
1378 | options:
1379 | - name: container
1380 | - name: selector
1381 | - name: Switches
1382 | options:
1383 | - name: follow
1384 | - name: previous
1385 | - name: all-containers
1386 | - name: ignore-errors
1387 | - name: insecure-skip-tls-verify-backend
1388 | - options:
1389 | - name: prefix
1390 | - name: timestamps
1391 | - name: Other options
1392 | options:
1393 | - name: limit-bytes
1394 | - name: max-log-requests
1395 | - name: pod-running-timeout
1396 | - options:
1397 | - name: since
1398 | - name: since-time
1399 | - name: tail
1400 | - name: port-forward
1401 | usage: port-forward TYPE/NAME [options] [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N]
1402 | args:
1403 | - name: TYPE/NAME
1404 | - name: '[LocalPort:]RemotePort'
1405 | rep: repeat
1406 | optionsgroups:
1407 | - options:
1408 | - name: address
1409 | - name: pod-running-timeout
1410 | - name: proxy
1411 | usage: proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix]
1412 | optionsgroups:
1413 | - options:
1414 | - name: port
1415 | - name: address
1416 | - name: unix-socket
1417 | - options:
1418 | - name: www
1419 | - name: www-prefix
1420 | - name: api-prefix
1421 | - options:
1422 | - name: accept-hosts
1423 | - name: accept-paths
1424 | - options:
1425 | - name: reject-methods
1426 | - name: reject-paths
1427 | - options:
1428 | - name: keepalive
1429 | - name: disable-filter
1430 | - name: top
1431 | usage: top
1432 | - name: top/node
1433 | usage: node [NAME | -l label]
1434 | args:
1435 | - name: NAME
1436 | choice: opt
1437 | optionsgroups:
1438 | - options:
1439 | - name: selector
1440 | - name: sort-by
1441 | - name: no-headers
1442 | - options:
1443 | - name: heapster-namespace
1444 | - name: heapster-port
1445 | - options:
1446 | - name: heapster-scheme
1447 | - name: heapster-service
1448 | - name: top/pod
1449 | usage: pod [NAME | -l label]
1450 | args:
1451 | - name: NAME
1452 | choice: opt
1453 | optionsgroups:
1454 | - options:
1455 | - name: selector
1456 | - name: sort-by
1457 | - name: no-headers
1458 | - name: all-namespaces
1459 | - name: containers
1460 | - options:
1461 | - name: heapster-namespace
1462 | - name: heapster-port
1463 | - options:
1464 | - name: heapster-scheme
1465 | - name: heapster-service
1466 | include: _working_with_apps.md
1467 | - name: CLUSTER MANAGEMENT
1468 | commands:
1469 | - name: api-versions
1470 | usage: api-versions
1471 | - name: certificate
1472 | usage: certificate SUBCOMMAND
1473 | - name: certificate/approve
1474 | usage: approve (-f FILENAME | NAME)
1475 | args:
1476 | - name: NAME
1477 | optionsgroups:
1478 | - options:
1479 | - name: filename
1480 | - name: kustomize
1481 | - name: Switches
1482 | options:
1483 | - name: recursive
1484 | - name: force
1485 | - name: allow-missing-template-keys
1486 | - name: Output
1487 | options:
1488 | - name: output
1489 | - name: template
1490 | - name: certificate/deny
1491 | usage: deny (-f FILENAME | NAME)
1492 | args:
1493 | - name: NAME
1494 | optionsgroups:
1495 | - options:
1496 | - name: filename
1497 | - name: kustomize
1498 | - name: Switches
1499 | options:
1500 | - name: recursive
1501 | - name: force
1502 | - name: allow-missing-template-keys
1503 | - name: Output
1504 | options:
1505 | - name: output
1506 | - name: template
1507 | - name: cluster-info
1508 | usage: cluster-info
1509 | - name: cluster-info/dump
1510 | usage: dump
1511 | optionsgroups:
1512 | - options:
1513 | - name: namespaces
1514 | - name: pod-running-timeout
1515 | - name: Switches
1516 | options:
1517 | - name: all-namespaces
1518 | - name: allow-missing-template-keys
1519 | - name: Output
1520 | options:
1521 | - name: output
1522 | - name: output-directory
1523 | - name: template
1524 | - name: cordon
1525 | usage: cordon NODE
1526 | args:
1527 | - name: NODE
1528 | optionsgroups:
1529 | - options:
1530 | - name: selector
1531 | - name: dry-run
1532 | - name: drain
1533 | usage: drain NODE
1534 | args:
1535 | - name: NODE
1536 | optionsgroups:
1537 | - options:
1538 | - name: pod-selector
1539 | - name: selector
1540 | - name: Switches
1541 | options:
1542 | - name: delete-local-data
1543 | - name: dry-run
1544 | - name: force
1545 | - name: ignore-daemonsets
1546 | - name: Other options
1547 | options:
1548 | - name: grace-period
1549 | - name: timeout
1550 | - name: taint
1551 | usage: taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 ... KEY_N=VAL_N:TAINT_EFFECT_N
1552 | args:
1553 | - name: NODE
1554 | - name: NAME
1555 | - name: Key=Val:Taint
1556 | rep: repeat
1557 | optionsgroups:
1558 | - options:
1559 | - name: selector
1560 | - name: Switches
1561 | options:
1562 | - name: all
1563 | - name: overwrite
1564 | - name: validate
1565 | - name: allow-missing-template-keys
1566 | - name: Output
1567 | options:
1568 | - name: output
1569 | - name: template
1570 | - name: uncordon
1571 | usage: uncordon NODE
1572 | args:
1573 | - name: NODE
1574 | optionsgroups:
1575 | - options:
1576 | - name: selector
1577 | - name: dry-run
1578 | - name: KUBECTL SETTINGS AND USAGE
1579 | commands:
1580 | - name: alpha
1581 | usage: alpha
1582 | - name: api-resources
1583 | usage: api-resources
1584 | optionsgroups:
1585 | - options:
1586 | - name: api-group
1587 | - name: verbs
1588 | - name: sort-by
1589 | - name: output
1590 | - name: Switches
1591 | options:
1592 | - name: cached
1593 | - name: no-headers
1594 | - name: namespaced
1595 | - name: completion
1596 | usage: completion SHELL
1597 | args:
1598 | - name: SHELL
1599 | - name: config
1600 | usage: config SUBCOMMAND
1601 | - name: config/current-context
1602 | usage: current-context
1603 | - name: config/delete-cluster
1604 | usage: delete-cluster NAME
1605 | args:
1606 | - name: NAME
1607 | - name: config/delete-context
1608 | usage: delete-context NAME
1609 | args:
1610 | - name: NAME
1611 | - name: config/get-clusters
1612 | usage: get-clusters
1613 | - name: config/get-contexts
1614 | usage: get-contexts [(-o|--output=)name)]
1615 | optionsgroups:
1616 | - options:
1617 | - name: output
1618 | - name: no-headers
1619 | - name: config/rename-context
1620 | usage: rename-context CONTEXT_NAME NEW_NAME
1621 | args:
1622 | - name: CONTEXT_NAME
1623 | - name: NEW_NAME
1624 | - name: config/set
1625 | usage: set PROPERTY_NAME PROPERTY_VALUE
1626 | args:
1627 | - name: PROPERTY_NAME
1628 | - name: PROPERTY_VALUE
1629 | optionsgroups:
1630 | - options:
1631 | - name: set-raw-bytes
1632 | - name: config/set-cluster
1633 | usage: set-cluster NAME [--server=server] [--certificate-authority=path/to/certificate/authority]
1634 | [--insecure-skip-tls-verify=true]
1635 | args:
1636 | - name: NAME
1637 | optionsgroups:
1638 | - options:
1639 | - name: server
1640 | type: string
1641 | usage: server for the cluster entry in kubeconfig
1642 | shorthand: ""
1643 | - name: certificate-authority
1644 | type: string
1645 | usage: Path to certificate-authority file for the cluster entry in kubeconfig
1646 | - options:
1647 | - name: insecure-skip-tls-verify
1648 | type: tristate
1649 | usage: insecure-skip-tls-verify for the cluster entry in kubeconfig
1650 | default: "true"
1651 | - name: embed-certs
1652 | default: "true"
1653 | - name: config/set-context
1654 | usage: set-context [NAME | --current] [--cluster=cluster_nickname] [--user=user_nickname]
1655 | [--namespace=namespace]
1656 | args:
1657 | - name: NAME
1658 | optionsgroups:
1659 | - options:
1660 | - name: current
1661 | - name: cluster
1662 | type: string
1663 | usage: cluster for the context entry in kubeconfig
1664 | - name: user
1665 | type: string
1666 | usage: user for the context entry in kubeconfig
1667 | - name: namespace
1668 | type: string
1669 | usage: namespace for the context entry in kubeconfig
1670 | shorthand: ""
1671 | - name: config/set-credentials
1672 | usage: set-credentials NAME [--client-certificate=path/to/certfile] [--client-key=path/to/keyfile]
1673 | [--token=bearer_token] [--username=basic_user] [--password=basic_password] [--auth-provider=provider_name]
1674 | [--auth-provider-arg=key=value] [--exec-command=exec_command] [--exec-api-version=exec_api_version]
1675 | [--exec-arg=arg] [--exec-env=key=value]
1676 | optionsgroups:
1677 | - name: Client certificate
1678 | options:
1679 | - name: client-certificate
1680 | usage: Path to client certificate file for the user entry in kubeconfig
1681 | - name: client-key
1682 | usage: Path to client key file for the user entry in kubeconfig
1683 | - name: Bearer token
1684 | options:
1685 | - name: token
1686 | usage: token for the user entry in kubeconfig
1687 | - name: Basic auth
1688 | options:
1689 | - name: username
1690 | usage: username for the user entry in kubeconfig
1691 | - name: password
1692 | usage: password for the user entry in kubeconfig
1693 | - name: Auth provider
1694 | options:
1695 | - name: auth-provider
1696 | usage: Auth provider for the user entry in kubeconfig
1697 | - name: auth-provider-arg
1698 | usage: '''key=value'' arguments for the auth provider'
1699 | - name: Exec credential plugin
1700 | options:
1701 | - name: exec-command
1702 | usage: Command for the exec credential plugin for the user entry in kubeconfig
1703 | - name: exec-api-version
1704 | usage: API version of the exec credential plugin for the user entry in kubeconfig
1705 | - options:
1706 | - name: exec-arg
1707 | usage: New arguments for the exec credential plugin command for the user entry
1708 | in kubeconfig
1709 | - name: exec-env
1710 | usage: '''key=value'' environment values for the exec credential plugin'
1711 | - name: Switches
1712 | options:
1713 | - name: embed-certs
1714 | - name: config/unset
1715 | usage: unset PROPERTY_NAME
1716 | args:
1717 | - name: PROPERTY_NAME
1718 | - name: config/use-context
1719 | usage: use-context CONTEXT_NAME
1720 | args:
1721 | - name: CONTEXT_NAME
1722 | - name: config/view
1723 | usage: view
1724 | optionsgroups:
1725 | - name: Switches
1726 | options:
1727 | - name: flatten
1728 | - name: minify
1729 | - name: raw
1730 | - name: allow-missing-template-keys
1731 | - name: merge
1732 | - name: Output
1733 | options:
1734 | - name: output
1735 | - name: template
1736 | - name: explain
1737 | usage: explain RESOURCE
1738 | args:
1739 | - name: RESOURCE
1740 | optionsgroups:
1741 | - options:
1742 | - name: api-version
1743 | - name: recursive
1744 | - name: kustomize
1745 | usage: kustomize
1746 | args:
1747 | - name: DIR
1748 | - name: options
1749 | usage: options
1750 | - name: plugin
1751 | usage: plugin [flags]
1752 | - name: plugin/list
1753 | usage: list
1754 | optionsgroups:
1755 | - name: Other options
1756 | options:
1757 | - name: name-only
1758 | - name: version
1759 | usage: version
1760 | optionsgroups:
1761 | - name: Other options
1762 | options:
1763 | - name: client
1764 | - name: short
1765 | - name: output
1766 |
--------------------------------------------------------------------------------
/generators/v1_18/toc.yaml:
--------------------------------------------------------------------------------
1 | categories:
2 | - name: Basic Commands (Beginner)
3 | commands:
4 | - name: create
5 | usage: create -f FILENAME
6 | optionsgroups:
7 | - options:
8 | - name: filename
9 | - name: kustomize
10 | - name: selector
11 | - name: Switches
12 | options:
13 | - name: recursive
14 | - name: edit
15 | - name: record
16 | - name: save-config
17 | - name: windows-line-endings
18 | - options:
19 | - name: allow-missing-template-keys
20 | - name: validate
21 | - {}
22 | - name: Output
23 | options:
24 | - name: output
25 | - name: template
26 | - name: Other options
27 | options:
28 | - name: dry-run
29 | - name: raw
30 | - name: create/clusterrole
31 | usage: clusterrole NAME --verb=verb --resource=resource.group [--resource-name=resourcename]
32 | [--dry-run=server|client|none]
33 | args:
34 | - name: NAME
35 | optionsgroups:
36 | - options:
37 | - name: verb
38 | required: true
39 | - name: resource
40 | required: true
41 | - options:
42 | - name: resource-name
43 | - name: non-resource-url
44 | - options:
45 | - name: aggregation-rule
46 | - name: Switches
47 | options:
48 | - name: save-config
49 | - name: validate
50 | - name: allow-missing-template-keys
51 | - name: Output
52 | options:
53 | - name: output
54 | - name: template
55 | - name: Other options
56 | options:
57 | - name: dry-run
58 | - name: create/clusterrolebinding
59 | usage: clusterrolebinding NAME --clusterrole=NAME [--user=username] [--group=groupname]
60 | [--serviceaccount=namespace:serviceaccountname] [--dry-run=server|client|none]
61 | args:
62 | - name: NAME
63 | optionsgroups:
64 | - options:
65 | - name: clusterrole
66 | required: true
67 | - name: user
68 | type: stringArray
69 | usage: Usernames to bind to the clusterrole
70 | - name: group
71 | - name: serviceaccount
72 | - name: Switches
73 | options:
74 | - name: save-config
75 | - name: allow-missing-template-keys
76 | - name: validate
77 | - name: Output
78 | options:
79 | - name: output
80 | - name: template
81 | - name: Other options
82 | options:
83 | - name: dry-run
84 | - name: generator
85 | - name: create/configmap
86 | usage: configmap NAME [--from-file=[key=]source] [--from-literal=key1=value1]
87 | [--dry-run=server|client|none]
88 | args:
89 | - name: NAME
90 | optionsgroups:
91 | - options:
92 | - name: from-env-file
93 | - name: from-file
94 | - name: from-literal
95 | - name: Switches
96 | options:
97 | - name: append-hash
98 | - name: save-config
99 | - name: allow-missing-template-keys
100 | - name: validate
101 | - name: Output
102 | options:
103 | - name: output
104 | - name: template
105 | - name: Other options
106 | options:
107 | - name: dry-run
108 | - name: generator
109 | - name: create/cronjob
110 | usage: cronjob NAME --image=image --schedule='0/5 * * * ?' -- [COMMAND] [args...]
111 | args:
112 | - name: NAME
113 | - name: --
114 | end: true
115 | - name: COMMAND
116 | end: true
117 | choice: opt
118 | - name: args
119 | end: true
120 | choice: opt
121 | rep: repeat
122 | optionsgroups:
123 | - options:
124 | - name: image
125 | required: true
126 | - name: schedule
127 | required: true
128 | - name: restart
129 | - name: Switches
130 | options:
131 | - name: save-config
132 | - name: allow-missing-template-keys
133 | - name: validate
134 | - name: Output
135 | options:
136 | - name: output
137 | - name: template
138 | - name: Other options
139 | options:
140 | - name: dry-run
141 | - name: create/deployment
142 | usage: deployment NAME --image=image [--dry-run=server|client|none]
143 | args:
144 | - name: NAME
145 | optionsgroups:
146 | - options:
147 | - name: image
148 | required: true
149 | - name: Switches
150 | options:
151 | - name: save-config
152 | - name: allow-missing-template-keys
153 | - name: validate
154 | - name: Output
155 | options:
156 | - name: output
157 | - name: template
158 | - name: Other options
159 | options:
160 | - name: dry-run
161 | - name: generator
162 | - name: create/job
163 | usage: job NAME --image=image [--from=cronjob/name] -- [COMMAND] [args...]
164 | args:
165 | - name: NAME
166 | - name: --
167 | end: true
168 | - name: COMMAND
169 | end: true
170 | choice: opt
171 | - name: args
172 | end: true
173 | choice: opt
174 | rep: repeat
175 | optionsgroups:
176 | - options:
177 | - name: image
178 | required: true
179 | - name: from
180 | - name: Switches
181 | options:
182 | - name: save-config
183 | - name: allow-missing-template-keys
184 | - name: validate
185 | - name: Output
186 | options:
187 | - name: output
188 | - name: template
189 | - name: Other options
190 | options:
191 | - name: dry-run
192 | - name: create/namespace
193 | usage: namespace NAME [--dry-run=server|client|none]
194 | args:
195 | - name: NAME
196 | optionsgroups:
197 | - name: Switches
198 | options:
199 | - name: save-config
200 | - name: allow-missing-template-keys
201 | - name: validate
202 | - name: Output
203 | options:
204 | - name: output
205 | - name: template
206 | - name: Other options
207 | options:
208 | - name: dry-run
209 | - name: generator
210 | - name: create/poddisruptionbudget
211 | usage: poddisruptionbudget NAME --selector=SELECTOR --min-available=N [--dry-run=server|client|none]
212 | args:
213 | - name: NAME
214 | optionsgroups:
215 | - options:
216 | - name: selector
217 | required: true
218 | - name: min-available
219 | required: true
220 | - name: max-unavailable
221 | - name: Switches
222 | options:
223 | - name: save-config
224 | - name: allow-missing-template-keys
225 | - name: validate
226 | - name: Output
227 | options:
228 | - name: output
229 | - name: template
230 | - name: Other options
231 | options:
232 | - name: dry-run
233 | - name: generator
234 | - name: create/priorityclass
235 | usage: priorityclass NAME --value=VALUE --global-default=BOOL [--dry-run=server|client|none]
236 | args:
237 | - name: NAME
238 | optionsgroups:
239 | - options:
240 | - name: value
241 | required: true
242 | - name: global-default
243 | - name: description
244 | - name: preemption-policy
245 | - name: Switches
246 | options:
247 | - name: save-config
248 | - name: allow-missing-template-keys
249 | - name: validate
250 | - name: Output
251 | options:
252 | - name: output
253 | - name: template
254 | - name: Other options
255 | options:
256 | - name: dry-run
257 | - name: generator
258 | - name: create/quota
259 | usage: quota NAME [--hard=key1=value1,key2=value2] [--scopes=Scope1,Scope2] [--dry-run=server|client|none]
260 | args:
261 | - name: NAME
262 | optionsgroups:
263 | - options:
264 | - name: hard
265 | - name: scopes
266 | - name: Switches
267 | options:
268 | - name: save-config
269 | - name: allow-missing-template-keys
270 | - name: validate
271 | - name: Output
272 | options:
273 | - name: output
274 | - name: template
275 | - name: Other options
276 | options:
277 | - name: dry-run
278 | - name: generator
279 | - name: create/role
280 | usage: role NAME --verb=verb --resource=resource.group/subresource [--resource-name=resourcename]
281 | [--dry-run=server|client|none]
282 | args:
283 | - name: NAME
284 | optionsgroups:
285 | - options:
286 | - name: verb
287 | required: true
288 | - name: resource
289 | required: true
290 | - options:
291 | - name: resource-name
292 | - name: Switches
293 | options:
294 | - name: save-config
295 | - name: allow-missing-template-keys
296 | - name: validate
297 | - name: Output
298 | options:
299 | - name: output
300 | - name: template
301 | - name: Other options
302 | options:
303 | - name: dry-run
304 | - name: create/rolebinding
305 | usage: rolebinding NAME --clusterrole=NAME|--role=NAME [--user=username] [--group=groupname]
306 | [--serviceaccount=namespace:serviceaccountname] [--dry-run=server|client|none]
307 | args:
308 | - name: NAME
309 | optionsgroups:
310 | - options:
311 | - name: clusterrole
312 | - name: role
313 | - options:
314 | - name: user
315 | - name: group
316 | - name: serviceaccount
317 | - name: Switches
318 | options:
319 | - name: save-config
320 | - name: allow-missing-template-keys
321 | - name: validate
322 | - name: Output
323 | options:
324 | - name: output
325 | - name: template
326 | - name: Other options
327 | options:
328 | - name: dry-run
329 | - name: generator
330 | - name: create/secret
331 | usage: secret
332 | - name: create/secret/generic
333 | usage: generic NAME [--type=string] [--from-file=[key=]source] [--from-literal=key1=value1]
334 | [--dry-run=server|client|none]
335 | args:
336 | - name: NAME
337 | optionsgroups:
338 | - options:
339 | - name: from-env-file
340 | - name: from-file
341 | - name: from-literal
342 | - options:
343 | - name: type
344 | - name: Switches
345 | options:
346 | - name: append-hash
347 | - name: save-config
348 | - options:
349 | - name: allow-missing-template-keys
350 | - name: validate
351 | - name: Output
352 | options:
353 | - name: output
354 | - name: template
355 | - name: Other options
356 | options:
357 | - name: dry-run
358 | - name: generator
359 | - name: create/secret/docker-registry
360 | usage: docker-registry NAME --docker-username=user --docker-password=password
361 | --docker-email=email [--docker-server=string] [--from-literal=key1=value1] [--dry-run=server|client|none]
362 | args:
363 | - name: NAME
364 | optionsgroups:
365 | - options:
366 | - name: docker-username
367 | required: true
368 | - name: docker-password
369 | required: true
370 | - options:
371 | - name: docker-email
372 | required: true
373 | - name: docker-server
374 | - options:
375 | - name: from-file
376 | - name: Switches
377 | options:
378 | - name: append-hash
379 | - name: save-config
380 | - options:
381 | - name: allow-missing-template-keys
382 | - name: validate
383 | - name: Output
384 | options:
385 | - name: output
386 | - name: template
387 | - name: Other options
388 | options:
389 | - name: dry-run
390 | - name: generator
391 | - name: create/secret/tls
392 | usage: tls NAME --cert=path/to/cert/file --key=path/to/key/file [--dry-run=server|client|none]
393 | args:
394 | - name: NAME
395 | optionsgroups:
396 | - options:
397 | - name: cert
398 | required: true
399 | - name: key
400 | required: true
401 | - name: Switches
402 | options:
403 | - name: append-hash
404 | - name: save-config
405 | - name: allow-missing-template-keys
406 | - name: validate
407 | - name: Output
408 | options:
409 | - name: output
410 | - name: template
411 | - name: Other options
412 | options:
413 | - name: dry-run
414 | - name: generator
415 | - name: create/service
416 | usage: service
417 | - name: create/service/clusterip
418 | usage: clusterip NAME [--tcp=:] [--dry-run=server|client|none]
419 | args:
420 | - name: NAME
421 | optionsgroups:
422 | - options:
423 | - name: tcp
424 | - name: clusterip
425 | - name: Switches
426 | options:
427 | - name: save-config
428 | - name: allow-missing-template-keys
429 | - name: validate
430 | - name: Output
431 | options:
432 | - name: output
433 | - name: template
434 | - name: Other options
435 | options:
436 | - name: dry-run
437 | - name: generator
438 | - name: create/service/externalname
439 | usage: externalname NAME --external-name external.name [--dry-run=server|client|none]
440 | args:
441 | - name: NAME
442 | optionsgroups:
443 | - options:
444 | - name: external-name
445 | required: true
446 | - name: tcp
447 | - name: Switches
448 | options:
449 | - name: save-config
450 | - name: allow-missing-template-keys
451 | - name: validate
452 | - name: Output
453 | options:
454 | - name: output
455 | - name: template
456 | - name: Other options
457 | options:
458 | - name: dry-run
459 | - name: generator
460 | - name: create/service/loadbalancer
461 | usage: loadbalancer NAME [--tcp=port:targetPort] [--dry-run=server|client|none]
462 | args:
463 | - name: NAME
464 | optionsgroups:
465 | - options:
466 | - name: tcp
467 | - name: Switches
468 | options:
469 | - name: save-config
470 | - name: allow-missing-template-keys
471 | - name: validate
472 | - name: Output
473 | options:
474 | - name: output
475 | - name: template
476 | - name: Other options
477 | options:
478 | - name: dry-run
479 | - name: generator
480 | - name: create/service/nodeport
481 | usage: nodeport NAME [--tcp=port:targetPort] [--dry-run=server|client|none]
482 | args:
483 | - name: NAME
484 | optionsgroups:
485 | - options:
486 | - name: tcp
487 | - name: node-port
488 | - name: Switches
489 | options:
490 | - name: save-config
491 | - name: allow-missing-template-keys
492 | - name: validate
493 | - name: Output
494 | options:
495 | - name: output
496 | - name: template
497 | - name: Other options
498 | options:
499 | - name: dry-run
500 | - name: generator
501 | - name: create/serviceaccount
502 | usage: serviceaccount NAME [--dry-run=server|client|none]
503 | args:
504 | - name: NAME
505 | optionsgroups:
506 | - name: Switches
507 | options:
508 | - name: save-config
509 | - name: allow-missing-template-keys
510 | - name: validate
511 | - name: Output
512 | options:
513 | - name: output
514 | - name: template
515 | - name: Other options
516 | options:
517 | - name: dry-run
518 | - name: generator
519 | - name: expose
520 | usage: expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP]
521 | [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service]
522 | [--type=type]
523 | optionsgroups:
524 | - options:
525 | - name: filename
526 | - name: kustomize
527 | - name: Service attributes
528 | options:
529 | - name: name
530 | - name: labels
531 | - name: selector
532 | - name: type
533 | - options:
534 | - name: cluster-ip
535 | - name: external-ip
536 | - name: load-balancer-ip
537 | - options:
538 | - name: port
539 | - name: target-port
540 | - name: container-port
541 | - options:
542 | - name: protocol
543 | - name: session-affinity
544 | - name: Switches
545 | options:
546 | - name: recursive
547 | - name: record
548 | - name: save-config
549 | - name: allow-missing-template-keys
550 | - name: Other options
551 | options:
552 | - name: generator
553 | - name: overrides
554 | - options:
555 | - name: output
556 | - name: template
557 | - options:
558 | - name: dry-run
559 | - name: run
560 | usage: run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client]
561 | [--overrides=inline-json] [--command] -- [COMMAND] [args...]
562 | args:
563 | - name: NAME
564 | - name: --
565 | end: true
566 | - name: COMMAND
567 | end: true
568 | choice: opt
569 | - name: args
570 | end: true
571 | choice: opt
572 | rep: repeat
573 | optionsgroups:
574 | - options:
575 | - name: filename
576 | - name: kustomize
577 | - name: Resource attributes
578 | options:
579 | - name: replicas
580 | - name: labels
581 | - name: grace-period
582 | - name: schedule
583 | - options:
584 | - name: pod-running-timeout
585 | - name: restart
586 | - name: serviceaccount
587 | - name: Container attributes
588 | options:
589 | - name: image
590 | - name: image-pull-policy
591 | - name: env
592 | - options:
593 | - name: port
594 | - name: hostport
595 | - name: limits
596 | - name: requests
597 | - name: Switches
598 | options:
599 | - name: recursive
600 | - name: stdin
601 | - name: tty
602 | - name: attach
603 | - name: command
604 | - name: expose
605 | - name: force
606 | - options:
607 | - name: leave-stdin-open
608 | - name: quiet
609 | - name: record
610 | - name: rm
611 | - name: save-config
612 | - name: wait
613 | - options:
614 | - name: allow-missing-template-keys
615 | - name: cascade
616 | - name: Other options
617 | options:
618 | - name: output
619 | - name: template
620 | - options:
621 | - name: generator
622 | - name: service-generator
623 | - options:
624 | - name: overrides
625 | - name: service-overrides
626 | - options:
627 | - name: timeout
628 | - name: dry-run
629 | - name: set
630 | usage: set SUBCOMMAND
631 | - name: set/env
632 | usage: env RESOURCE/NAME KEY_1=VAL_1 ... KEY_N=VAL_N
633 | args:
634 | - name: RESOURCE/NAME
635 | - name: key=val
636 | rep: repeat
637 | optionsgroups:
638 | - options:
639 | - name: env
640 | - name: from
641 | - name: keys
642 | - name: prefix
643 | - name: Selections
644 | options:
645 | - name: filename
646 | - name: kustomize
647 | - name: selector
648 | - name: containers
649 | - name: Switches
650 | options:
651 | - name: recursive
652 | - name: all
653 | - name: list
654 | - name: local
655 | - name: resolve
656 | - options:
657 | - name: allow-missing-template-keys
658 | - name: overwrite
659 | - name: Output
660 | options:
661 | - name: output
662 | - name: template
663 | - name: Other options
664 | options:
665 | - name: dry-run
666 | - name: set/image
667 | usage: image (-f FILENAME | TYPE NAME) CONTAINER_NAME_1=CONTAINER_IMAGE_1 ...
668 | CONTAINER_NAME_N=CONTAINER_IMAGE_N
669 | args:
670 | - name: TYPE
671 | - name: NAME
672 | - name: containerName=image
673 | rep: repeat
674 | optionsgroups:
675 | - options:
676 | - name: filename
677 | - name: kustomize
678 | - name: selector
679 | - name: Switches
680 | options:
681 | - name: recursive
682 | - name: all
683 | - name: local
684 | - name: record
685 | - name: allow-missing-template-keys
686 | - name: Output
687 | options:
688 | - name: output
689 | - name: template
690 | - name: Other options
691 | options:
692 | - name: dry-run
693 | - name: set/resources
694 | usage: resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS]
695 | args:
696 | - name: TYPE
697 | - name: NAME
698 | optionsgroups:
699 | - options:
700 | - name: limits
701 | - name: requests
702 | - name: Selection
703 | options:
704 | - name: filename
705 | - name: kustomize
706 | - name: selector
707 | - name: containers
708 | - name: Switches
709 | options:
710 | - name: recursive
711 | - name: all
712 | - name: local
713 | - name: record
714 | - name: allow-missing-template-keys
715 | - name: Output
716 | options:
717 | - name: output
718 | - name: template
719 | - name: Other options
720 | options:
721 | - name: dry-run
722 | - name: set/selector
723 | usage: selector (-f FILENAME | TYPE NAME) EXPRESSIONS [--resource-version=version]
724 | args:
725 | - name: TYPE
726 | - name: NAME
727 | - name: EXPRESSIONS
728 | optionsgroups:
729 | - options:
730 | - name: filename
731 | - name: resource-version
732 | - name: Switches
733 | options:
734 | - name: all
735 | - name: local
736 | - name: record
737 | - options:
738 | - name: allow-missing-template-keys
739 | - name: recursive
740 | - name: Output
741 | options:
742 | - name: output
743 | - name: template
744 | - name: Other options
745 | options:
746 | - name: dry-run
747 | - name: set/serviceaccount
748 | usage: serviceaccount (-f FILENAME | TYPE NAME) SERVICE_ACCOUNT
749 | args:
750 | - name: TYPE
751 | - name: NAME
752 | - name: serviceAccount
753 | optionsgroups:
754 | - options:
755 | - name: filename
756 | - name: kustomize
757 | - name: Switches
758 | options:
759 | - name: recursive
760 | - name: all
761 | - name: local
762 | - name: record
763 | - name: allow-missing-template-keys
764 | - name: Output
765 | options:
766 | - name: output
767 | - name: template
768 | - name: Other options
769 | options:
770 | - name: dry-run
771 | - name: set/subject
772 | usage: subject (-f FILENAME | TYPE NAME) [--user=username] [--group=groupname]
773 | [--serviceaccount=namespace:serviceaccountname] [--dry-run=server|client|none]
774 | args:
775 | - name: TYPE
776 | - name: NAME
777 | optionsgroups:
778 | - options:
779 | - name: user
780 | type: stringArray
781 | usage: UserUsernames to bind to the role
782 | - name: group
783 | - name: serviceaccount
784 | - name: Selection
785 | options:
786 | - name: filename
787 | - name: kustomize
788 | - name: selector
789 | - name: Switches
790 | options:
791 | - name: recursive
792 | - name: all
793 | - name: local
794 | - name: allow-missing-template-keys
795 | - name: Output
796 | options:
797 | - name: output
798 | - name: template
799 | - name: Other options
800 | options:
801 | - name: dry-run
802 | - name: Basic Commands (Intermediate)
803 | commands:
804 | - name: explain
805 | usage: explain RESOURCE
806 | args:
807 | - name: RESOURCE
808 | optionsgroups:
809 | - options:
810 | - name: api-version
811 | - name: recursive
812 | - name: get
813 | usage: get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...]
814 | (TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...)
815 | [flags]
816 | args:
817 | - name: TYPE[.VERSION][.GROUP][/]NAME
818 | choice: opt
819 | rep: repeat
820 | optionsgroups:
821 | - options:
822 | - name: filename
823 | - name: kustomize
824 | - name: selector
825 | - name: field-selector
826 | - name: Switches
827 | options:
828 | - name: all-namespaces
829 | - name: recursive
830 | - name: watch
831 | - name: export
832 | - name: ignore-not-found
833 | - name: no-headers
834 | - name: output-watch-events
835 | - options:
836 | - name: show-kind
837 | - name: show-labels
838 | - name: use-openapi-print-columns
839 | - name: watch-only
840 | - options:
841 | - name: allow-missing-template-keys
842 | - name: server-print
843 | - name: Output
844 | options:
845 | - name: output
846 | - name: label-columns
847 | - name: sort-by
848 | - name: template
849 | - name: Other options
850 | - options:
851 | - name: chunk-size
852 | - name: raw
853 | - name: edit
854 | usage: edit (RESOURCE/NAME | -f FILENAME)
855 | args:
856 | - name: RESOURCE/NAME
857 | optionsgroups:
858 | - options:
859 | - name: filename
860 | - name: kustomize
861 | - name: Switches
862 | options:
863 | - name: recursive
864 | - name: output-patch
865 | - name: record
866 | - name: save-config
867 | - name: windows-line-endings
868 | - options:
869 | - name: allow-missing-template-keys
870 | - name: validate
871 | - name: Output
872 | options:
873 | - name: output
874 | - name: template
875 | - name: delete
876 | usage: delete ([-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --all)])
877 | args:
878 | - name: TYPE[,TYPE...]
879 | choice: opt
880 | - name: NAME
881 | choice: opt
882 | rep: repeat
883 | optionsgroups:
884 | - name: Selection
885 | options:
886 | - name: filename
887 | - name: kustomize
888 | - name: selector
889 | - name: field-selector
890 | - name: Switches
891 | options:
892 | - name: all-namespaces
893 | - name: recursive
894 | - name: all
895 | - name: force
896 | - name: ignore-not-found
897 | - name: now
898 | - name: cascade
899 | - name: wait
900 | - name: Other options
901 | options:
902 | - name: dry-run
903 | - name: grace-period
904 | - name: timeout
905 | - options:
906 | - name: output
907 | - name: raw
908 | - name: Deploy Commands
909 | commands:
910 | - name: rollout
911 | usage: rollout SUBCOMMAND
912 | - name: rollout/history
913 | usage: history (TYPE NAME | TYPE/NAME) [flags]
914 | args:
915 | - name: TYPE[/]NAME
916 | optionsgroups:
917 | - options:
918 | - name: filename
919 | - name: kustomize
920 | - name: revision
921 | - name: Switches
922 | options:
923 | - name: recursive
924 | - name: allow-missing-template-keys
925 | - name: Output
926 | options:
927 | - name: output
928 | - name: template
929 | - name: rollout/pause
930 | usage: pause RESOURCE
931 | args:
932 | - name: RESOURCE
933 | optionsgroups:
934 | - options:
935 | - name: filename
936 | - name: kustomize
937 | - name: Switches
938 | options:
939 | - name: recursive
940 | - name: allow-missing-template-keys
941 | - name: Output
942 | options:
943 | - name: output
944 | - name: template
945 | - name: rollout/restart
946 | usage: restart RESOURCE
947 | args:
948 | - name: RESOURCE
949 | optionsgroups:
950 | - options:
951 | - name: filename
952 | - name: kustomize
953 | - name: Switches
954 | options:
955 | - name: recursive
956 | - name: allow-missing-template-keys
957 | - name: Output
958 | options:
959 | - name: output
960 | - name: template
961 | - name: rollout/resume
962 | usage: resume RESOURCE
963 | args:
964 | - name: RESOURCE
965 | optionsgroups:
966 | - options:
967 | - name: filename
968 | - name: kustomize
969 | - name: Switches
970 | options:
971 | - name: recursive
972 | - name: allow-missing-template-keys
973 | - name: Output
974 | options:
975 | - name: output
976 | - name: template
977 | - name: rollout/status
978 | usage: status (TYPE NAME | TYPE/NAME) [flags]
979 | args:
980 | - name: TYPE[/]NAME
981 | optionsgroups:
982 | - options:
983 | - name: filename
984 | - name: kustomize
985 | - name: revision
986 | - name: timeout
987 | - name: Switches
988 | options:
989 | - name: recursive
990 | - name: watch
991 | - name: rollout/undo
992 | usage: undo (TYPE NAME | TYPE/NAME) [flags]
993 | args:
994 | - name: TYPE[/]NAME
995 | optionsgroups:
996 | - options:
997 | - name: filename
998 | - name: kustomize
999 | - name: to-revision
1000 | - name: Switches
1001 | options:
1002 | - name: recursive
1003 | - name: allow-missing-template-keys
1004 | - name: Output
1005 | options:
1006 | - name: output
1007 | - name: template
1008 | - name: Other options
1009 | options:
1010 | - name: dry-run
1011 | - name: scale
1012 | usage: scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT
1013 | (-f FILENAME | TYPE NAME)
1014 | args:
1015 | - name: TYPE
1016 | - name: NAME
1017 | optionsgroups:
1018 | - options:
1019 | - name: replicas
1020 | required: true
1021 | - name: current-replicas
1022 | - name: timeout
1023 | - name: Selection
1024 | options:
1025 | - name: filename
1026 | - name: kustomize
1027 | - name: selector
1028 | - name: resource-version
1029 | - name: Switches
1030 | options:
1031 | - name: recursive
1032 | - name: all
1033 | - name: record
1034 | - name: allow-missing-template-keys
1035 | - name: Output
1036 | options:
1037 | - name: output
1038 | - name: template
1039 | - name: autoscale
1040 | usage: autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS
1041 | [--cpu-percent=CPU]
1042 | args:
1043 | - name: TYPE[/]NAME
1044 | optionsgroups:
1045 | - options:
1046 | - name: name
1047 | - name: min
1048 | - name: max
1049 | - name: cpu-percent
1050 | - name: Selection
1051 | options:
1052 | - name: filename
1053 | - name: kustomize
1054 | - name: Switches
1055 | options:
1056 | - name: recursive
1057 | - name: record
1058 | - name: save-config
1059 | - name: allow-missing-template-keys
1060 | - name: Output
1061 | options:
1062 | - name: output
1063 | - name: template
1064 | - name: Other options
1065 | options:
1066 | - name: dry-run
1067 | - name: generator
1068 | - name: Cluster Management Commands
1069 | commands:
1070 | - name: certificate
1071 | usage: certificate SUBCOMMAND
1072 | - name: certificate/approve
1073 | usage: approve (-f FILENAME | NAME)
1074 | args:
1075 | - name: NAME
1076 | optionsgroups:
1077 | - options:
1078 | - name: filename
1079 | - name: kustomize
1080 | - name: Switches
1081 | options:
1082 | - name: recursive
1083 | - name: force
1084 | - name: allow-missing-template-keys
1085 | - name: Output
1086 | options:
1087 | - name: output
1088 | - name: template
1089 | - name: certificate/deny
1090 | usage: deny (-f FILENAME | NAME)
1091 | args:
1092 | - name: NAME
1093 | optionsgroups:
1094 | - options:
1095 | - name: filename
1096 | - name: kustomize
1097 | - name: Switches
1098 | options:
1099 | - name: recursive
1100 | - name: force
1101 | - name: allow-missing-template-keys
1102 | - name: Output
1103 | options:
1104 | - name: output
1105 | - name: template
1106 | - name: cluster-info
1107 | usage: cluster-info
1108 | - name: cluster-info/dump
1109 | usage: dump
1110 | optionsgroups:
1111 | - options:
1112 | - name: namespaces
1113 | - name: pod-running-timeout
1114 | - name: Switches
1115 | options:
1116 | - name: all-namespaces
1117 | - name: allow-missing-template-keys
1118 | - name: Output
1119 | options:
1120 | - name: output
1121 | - name: output-directory
1122 | - name: template
1123 | - name: top
1124 | usage: top
1125 | - name: top/node
1126 | usage: node [NAME | -l label]
1127 | args:
1128 | - name: NAME
1129 | choice: opt
1130 | optionsgroups:
1131 | - options:
1132 | - name: selector
1133 | - name: sort-by
1134 | - name: no-headers
1135 | - options:
1136 | - name: heapster-namespace
1137 | - name: heapster-port
1138 | - options:
1139 | - name: heapster-scheme
1140 | - name: heapster-service
1141 | - name: top/pod
1142 | usage: pod [NAME | -l label]
1143 | args:
1144 | - name: NAME
1145 | choice: opt
1146 | optionsgroups:
1147 | - options:
1148 | - name: selector
1149 | - name: sort-by
1150 | - name: no-headers
1151 | - name: all-namespaces
1152 | - name: containers
1153 | - options:
1154 | - name: heapster-namespace
1155 | - name: heapster-port
1156 | - options:
1157 | - name: heapster-scheme
1158 | - name: heapster-service
1159 | - name: cordon
1160 | usage: cordon NODE
1161 | args:
1162 | - name: NODE
1163 | optionsgroups:
1164 | - options:
1165 | - name: selector
1166 | - name: dry-run
1167 | - name: uncordon
1168 | usage: uncordon NODE
1169 | args:
1170 | - name: NODE
1171 | optionsgroups:
1172 | - options:
1173 | - name: selector
1174 | - name: dry-run
1175 | - name: drain
1176 | usage: drain NODE
1177 | args:
1178 | - name: NODE
1179 | optionsgroups:
1180 | - options:
1181 | - name: pod-selector
1182 | - name: selector
1183 | - name: Switches
1184 | options:
1185 | - name: delete-local-data
1186 | - name: disable-eviction
1187 | - name: force
1188 | - name: ignore-daemonsets
1189 | - name: Other options
1190 | options:
1191 | - name: dry-run
1192 | - name: grace-period
1193 | - options:
1194 | - name: timeout
1195 | - name: skip-wait-for-delete-timeout
1196 | - name: taint
1197 | usage: taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 ... KEY_N=VAL_N:TAINT_EFFECT_N
1198 | args:
1199 | - name: NODE
1200 | - name: NAME
1201 | - name: Key=Val:Taint
1202 | rep: repeat
1203 | optionsgroups:
1204 | - options:
1205 | - name: selector
1206 | - name: Switches
1207 | options:
1208 | - name: all
1209 | - name: overwrite
1210 | - name: validate
1211 | - name: allow-missing-template-keys
1212 | - name: Output
1213 | options:
1214 | - name: output
1215 | - name: template
1216 | - name: Other options
1217 | options:
1218 | - name: dry-run
1219 | - name: Troubleshooting and Debugging Commands
1220 | commands:
1221 | - name: describe
1222 | usage: describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME)
1223 | args:
1224 | - name: TYPE[/]NamePrefix
1225 | optionsgroups:
1226 | - options:
1227 | - name: filename
1228 | - name: kustomize
1229 | - name: selector
1230 | - name: Switches
1231 | options:
1232 | - name: all-namespaces
1233 | - name: recursive
1234 | - name: show-events
1235 | - name: logs
1236 | usage: logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]
1237 | args:
1238 | - name: POD | TYPE/NAME
1239 | optionsgroups:
1240 | - name: Selection
1241 | options:
1242 | - name: container
1243 | - name: selector
1244 | - name: Switches
1245 | options:
1246 | - name: follow
1247 | - name: previous
1248 | - name: all-containers
1249 | - name: ignore-errors
1250 | - name: insecure-skip-tls-verify-backend
1251 | - options:
1252 | - name: prefix
1253 | - name: timestamps
1254 | - name: Other options
1255 | options:
1256 | - name: limit-bytes
1257 | - name: max-log-requests
1258 | - name: pod-running-timeout
1259 | - options:
1260 | - name: since
1261 | - name: since-time
1262 | - name: tail
1263 | - name: attach
1264 | usage: attach (POD | TYPE/NAME) -c CONTAINER
1265 | args:
1266 | - name: POD | TYPE/NAME
1267 | optionsgroups:
1268 | - options:
1269 | - name: container
1270 | - name: stdin
1271 | - name: tty
1272 | - name: pod-running-timeout
1273 | - name: exec
1274 | usage: exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...]
1275 | args:
1276 | - name: POD | TYPE/NAME | -f FILENAME
1277 | - name: --
1278 | end: true
1279 | - name: COMMAND
1280 | end: true
1281 | - name: args
1282 | end: true
1283 | choice: opt
1284 | rep: repeat
1285 | optionsgroups:
1286 | - options:
1287 | - name: filename
1288 | - name: container
1289 | - name: stdin
1290 | - name: tty
1291 | - name: pod-running-timeout
1292 | - name: port-forward
1293 | usage: port-forward TYPE/NAME [options] [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N]
1294 | args:
1295 | - name: TYPE/NAME
1296 | - name: '[LocalPort:]RemotePort'
1297 | rep: repeat
1298 | optionsgroups:
1299 | - options:
1300 | - name: address
1301 | - name: pod-running-timeout
1302 | - name: proxy
1303 | usage: proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix]
1304 | optionsgroups:
1305 | - options:
1306 | - name: port
1307 | - name: address
1308 | - name: unix-socket
1309 | - options:
1310 | - name: www
1311 | - name: www-prefix
1312 | - name: api-prefix
1313 | - options:
1314 | - name: accept-hosts
1315 | - name: accept-paths
1316 | - options:
1317 | - name: reject-methods
1318 | - name: reject-paths
1319 | - options:
1320 | - name: keepalive
1321 | - name: disable-filter
1322 | - name: cp
1323 | usage: cp
1324 | args:
1325 | - name: fileSpecSrc
1326 | - name: fileSpecDest
1327 | optionsgroups:
1328 | - options:
1329 | - name: container
1330 | - name: no-preserve
1331 | - name: auth
1332 | usage: auth
1333 | - name: auth/can-i
1334 | usage: can-i VERB [TYPE | TYPE/NAME | NONRESOURCEURL]
1335 | args:
1336 | - name: VERB
1337 | - name: TYPE | TYPE/NAME | NonResourceURL
1338 | choice: opt
1339 | optionsgroups:
1340 | - options:
1341 | - name: subresource
1342 | - name: all-namespaces
1343 | - name: quiet
1344 | - name: list
1345 | - name: no-headers
1346 | - name: auth/reconcile
1347 | usage: reconcile -f FILENAME
1348 | optionsgroups:
1349 | - options:
1350 | - name: filename
1351 | - name: kustomize
1352 | - options:
1353 | - name: remove-extra-permissions
1354 | - name: remove-extra-subjects
1355 | - name: Switches
1356 | options:
1357 | - name: recursive
1358 | - name: allow-missing-template-keys
1359 | - name: Output
1360 | options:
1361 | - name: output
1362 | - name: template
1363 | - name: Other options
1364 | options:
1365 | - name: dry-run
1366 | - name: Advanced Commands
1367 | commands:
1368 | - name: diff
1369 | usage: diff -f FILENAME
1370 | optionsgroups:
1371 | - options:
1372 | - name: filename
1373 | - name: kustomize
1374 | - name: Switches
1375 | options:
1376 | - name: recursive
1377 | - name: force-conflicts
1378 | - name: server-side
1379 | - name: Other options
1380 | options:
1381 | - name: field-manager
1382 | - name: apply
1383 | usage: apply (-f FILENAME | -k DIRECTORY)
1384 | optionsgroups:
1385 | - options:
1386 | - name: filename
1387 | - name: kustomize
1388 | - name: selector
1389 | - name: Switches
1390 | options:
1391 | - name: recursive
1392 | - name: all
1393 | - name: force
1394 | - name: force-conflicts
1395 | - name: prune
1396 | - name: record
1397 | - options:
1398 | - name: server-dry-run
1399 | - name: server-side
1400 | - name: wait
1401 | - options:
1402 | - name: allow-missing-template-keys
1403 | - name: cascade
1404 | - name: openapi-patch
1405 | - options:
1406 | - name: overwrite
1407 | - name: validate
1408 | - name: Output
1409 | options:
1410 | - name: output
1411 | - name: template
1412 | - name: Other options
1413 | options:
1414 | - name: field-manager
1415 | - name: grace-period
1416 | - name: prune-whitelist
1417 | - options:
1418 | - name: timeout
1419 | - name: dry-run
1420 | - name: apply/edit-last-applied
1421 | usage: edit-last-applied (RESOURCE/NAME | -f FILENAME)
1422 | args:
1423 | - name: RESOURCE/NAME
1424 | optionsgroups:
1425 | - options:
1426 | - name: filename
1427 | - name: kustomize
1428 | - name: Switches
1429 | options:
1430 | - name: recursive
1431 | - name: record
1432 | - name: windows-line-endings
1433 | - name: allow-missing-template-keys
1434 | - name: Output
1435 | options:
1436 | - name: output
1437 | - name: template
1438 | - name: apply/set-last-applied
1439 | usage: set-last-applied -f FILENAME
1440 | optionsgroups:
1441 | - options:
1442 | - name: filename
1443 | - name: Switches
1444 | options:
1445 | - name: create-annotation
1446 | - name: allow-missing-template-keys
1447 | - name: Output
1448 | options:
1449 | - name: output
1450 | - name: template
1451 | - name: Other options
1452 | options:
1453 | - name: dry-run
1454 | - name: apply/view-last-applied
1455 | usage: view-last-applied (TYPE [NAME | -l label] | TYPE/NAME | -f FILENAME)
1456 | args:
1457 | - name: TYPE[/]NAME
1458 | optionsgroups:
1459 | - options:
1460 | - name: filename
1461 | - name: kustomize
1462 | - name: selector
1463 | - name: Switches
1464 | options:
1465 | - name: recursive
1466 | - name: all
1467 | - name: Output
1468 | options:
1469 | - name: output
1470 | - name: patch
1471 | usage: patch (-f FILENAME | TYPE NAME) -p PATCH
1472 | args:
1473 | - name: TYPE
1474 | - name: NAME
1475 | optionsgroups:
1476 | - options:
1477 | - name: patch
1478 | - name: type
1479 | - name: Selection
1480 | options:
1481 | - name: filename
1482 | - name: kustomize
1483 | - name: Switches
1484 | options:
1485 | - name: recursive
1486 | - name: local
1487 | - name: record
1488 | - name: allow-missing-template-keys
1489 | - name: Output
1490 | options:
1491 | - name: output
1492 | - name: template
1493 | - name: Other options
1494 | options:
1495 | - name: dry-run
1496 | - name: replace
1497 | usage: replace -f FILENAME
1498 | optionsgroups:
1499 | - options:
1500 | - name: filename
1501 | - name: kustomize
1502 | - name: Switches
1503 | options:
1504 | - name: recursive
1505 | - name: force
1506 | - name: save-config
1507 | - name: wait
1508 | - options:
1509 | - name: allow-missing-template-keys
1510 | - name: cascade
1511 | - name: validate
1512 | - name: Output
1513 | options:
1514 | - name: output
1515 | - name: template
1516 | - name: Other options
1517 | options:
1518 | - name: dry-run
1519 | - name: grace-period
1520 | - name: raw
1521 | - name: timeout
1522 | - name: wait
1523 | usage: wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l
1524 | label | --all)]) [--for=delete|--for condition=available]
1525 | optionsgroups:
1526 | - options:
1527 | - name: for
1528 | - name: timeout
1529 | - name: Selection
1530 | options:
1531 | - name: filename
1532 | - name: selector
1533 | - name: field-selector
1534 | - name: Switches
1535 | options:
1536 | - name: all-namespaces
1537 | - name: all
1538 | - name: local
1539 | - name: allow-missing-template-keys
1540 | - name: recursive
1541 | - name: Output
1542 | options:
1543 | - name: output
1544 | - name: template
1545 | - name: convert
1546 | usage: convert -f FILENAME
1547 | optionsgroups:
1548 | - options:
1549 | - name: filename
1550 | - name: kustomize
1551 | - name: output-version
1552 | - name: Switches
1553 | options:
1554 | - name: recursive
1555 | - name: allow-missing-template-keys
1556 | - name: local
1557 | - name: validate
1558 | - name: Output
1559 | options:
1560 | - name: output
1561 | - name: template
1562 | - name: kustomize
1563 | usage: kustomize
1564 | args:
1565 | - name: DIR
1566 | - name: Settings Commands
1567 | commands:
1568 | - name: label
1569 | usage: label [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N
1570 | [--resource-version=version]
1571 | args:
1572 | - name: TYPE
1573 | - name: NAME
1574 | - name: key=val
1575 | end: true
1576 | rep: repeat
1577 | optionsgroups:
1578 | - options:
1579 | - name: filename
1580 | - name: kustomize
1581 | - options:
1582 | - name: selector
1583 | - name: field-selector
1584 | - name: resource-version
1585 | - name: Switches
1586 | options:
1587 | - name: recursive
1588 | - name: all
1589 | - name: list
1590 | - name: local
1591 | - name: overwrite
1592 | - name: record
1593 | - options:
1594 | - name: allow-missing-template-keys
1595 | - name: Output
1596 | options:
1597 | - name: output
1598 | - name: template
1599 | - name: Other options
1600 | options:
1601 | - name: dry-run
1602 | - name: annotate
1603 | usage: annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N
1604 | [--resource-version=version]
1605 | args:
1606 | - name: TYPE
1607 | - name: NAME
1608 | - name: key=val
1609 | end: true
1610 | rep: repeat
1611 | optionsgroups:
1612 | - options:
1613 | - name: filename
1614 | - name: kustomize
1615 | - name: selector
1616 | - name: field-selector
1617 | - name: Switches
1618 | options:
1619 | - name: recursive
1620 | - name: all
1621 | - name: local
1622 | - name: overwrite
1623 | - name: record
1624 | - options:
1625 | - name: allow-missing-template-keys
1626 | - name: Other options
1627 | options:
1628 | - name: resource-version
1629 | - name: output
1630 | - name: template
1631 | - name: dry-run
1632 | - name: completion
1633 | usage: completion SHELL
1634 | args:
1635 | - name: SHELL
1636 | - name: Other Commands
1637 | commands:
1638 | - name: alpha
1639 | usage: alpha
1640 | - name: alpha/debug
1641 | usage: debug NAME --image=image [ -- COMMAND [args...] ]
1642 | args:
1643 | - name: NAME
1644 | - name: --
1645 | end: true
1646 | - name: COMMAND
1647 | end: true
1648 | - name: args
1649 | end: true
1650 | choice: opt
1651 | rep: repeat
1652 | optionsgroups:
1653 | - options:
1654 | - name: image
1655 | required: true
1656 | - name: container
1657 | - name: target
1658 | - options:
1659 | - name: env
1660 | - name: image-pull-policy
1661 | - name: Switches
1662 | options:
1663 | - name: stdin
1664 | - name: tty
1665 | - name: arguments-only
1666 | - name: attach
1667 | - name: quiet
1668 | - name: api-resources
1669 | usage: api-resources
1670 | optionsgroups:
1671 | - options:
1672 | - name: api-group
1673 | - name: verbs
1674 | - name: sort-by
1675 | - name: output
1676 | - name: Switches
1677 | options:
1678 | - name: cached
1679 | - name: no-headers
1680 | - name: namespaced
1681 | - name: api-versions
1682 | usage: api-versions
1683 | - name: config
1684 | usage: config SUBCOMMAND
1685 | - name: config/current-context
1686 | usage: current-context
1687 | - name: config/delete-cluster
1688 | usage: delete-cluster NAME
1689 | args:
1690 | - name: NAME
1691 | - name: config/delete-context
1692 | usage: delete-context NAME
1693 | args:
1694 | - name: NAME
1695 | - name: config/get-clusters
1696 | usage: get-clusters
1697 | - name: config/get-contexts
1698 | usage: get-contexts [(-o|--output=)name)]
1699 | optionsgroups:
1700 | - options:
1701 | - name: output
1702 | - name: no-headers
1703 | - name: config/rename-context
1704 | usage: rename-context CONTEXT_NAME NEW_NAME
1705 | args:
1706 | - name: CONTEXT_NAME
1707 | - name: NEW_NAME
1708 | - name: config/set
1709 | usage: set PROPERTY_NAME PROPERTY_VALUE
1710 | args:
1711 | - name: PROPERTY_NAME
1712 | - name: PROPERTY_VALUE
1713 | optionsgroups:
1714 | - options:
1715 | - name: set-raw-bytes
1716 | - name: config/set-cluster
1717 | usage: set-cluster NAME [--server=server] [--certificate-authority=path/to/certificate/authority]
1718 | [--insecure-skip-tls-verify=true] [--tls-server-name=example.com]
1719 | args:
1720 | - name: NAME
1721 | optionsgroups:
1722 | - options:
1723 | - name: server
1724 | type: string
1725 | usage: server for the cluster entry in kubeconfig
1726 | shorthand: ""
1727 | - name: certificate-authority
1728 | type: string
1729 | usage: Path to certificate-authority file for the cluster entry in kubeconfig
1730 | - options:
1731 | - name: insecure-skip-tls-verify
1732 | type: tristate
1733 | usage: insecure-skip-tls-verify for the cluster entry in kubeconfig
1734 | default: "true"
1735 | - name: embed-certs
1736 | default: "true"
1737 | - name: config/set-context
1738 | usage: set-context [NAME | --current] [--cluster=cluster_nickname] [--user=user_nickname]
1739 | [--namespace=namespace]
1740 | args:
1741 | - name: NAME
1742 | optionsgroups:
1743 | - options:
1744 | - name: current
1745 | - name: cluster
1746 | type: string
1747 | usage: cluster for the context entry in kubeconfig
1748 | - name: user
1749 | type: string
1750 | usage: user for the context entry in kubeconfig
1751 | - name: namespace
1752 | type: string
1753 | usage: namespace for the context entry in kubeconfig
1754 | shorthand: ""
1755 | - name: config/set-credentials
1756 | usage: set-credentials NAME [--client-certificate=path/to/certfile] [--client-key=path/to/keyfile]
1757 | [--token=bearer_token] [--username=basic_user] [--password=basic_password] [--auth-provider=provider_name]
1758 | [--auth-provider-arg=key=value] [--exec-command=exec_command] [--exec-api-version=exec_api_version]
1759 | [--exec-arg=arg] [--exec-env=key=value]
1760 | optionsgroups:
1761 | - name: Client certificate
1762 | options:
1763 | - name: client-certificate
1764 | usage: Path to client certificate file for the user entry in kubeconfig
1765 | - name: client-key
1766 | usage: Path to client key file for the user entry in kubeconfig
1767 | - name: Bearer token
1768 | options:
1769 | - name: token
1770 | usage: token for the user entry in kubeconfig
1771 | - name: Basic auth
1772 | options:
1773 | - name: username
1774 | usage: username for the user entry in kubeconfig
1775 | - name: password
1776 | usage: password for the user entry in kubeconfig
1777 | - name: Auth provider
1778 | options:
1779 | - name: auth-provider
1780 | usage: Auth provider for the user entry in kubeconfig
1781 | - name: auth-provider-arg
1782 | usage: '''key=value'' arguments for the auth provider'
1783 | - name: Exec credential plugin
1784 | options:
1785 | - name: exec-command
1786 | usage: Command for the exec credential plugin for the user entry in kubeconfig
1787 | - name: exec-api-version
1788 | usage: API version of the exec credential plugin for the user entry in kubeconfig
1789 | - options:
1790 | - name: exec-arg
1791 | usage: New arguments for the exec credential plugin command for the user entry
1792 | in kubeconfig
1793 | - name: exec-env
1794 | usage: '''key=value'' environment values for the exec credential plugin'
1795 | - name: Switches
1796 | options:
1797 | - name: embed-certs
1798 | - name: config/unset
1799 | usage: unset PROPERTY_NAME
1800 | args:
1801 | - name: PROPERTY_NAME
1802 | - name: config/use-context
1803 | usage: use-context CONTEXT_NAME
1804 | args:
1805 | - name: CONTEXT_NAME
1806 | - name: config/view
1807 | usage: view
1808 | optionsgroups:
1809 | - name: Switches
1810 | options:
1811 | - name: flatten
1812 | - name: minify
1813 | - name: raw
1814 | - name: allow-missing-template-keys
1815 | - name: merge
1816 | - name: Output
1817 | options:
1818 | - name: output
1819 | - name: template
1820 | - name: plugin
1821 | usage: plugin [flags]
1822 | - name: plugin/list
1823 | usage: list
1824 | optionsgroups:
1825 | - name: Other options
1826 | options:
1827 | - name: name-only
1828 | - name: version
1829 | usage: version
1830 | optionsgroups:
1831 | - name: Other options
1832 | options:
1833 | - name: client
1834 | - name: short
1835 | - name: output
1836 | - name: options
1837 | usage: options
1838 |
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/feloy/kubectl-reference
2 |
3 | go 1.22.0
4 |
5 | toolchain go1.22.9
6 |
7 | require (
8 | github.com/jinzhu/copier v0.4.0
9 | github.com/spf13/cobra v1.8.1
10 | github.com/spf13/pflag v1.0.5
11 | gopkg.in/yaml.v2 v2.4.0
12 | k8s.io/kubectl v0.31.3
13 | )
14 |
15 | require (
16 | github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
17 | github.com/MakeNowJust/heredoc v1.0.0 // indirect
18 | github.com/blang/semver/v4 v4.0.0 // indirect
19 | github.com/chai2010/gettext-go v1.0.2 // indirect
20 | github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
21 | github.com/daviddengcn/go-colortext v1.0.0 // indirect
22 | github.com/distribution/reference v0.5.0 // indirect
23 | github.com/emicklei/go-restful/v3 v3.11.0 // indirect
24 | github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect
25 | github.com/fatih/camelcase v1.0.0 // indirect
26 | github.com/fxamacker/cbor/v2 v2.7.0 // indirect
27 | github.com/go-errors/errors v1.4.2 // indirect
28 | github.com/go-logr/logr v1.4.2 // indirect
29 | github.com/go-openapi/jsonpointer v0.19.6 // indirect
30 | github.com/go-openapi/jsonreference v0.20.2 // indirect
31 | github.com/go-openapi/swag v0.22.4 // indirect
32 | github.com/gogo/protobuf v1.3.2 // indirect
33 | github.com/golang/protobuf v1.5.4 // indirect
34 | github.com/google/btree v1.0.1 // indirect
35 | github.com/google/gnostic-models v0.6.8 // indirect
36 | github.com/google/go-cmp v0.6.0 // indirect
37 | github.com/google/gofuzz v1.2.0 // indirect
38 | github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
39 | github.com/google/uuid v1.6.0 // indirect
40 | github.com/gorilla/websocket v1.5.0 // indirect
41 | github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
42 | github.com/imdario/mergo v0.3.6 // indirect
43 | github.com/inconshreveable/mousetrap v1.1.0 // indirect
44 | github.com/jonboulle/clockwork v0.2.2 // indirect
45 | github.com/josharian/intern v1.0.0 // indirect
46 | github.com/json-iterator/go v1.1.12 // indirect
47 | github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
48 | github.com/lithammer/dedent v1.1.0 // indirect
49 | github.com/mailru/easyjson v0.7.7 // indirect
50 | github.com/mitchellh/go-wordwrap v1.0.1 // indirect
51 | github.com/moby/spdystream v0.4.0 // indirect
52 | github.com/moby/term v0.5.0 // indirect
53 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
54 | github.com/modern-go/reflect2 v1.0.2 // indirect
55 | github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
56 | github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
57 | github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
58 | github.com/opencontainers/go-digest v1.0.0 // indirect
59 | github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
60 | github.com/pkg/errors v0.9.1 // indirect
61 | github.com/russross/blackfriday/v2 v2.1.0 // indirect
62 | github.com/x448/float16 v0.8.4 // indirect
63 | github.com/xlab/treeprint v1.2.0 // indirect
64 | go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect
65 | golang.org/x/net v0.26.0 // indirect
66 | golang.org/x/oauth2 v0.21.0 // indirect
67 | golang.org/x/sync v0.7.0 // indirect
68 | golang.org/x/sys v0.21.0 // indirect
69 | golang.org/x/term v0.21.0 // indirect
70 | golang.org/x/text v0.16.0 // indirect
71 | golang.org/x/time v0.3.0 // indirect
72 | google.golang.org/protobuf v1.34.2 // indirect
73 | gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
74 | gopkg.in/inf.v0 v0.9.1 // indirect
75 | gopkg.in/yaml.v3 v3.0.1 // indirect
76 | k8s.io/api v0.31.3 // indirect
77 | k8s.io/apimachinery v0.31.3 // indirect
78 | k8s.io/cli-runtime v0.31.3 // indirect
79 | k8s.io/client-go v0.31.3 // indirect
80 | k8s.io/component-base v0.31.3 // indirect
81 | k8s.io/component-helpers v0.31.3 // indirect
82 | k8s.io/klog/v2 v2.130.1 // indirect
83 | k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
84 | k8s.io/metrics v0.31.3 // indirect
85 | k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
86 | sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
87 | sigs.k8s.io/kustomize/api v0.17.2 // indirect
88 | sigs.k8s.io/kustomize/kustomize/v5 v5.4.2 // indirect
89 | sigs.k8s.io/kustomize/kyaml v0.17.1 // indirect
90 | sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
91 | sigs.k8s.io/yaml v1.4.0 // indirect
92 | )
93 |
--------------------------------------------------------------------------------
/go.sum:
--------------------------------------------------------------------------------
1 | cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
2 | github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8=
3 | github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
4 | github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
5 | github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
6 | github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
7 | github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
8 | github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
9 | github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
10 | github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
11 | github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
12 | github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk=
13 | github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA=
14 | github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
15 | github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
16 | github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
17 | github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
18 | github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
19 | github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
20 | github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
21 | github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
22 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
23 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
24 | github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
25 | github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
26 | github.com/daviddengcn/go-colortext v1.0.0 h1:ANqDyC0ys6qCSvuEK7l3g5RaehL/Xck9EX8ATG8oKsE=
27 | github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c=
28 | github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0=
29 | github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
30 | github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
31 | github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
32 | github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
33 | github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
34 | github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwCFad8crR9dcMQWvV9Hvulu6hwUh4tWPJnM=
35 | github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
36 | github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=
37 | github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
38 | github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
39 | github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
40 | github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
41 | github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
42 | github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
43 | github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
44 | github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
45 | github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
46 | github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
47 | github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
48 | github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
49 | github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU=
50 | github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
51 | github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
52 | github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
53 | github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
54 | github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
55 | github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
56 | github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
57 | github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
58 | github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
59 | github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
60 | github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
61 | github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
62 | github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
63 | github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
64 | github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
65 | github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
66 | github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
67 | github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho=
68 | github.com/golangplus/bytes v1.0.0/go.mod h1:AdRaCFwmc/00ZzELMWb01soso6W1R/++O1XL80yAn+A=
69 | github.com/golangplus/fmt v1.0.0/go.mod h1:zpM0OfbMCjPtd2qkTD/jX2MgiFCqklhSUFyDW44gVQE=
70 | github.com/golangplus/testing v1.0.0 h1:+ZeeiKZENNOMkTTELoSySazi+XaEhVO0mb+eanrSEUQ=
71 | github.com/golangplus/testing v1.0.0/go.mod h1:ZDreixUV3YzhoVraIDyOzHrr76p6NUh6k/pPg/Q3gYA=
72 | github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
73 | github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
74 | github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
75 | github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
76 | github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
77 | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
78 | github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
79 | github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
80 | github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
81 | github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
82 | github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
83 | github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
84 | github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
85 | github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
86 | github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
87 | github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
88 | github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af h1:kmjWCqn2qkEml422C2Rrd27c3VGxi6a/6HNq8QmHRKM=
89 | github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
90 | github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
91 | github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
92 | github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
93 | github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
94 | github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
95 | github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
96 | github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM=
97 | github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
98 | github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
99 | github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
100 | github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
101 | github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
102 | github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8=
103 | github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg=
104 | github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
105 | github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
106 | github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
107 | github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
108 | github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
109 | github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
110 | github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
111 | github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
112 | github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
113 | github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
114 | github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
115 | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
116 | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
117 | github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
118 | github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
119 | github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=
120 | github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
121 | github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY=
122 | github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
123 | github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
124 | github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
125 | github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
126 | github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
127 | github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8=
128 | github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI=
129 | github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=
130 | github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
131 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
132 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
133 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
134 | github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
135 | github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
136 | github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
137 | github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
138 | github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
139 | github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
140 | github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
141 | github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
142 | github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
143 | github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
144 | github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
145 | github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
146 | github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
147 | github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
148 | github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
149 | github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
150 | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
151 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
152 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
153 | github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
154 | github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
155 | github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
156 | github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
157 | github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
158 | github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
159 | github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
160 | github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
161 | github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
162 | github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
163 | github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
164 | github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
165 | github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
166 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
167 | github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
168 | github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
169 | github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
170 | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
171 | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
172 | github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
173 | github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
174 | github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
175 | github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
176 | github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
177 | github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
178 | github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
179 | github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
180 | github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
181 | github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
182 | github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
183 | go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY=
184 | go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds=
185 | go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
186 | go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
187 | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
188 | golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
189 | golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
190 | golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
191 | golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
192 | golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
193 | golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
194 | golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
195 | golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
196 | golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
197 | golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
198 | golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
199 | golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
200 | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
201 | golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
202 | golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
203 | golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
204 | golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
205 | golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
206 | golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
207 | golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
208 | golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
209 | golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
210 | golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
211 | golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
212 | golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
213 | golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
214 | golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
215 | golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
216 | golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
217 | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
218 | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
219 | golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
220 | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
221 | golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
222 | golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
223 | golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
224 | golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
225 | golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
226 | golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
227 | golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
228 | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
229 | golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
230 | golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
231 | golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
232 | golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
233 | golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
234 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
235 | golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
236 | golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
237 | golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
238 | golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
239 | golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
240 | golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
241 | golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
242 | golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
243 | golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
244 | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
245 | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
246 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
247 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
248 | google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
249 | google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
250 | google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
251 | google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
252 | google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
253 | google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
254 | google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
255 | google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
256 | google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
257 | google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
258 | google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
259 | google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
260 | google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
261 | google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
262 | google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
263 | google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
264 | google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
265 | google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
266 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
267 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
268 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
269 | gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
270 | gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
271 | gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
272 | gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
273 | gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
274 | gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
275 | gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
276 | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
277 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
278 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
279 | honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
280 | honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
281 | k8s.io/api v0.31.3 h1:umzm5o8lFbdN/hIXbrK9oRpOproJO62CV1zqxXrLgk8=
282 | k8s.io/api v0.31.3/go.mod h1:UJrkIp9pnMOI9K2nlL6vwpxRzzEX5sWgn8kGQe92kCE=
283 | k8s.io/apimachinery v0.31.3 h1:6l0WhcYgasZ/wk9ktLq5vLaoXJJr5ts6lkaQzgeYPq4=
284 | k8s.io/apimachinery v0.31.3/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
285 | k8s.io/cli-runtime v0.31.3 h1:fEQD9Xokir78y7pVK/fCJN090/iYNrLHpFbGU4ul9TI=
286 | k8s.io/cli-runtime v0.31.3/go.mod h1:Q2jkyTpl+f6AtodQvgDI8io3jrfr+Z0LyQBPJJ2Btq8=
287 | k8s.io/client-go v0.31.3 h1:CAlZuM+PH2cm+86LOBemaJI/lQ5linJ6UFxKX/SoG+4=
288 | k8s.io/client-go v0.31.3/go.mod h1:2CgjPUTpv3fE5dNygAr2NcM8nhHzXvxB8KL5gYc3kJs=
289 | k8s.io/component-base v0.31.3 h1:DMCXXVx546Rfvhj+3cOm2EUxhS+EyztH423j+8sOwhQ=
290 | k8s.io/component-base v0.31.3/go.mod h1:xME6BHfUOafRgT0rGVBGl7TuSg8Z9/deT7qq6w7qjIU=
291 | k8s.io/component-helpers v0.31.3 h1:0zGPD2PrekhFWgmz85XxlMEl7dfhlKC1tERZDe3onQc=
292 | k8s.io/component-helpers v0.31.3/go.mod h1:HZ1HZx2TKXM7xSUV2cR9L5yDoyZPhhHQNaE3BPBLPUQ=
293 | k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
294 | k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
295 | k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
296 | k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
297 | k8s.io/kubectl v0.31.3 h1:3r111pCjPsvnR98oLLxDMwAeM6OPGmPty6gSKaLTQes=
298 | k8s.io/kubectl v0.31.3/go.mod h1:lhMECDCbJN8He12qcKqs2QfmVo9Pue30geovBVpH5fs=
299 | k8s.io/metrics v0.31.3 h1:DkT9I3gFlb2/z+/4BMY7WrQ/PnbukuV4Yli82v/KBCM=
300 | k8s.io/metrics v0.31.3/go.mod h1:2w9gpd8z+13oJmaPR6p3kDyrDqnxSyoKpnOw2qLIdhI=
301 | k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
302 | k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
303 | sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
304 | sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
305 | sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g=
306 | sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0=
307 | sigs.k8s.io/kustomize/kustomize/v5 v5.4.2 h1:9Zl5Gqg3XMdBEvkR54pVLCBj7FVO7W+VPNDDEzD6AyE=
308 | sigs.k8s.io/kustomize/kustomize/v5 v5.4.2/go.mod h1:5ypfJVYlPb2MKKeoGknVLxvHemDlQT+szI4+KOhnD6k=
309 | sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ=
310 | sigs.k8s.io/kustomize/kyaml v0.17.1/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
311 | sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
312 | sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
313 | sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
314 | sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
315 |
--------------------------------------------------------------------------------
/main.go:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2019 Philippe Martin.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | package main
18 |
19 | import (
20 | "flag"
21 |
22 | "github.com/feloy/kubectl-reference/generators"
23 | )
24 |
25 | func main() {
26 | flag.Parse()
27 | generators.AsDocbook()
28 | }
29 |
--------------------------------------------------------------------------------
/static/license.xml:
--------------------------------------------------------------------------------
1 | Apache 2 License
2 |
3 | Apache License
4 | Version 2.0, January 2004
5 | http://www.apache.org/licenses/
6 |
7 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
8 |
9 | Definitions
10 |
11 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
16 |
17 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
18 |
19 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
20 |
21 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
22 |
23 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
24 |
25 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
26 |
27 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
28 |
29 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
30 |
31 |
32 |
33 | Grant of Copyright License
34 |
35 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
36 |
37 |
38 |
39 | Grant of Patent License
40 |
41 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
42 |
43 |
44 |
45 | Redistribution
46 |
47 | You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
48 |
49 |
50 |
51 | You must give any other recipients of the Work or Derivative Works a copy of this License; and
52 |
53 |
54 | You must cause any modified files to carry prominent notices stating that You changed the files; and
55 |
56 |
57 | You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
58 |
59 |
60 | If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
61 |
62 |
63 |
64 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
65 |
66 |
67 | Submission of Contributions
68 |
69 | Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
70 |
71 |
72 |
73 | Trademarks
74 |
75 | This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
76 |
77 |
78 |
79 | Disclaimer of Warranty
80 |
81 | Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
82 |
83 |
84 |
85 | Limitation of Liability
86 |
87 | In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
88 |
89 |
90 | Accepting Warranty or Additional Liability
91 |
92 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
93 |
94 | END OF TERMS AND CONDITIONS
95 |
96 |
97 |
98 | APPENDIX: How to apply the Apache License to your work.
99 |
100 | To apply the Apache License to your work, attach the following
101 | boilerplate notice, with the fields enclosed by brackets "[]"
102 | replaced with your own identifying information. (Don't include
103 | the brackets!) The text should be enclosed in the appropriate
104 | comment syntax for the file format. We also recommend that a
105 | file or class name and description of purpose be included on the
106 | same "printed page" as the copyright notice for easier
107 | identification within third-party archives.
108 |
109 |
110 | Copyright [yyyy] [name of copyright owner]
111 |
112 | Licensed under the Apache License, Version 2.0 (the "License");
113 | you may not use this file except in compliance with the License.
114 | You may obtain a copy of the License at
115 |
116 | http://www.apache.org/licenses/LICENSE-2.0
117 |
118 | Unless required by applicable law or agreed to in writing, software
119 | distributed under the License is distributed on an "AS IS" BASIS,
120 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121 | See the License for the specific language governing permissions and
122 | limitations under the License.
123 |
124 |
125 |
--------------------------------------------------------------------------------
/upgrade/upgrade.go:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2019 Philippe Martin.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 | package upgrade
17 |
18 | import (
19 | "flag"
20 | "fmt"
21 | "io/ioutil"
22 | "os"
23 | "path/filepath"
24 |
25 | "github.com/feloy/kubectl-reference/generators"
26 | "gopkg.in/yaml.v2"
27 | )
28 |
29 | func getTocFile() string {
30 | return filepath.Join(*generators.GenKubectlDir, *generators.KubernetesVersion, "toc.yaml")
31 | }
32 |
33 | func Upgrade() {
34 | flag.Parse()
35 |
36 | toc := generators.ToC{}
37 | if len(getTocFile()) < 1 {
38 | fmt.Printf("Must specify --toc-file.\n")
39 | os.Exit(2)
40 | }
41 |
42 | contents, err := ioutil.ReadFile(getTocFile())
43 | if err != nil {
44 | fmt.Printf("Failed to read yaml file %s: %v", getTocFile(), err)
45 | }
46 |
47 | err = yaml.Unmarshal(contents, &toc)
48 | if err != nil {
49 | fmt.Println(err)
50 | os.Exit(1)
51 | }
52 |
53 | spec := generators.GetSpec()
54 |
55 | toc.AddMissingCommands(&spec)
56 | toc.AddMissingOptions(&spec)
57 | toc.AddMissingUsages(&spec)
58 |
59 | bytes, _ := yaml.Marshal(toc)
60 | fmt.Print(string(bytes))
61 | }
62 |
--------------------------------------------------------------------------------
/xsl/api-6x9in.xsl:
--------------------------------------------------------------------------------
1 |
2 |
17 |
20 |
21 |
22 |
23 | 9in
24 | 6in
25 | 0.75in
26 | 0.50in
27 | 0.50in
28 | 0.50in
29 | 9
30 | 1pc
31 |
32 | 1
33 | 1
34 | 1
35 |
36 | book toc,title
37 | part title
38 |
39 |
40 | wrap
41 |
42 | yes
43 | 1
44 |
45 |
46 |
47 | 1.8em
48 | 2.0em
49 | 2.2em
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | chapter
61 | appendix
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 | 12pt
91 | right
92 |
93 |
94 | right
95 | 1in
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 | part
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 | 12pt
129 | right
130 |
131 |
132 | right
133 |
134 |
135 |
136 |
--------------------------------------------------------------------------------
/xsl/api.xsl:
--------------------------------------------------------------------------------
1 |
2 |
17 |
20 |
21 |
22 | A4
23 | 1
24 | 1
25 | 1
26 |
27 | book toc,title
28 | part title
29 |
30 |
31 | wrap
32 |
33 | yes
34 | 1
35 |
36 |
--------------------------------------------------------------------------------