diff --git a/cmd/config/docs/commands/delete-setter.md b/cmd/config/docs/commands/delete-setter.md new file mode 100644 index 000000000..9a08e10e4 --- /dev/null +++ b/cmd/config/docs/commands/delete-setter.md @@ -0,0 +1,65 @@ +## delete-setter + +[Alpha] Delete a custom setter for a Resource field + +### Synopsis + +Delete a custom setter for a Resource field. + + DIR + + A directory containing Resource configuration. + + NAME + + The name of the setter to create. + +### Deleting a Custom Setter + +**Given the YAML:** + + # resource.yaml + apiVersion: v1 + kind: Service + metadata: + ... + spec: + ... + ports: + ... + - name: http + port: 8080 # {"type":"integer","x-kustomize":{"partialFieldSetters":[{"name":"http-port","value":"8080"}]}} + ... + +**Delete setter:** + + # delete a setter for ports + $ kustomize cfg set create DIR/ http-port + +comment will be removed for this field is not settable any more. + +**Newly modified YAML:** + + # resource.yaml + apiVersion: v1 + kind: Service + metadata: + ... + spec: + ... + ports: + ... + - name: http + port: 8080 + ... + + +### Deleting a setter used in substitution + +If the setter is also used in substitution, it will ask you to delete the substitution first. + + +### Examples + + # delete a setter for port + kustomize cfg create-setter DIR/ port \ No newline at end of file diff --git a/cmd/config/internal/generateddocs/api/docs.go b/cmd/config/internal/generateddocs/api/docs.go index 70d8b2bf8..74b8b9230 100644 --- a/cmd/config/internal/generateddocs/api/docs.go +++ b/cmd/config/internal/generateddocs/api/docs.go @@ -1,10 +1,9 @@ -// Copyright 2019 The Kubernetes Authors. -// SPDX-License-Identifier: Apache-2.0 + // Code generated by "mdtogo"; DO NOT EDIT. package api -var ConfigIoLong = `# Configuration IO API Semantics +var ConfigIoLong=`# Configuration IO API Semantics Resource Configuration may be read / written from / to sources such as directories, stdin|out or network. Tools may be composed using pipes such that the tools writing @@ -64,8 +63,8 @@ Example: annotations: config.kubernetes.io/local-config: "true"` -var FunctionsImplShort = `Following is an example for implementing an nginx abstraction using a configuration` -var FunctionsImplLong = `# Running Configuration Functions using kustomize CLI +var FunctionsImplShort=`Following is an example for implementing an nginx abstraction using a configuration` +var FunctionsImplLong=`# Running Configuration Functions using kustomize CLI Configuration functions can be implemented using any toolchain and invoked using any container workflow orchestrator including Tekton, Cloud Build, or run directly using ` + "`" + `docker run` + "`" + `. @@ -234,8 +233,8 @@ The function is invoked using byrunning ` + "`" + `kustomize config run dir/` + app: nginx instance: my-instance` -var FunctionsSpecShort = `_Configuration functions_ enable shift-left practices (client-side) through:` -var FunctionsSpecLong = `# Configuration Functions Specification +var FunctionsSpecShort=`_Configuration functions_ enable shift-left practices (client-side) through:` +var FunctionsSpecLong=`# Configuration Functions Specification This document specifies a standard for client-side functions that operate on Kubernetes declarative configurations. This standard enables creating @@ -244,7 +243,7 @@ containers that can be chained together as part of a configuration management pi The end result of such a pipeline are fully rendered configurations that can then be applied to a control plane (e.g. Using ‘kubectl apply’ for Kubernetes control plane). As such, although this document references Kubernetes Resource Model and API conventions, -it is completely decoupled from Kuberentes API machinery and does not depend on any +it is completely decoupled from Kubernetes API machinery and does not depend on any in-cluster components. This document references terms described in [Kubernetes API Conventions][1]. @@ -267,7 +266,7 @@ interpreted as described in [RFC 2119][2]. Performing these on the client rather than the server enables: - Configuration to be reviewed prior to being sent to the API server -- Configuration to be validated as part of the CI?CD pipeline +- Configuration to be validated as part of the CI/CD pipeline - Configuration for Resources to validated holistically rather than individually per-Resource - e.g. ensure the ` + "`" + `Service.selector` + "`" + ` and ` + "`" + `Deployment.spec.template` + "`" + ` labels @@ -412,7 +411,7 @@ A non-zero exit code indicates a failure. [2]: https://tools.ietf.org/html/rfc2119 [3]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds` -var Merge2Long = `# Merge (2-way) +var Merge2Long=`# Merge (2-way) 2-way merges fields from a source to a destination, overriding the destination fields where they differ. @@ -504,7 +503,7 @@ var Merge2Long = `# Merge (2-way) - name: sidecar2 image: sidecar2:v1` -var Merge3Long = `# Merge (3-way) +var Merge3Long=`# Merge (3-way) 3-way merge identifies changes between an original source + updated source and merges the result into a destination, overriding the destination fields where they have changed between diff --git a/cmd/config/internal/generateddocs/commands/docs.go b/cmd/config/internal/generateddocs/commands/docs.go index bcad51a38..e9e9d8ebc 100644 --- a/cmd/config/internal/generateddocs/commands/docs.go +++ b/cmd/config/internal/generateddocs/commands/docs.go @@ -1,31 +1,30 @@ -// Copyright 2019 The Kubernetes Authors. -// SPDX-License-Identifier: Apache-2.0 + // Code generated by "mdtogo"; DO NOT EDIT. package commands -var AnnotateShort = `[Alpha] Set an annotation on Resources.` -var AnnotateLong = ` +var AnnotateShort=`[Alpha] Set an annotation on Resources.` +var AnnotateLong=` [Alpha] Set an annotation on Resources. DIR: Path to local directory. ` -var AnnotateExamples = ` +var AnnotateExamples=` kustomize cfg annotate my-dir/ --kv foo=bar kustomize cfg annotate my-dir/ --kv foo=bar --kv a=b kustomize cfg annotate my-dir/ --kv foo=bar --kind Deployment --name foo` -var CatShort = `[Alpha] Print Resource Config from a local directory.` -var CatLong = ` +var CatShort=`[Alpha] Print Resource Config from a local directory.` +var CatLong=` [Alpha] Print Resource Config from a local directory. DIR: Path to local directory. ` -var CatExamples = ` +var CatExamples=` # print Resource config from a directory kustomize cfg cat my-dir/ @@ -35,8 +34,8 @@ var CatExamples = ` # unwrap Resource config from a directory in an ResourceList ... | kustomize cfg cat` -var CompletionShort = `Install shell completion.` -var CompletionLong = ` +var CompletionShort=`Install shell completion.` +var CompletionLong=` Install shell completion for kustomize commands and flags -- supports bash, fish and zsh. kustomize install-completion @@ -52,19 +51,19 @@ To uninstall shell completion run: COMP_UNINSTALL=1 kustomize install-completion` -var CountShort = `[Alpha] Count Resources Config from a local directory.` -var CountLong = ` +var CountShort=`[Alpha] Count Resources Config from a local directory.` +var CountLong=` [Alpha] Count Resources Config from a local directory. DIR: Path to local directory. ` -var CountExamples = ` +var CountExamples=` # print Resource counts from a directory kustomize cfg count my-dir/` -var CreateSetterShort = `[Alpha] Create a custom setter for a Resource field` -var CreateSetterLong = ` +var CreateSetterShort=`[Alpha] Create a custom setter for a Resource field` +var CreateSetterLong=` Create a custom setter for a Resource field by inlining OpenAPI as comments. DIR @@ -79,7 +78,7 @@ Create a custom setter for a Resource field by inlining OpenAPI as comments. The current value of the field, or a substring within the field. ` -var CreateSetterExamples = ` +var CreateSetterExamples=` # create a setter for port fields matching "8080" kustomize cfg create-setter DIR/ port 8080 --type "integer" --field port \ --description "default port used by the app" @@ -89,24 +88,8 @@ var CreateSetterExamples = ` kustomize cfg create-setter DIR/ image-tag v1.0.1 --type "string" \ --field image --description "current stable release"` -var DeleteSetterShort = `[Alpha] Delete a custom setter of a resource field` -var DeleteSetterLong = ` -Delete a custom setter of a Resource field by inlining OpenAPI as comments. - - DIR - - A directory containing Resource configuration. - - NAME - - The name of the setter to delete. -` -var DeleteSetterExamples = ` - # delete a setter for port fields - kustomize cfg delete-setter DIR/ port` - -var FmtShort = `[Alpha] Format yaml configuration files.` -var FmtLong = ` +var FmtShort=`[Alpha] Format yaml configuration files.` +var FmtLong=` [Alpha] Format yaml configuration files. Fmt will format input by ordering fields and unordered list items in Kubernetes @@ -132,7 +115,7 @@ field paths. - .spec.template.spec.containers (by element name) - .webhooks.rules.operations (by element value) ` -var FmtExamples = ` +var FmtExamples=` # format file1.yaml and file2.yml kustomize cfg fmt file1.yaml file2.yml @@ -145,8 +128,8 @@ var FmtExamples = ` # format kustomize output kustomize build | kustomize cfg fmt` -var GrepShort = `[Alpha] Search for matching Resources in a directory or from stdin` -var GrepLong = ` +var GrepShort=`[Alpha] Search for matching Resources in a directory or from stdin` +var GrepLong=` [Alpha] Search for matching Resources in a directory or from stdin. QUERY: @@ -159,7 +142,7 @@ var GrepLong = ` DIR: Path to local directory. ` -var GrepExamples = ` +var GrepExamples=` # find Deployment Resources kustomize cfg grep "kind=Deployment" my-dir/ @@ -172,22 +155,22 @@ var GrepExamples = ` # look for Resources matching a specific container image kustomize cfg grep "spec.template.spec.containers[name=nginx].image=nginx:1\.7\.9" my-dir/ | kustomize cfg tree` -var InitShort = `[Alpha] Initialize a directory with a Krmfile.` -var InitLong = ` +var InitShort=`[Alpha] Initialize a directory with a Krmfile.` +var InitLong=` [Alpha] Initialize a directory with a Krmfile. DIR: Path to local directory. ` -var InitExamples = ` +var InitExamples=` # create a Krmfile in the local directory kustomize cfg init # create a Krmfile in my-dir/ kustomize cfg init my-dir/` -var ListSettersShort = `[Alpha] List setters for Resources.` -var ListSettersLong = ` +var ListSettersShort=`[Alpha] List setters for Resources.` +var ListSettersLong=` List setters for Resources. DIR @@ -198,15 +181,15 @@ List setters for Resources. Optional. The name of the setter to display. ` -var ListSettersExamples = ` +var ListSettersExamples=` Show setters: $ kustomize cfg list-setters DIR/ NAME DESCRIPTION VALUE TYPE COUNT SETBY name-prefix '' PREFIX string 2` -var MergeShort = `[Alpha] Merge Resource configuration files` -var MergeLong = ` +var MergeShort=`[Alpha] Merge Resource configuration files` +var MergeLong=` [Alpha] Merge Resource configuration files Merge reads Kubernetes Resource yaml configuration files from stdin or sources packages and write @@ -222,11 +205,11 @@ For information on merge rules, run: kustomize cfg docs merge ` -var MergeExamples = ` +var MergeExamples=` cat resources_and_patches.yaml | kustomize cfg merge > merged_resources.yaml` -var Merge3Short = `[Alpha] Merge diff of Resource configuration files into a destination (3-way)` -var Merge3Long = ` +var Merge3Short=`[Alpha] Merge diff of Resource configuration files into a destination (3-way)` +var Merge3Long=` [Alpha] Merge diff of Resource configuration files into a destination (3-way) Merge3 performs a 3-way merge by applying the diff between 2 sets of Resources to a 3rd set. @@ -241,11 +224,11 @@ For information on merge rules, run: kustomize cfg docs-merge3 ` -var Merge3Examples = ` +var Merge3Examples=` kustomize cfg merge3 --ancestor a/ --from b/ --to c/` -var RunFnsShort = `[Alpha] Reoncile config functions to Resources.` -var RunFnsLong = ` +var RunFnsShort=`[Alpha] Reoncile config functions to Resources.` +var RunFnsLong=` [Alpha] Reconcile config functions to Resources. run sequentially invokes all config functions in the directory, providing Resources @@ -290,11 +273,11 @@ order they appear in the file). See ` + "`" + `kustomize help cfg docs-fn` + "`" + ` for more details on writing functions. ` -var RunFnsExamples = ` +var RunFnsExamples=` kustomize fn run example/` -var SetShort = `[Alpha] Set values on Resources fields values.` -var SetLong = ` +var SetShort=`[Alpha] Set values on Resources fields values.` +var SetLong=` Set values on Resources fields. May set either the complete or partial field value. ` + "`" + `set` + "`" + ` identifies setters using field metadata published as OpenAPI extensions. @@ -332,7 +315,7 @@ The description and setBy fields are left unmodified unless specified with flags To create a custom setter for a field see: ` + "`" + `kustomize help cfg create-setter` + "`" + ` ` -var SetExamples = ` +var SetExamples=` Resource YAML: Name Prefix Setter # DIR/resources.yaml @@ -376,8 +359,8 @@ var SetExamples = ` name: test-app2 # {"description":"test environment","type":"string","x-kustomize":{"setBy":"dev","setter":[{"name":"name-prefix","value":"test"}]}} ...` -var SinkShort = `[Alpha] Implement a Sink by writing input to a local directory.` -var SinkLong = ` +var SinkShort=`[Alpha] Implement a Sink by writing input to a local directory.` +var SinkLong=` [Alpha] Implement a Sink by writing input to a local directory. kustomize fn sink [DIR] @@ -387,11 +370,11 @@ var SinkLong = ` ` + "`" + `sink` + "`" + ` writes its input to a directory ` -var SinkExamples = ` +var SinkExamples=` kustomize fn source DIR/ | your-function | kustomize fn sink DIR/` -var SourceShort = `[Alpha] Implement a Source by reading a local directory.` -var SourceLong = ` +var SourceShort=`[Alpha] Implement a Source by reading a local directory.` +var SourceLong=` [Alpha] Implement a Source by reading a local directory. kustomize fn source DIR... @@ -402,14 +385,14 @@ var SourceLong = ` ` + "`" + `source` + "`" + ` emits configuration to act as input to a function ` -var SourceExamples = ` +var SourceExamples=` # emity configuration directory as input source to a function kustomize fn source DIR/ kustomize fn source DIR/ | your-function | kustomize fn sink DIR/` -var TreeShort = `[Alpha] Display Resource structure from a directory or stdin.` -var TreeLong = ` +var TreeShort=`[Alpha] Display Resource structure from a directory or stdin.` +var TreeLong=` [Alpha] Display Resource structure from a directory or stdin. kustomize cfg tree may be used to print Resources in a directory or cluster, preserving structure @@ -430,7 +413,7 @@ By default, kustomize cfg tree uses Resource graph structure if any relationship are detected, as is typically the case when printing from a cluster. Otherwise, directory graph structure is used. The graph structure can also be selected explicitly using the '--graph-structure' flag. ` -var TreeExamples = ` +var TreeExamples=` # print Resources using directory structure kustomize cfg tree my-dir/