Skip to content

Commit

Permalink
Merge pull request #501 from Liujingfang1/generatoroptions
Browse files Browse the repository at this point in the history
Add example for generatorOptions
  • Loading branch information
monopole committed Nov 7, 2018
2 parents 23bf326 + 95fed47 commit fdf78b1
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 0 deletions.
18 changes: 18 additions & 0 deletions docs/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,24 @@ secretGenerator:
envCommand: printf \"DB_USERNAME=admin\nDB_PASSWORD=somepw\"
type: Opaque

# generatorOptions modify behavior of all ConfigMap and Secret generators
generatorOptions:
# labels to add to all generated resources
labels:
kustomize.generated.resources: somevalue
# annotations to add to all generated resources
annotations:
kustomize.generated.resource: somevalue
# timeoutSeconds specifies the timeout for commands
timeoutSeconds: 30
# shell and arguments to use as a context for commands used in resource
# generation. Default at time of writing: ["sh", "-c"]
shell: ["sh", "-c"]
# disableNameSuffixHash is true disables the default behavior of adding a
# suffix to the names of generated resources that is a hash of
# the resource contents.
disableNameSuffixHash: true

# Each entry in this list should resolve to a directory
# containing a kustomization file, else the
# customization fails.
Expand Down
2 changes: 2 additions & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ go get sigs.k8s.io/kustomize

* [configGenerations](configGeneration.md) -
Rolling update when ConfigMapGenerator changes

* [generatorOptions](generatorOptions.md) - Modifying behavior of all ConfigMap and Secret generators.

* [breakfast](breakfast.md) - Customize breakfast for
Alice and Bob.
Expand Down
62 changes: 62 additions & 0 deletions examples/generatorOptions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Generator Options

Kustomize provides options to modify the behavior of ConfigMap and Secret generators. These options include

- disable appending a content hash suffix to the names of generated resources
- adding labels to generated resources
- adding annotations to generated resources
- changing shell and arguments for getting data from commands
- changing timeout for executing commands

This demo shows how to use these options. First create a workspace.
```
DEMO_HOME=$(mkdir -d)
```

Create a kustomization and add a ConfigMap generator to it.

<!-- @createCMGenerator @test -->
```
cat > $DEMO_HOME/kustomization.yaml << EOF
configMapGenerator:
- name: my-configmap
literals:
- foo=bar
- baz=qux
EOF
```

Add following generatorOptions
<!-- @addGeneratorOptions @test -->
```
cat >> $DEMO_HOME/kustomization.yaml << EOF
generatorOptions:
disableNameSuffixHash: true
labels:
kustomize.generated.resource: somevalue
annotations:
annotations.only.for.generated: othervalue
EOF
```
Run `kustomize build` and make sure that the generated ConfigMap

- doesn't have name suffix
<!-- @verify @test -->
```
test 1 == \
$(kustomize build $DEMO_HOME | grep "name: my-configmap$" | wc -l); \
echo $?
```
- has label `kustomize.generated.resource: somevalue`
```
test 1 == \
$(kustomize build $DEMO_HOME | grep -A 1 "labels" | grep "kustomize.generated.resource" | wc -l); \
echo $?
```
- has annotation `annotations.only.for.generated: othervalue`
```
test 1 == \
$(kustomize build $DEMO_HOME | grep -A 1 "annotations" | grep "annotations.only.for.generated" | wc -l); \
echo $?
```

0 comments on commit fdf78b1

Please sign in to comment.