mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-24 15:57:00 +00:00
rename config.k8s.io/function to config.kubernetes.io/function
This commit is contained in:
@@ -22,7 +22,7 @@ order they appear in the file).
|
||||
|
||||
#### Config Functions:
|
||||
|
||||
Config functions are specified as Kubernetes types containing a metadata.annotations.[config.k8s.io/function]
|
||||
Config functions are specified as Kubernetes types containing a metadata.annotations.[config.kubernetes.io/function]
|
||||
field specifying an image for the container to run. This image tells run how to invoke the container.
|
||||
|
||||
Example config function:
|
||||
@@ -32,7 +32,7 @@ order they appear in the file).
|
||||
kind: ExampleFunctionKind
|
||||
metadata:
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
# function is invoked as a container running this image
|
||||
image: gcr.io/example/examplefunction:v1.0.1
|
||||
@@ -41,7 +41,7 @@ order they appear in the file).
|
||||
configField: configValue
|
||||
|
||||
In the preceding example, 'kustomize config run example/' would identify the function by
|
||||
the metadata.annotations.[config.k8s.io/function] field. It would then write all Resources in the directory to
|
||||
the metadata.annotations.[config.kubernetes.io/function] field. It would then write all Resources in the directory to
|
||||
a container stdin (running the gcr.io/example/examplefunction:v1.0.1 image). It
|
||||
would then write the container stdout back to example/, replacing the directory
|
||||
file contents.
|
||||
|
||||
@@ -220,7 +220,7 @@ order they appear in the file).
|
||||
|
||||
#### Config Functions:
|
||||
|
||||
Config functions are specified as Kubernetes types containing a metadata.annotations.[config.k8s.io/function]
|
||||
Config functions are specified as Kubernetes types containing a metadata.annotations.[config.kubernetes.io/function]
|
||||
field specifying an image for the container to run. This image tells run how to invoke the container.
|
||||
|
||||
Example config function:
|
||||
@@ -230,7 +230,7 @@ order they appear in the file).
|
||||
kind: ExampleFunctionKind
|
||||
metadata:
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
# function is invoked as a container running this image
|
||||
image: gcr.io/example/examplefunction:v1.0.1
|
||||
@@ -239,7 +239,7 @@ order they appear in the file).
|
||||
configField: configValue
|
||||
|
||||
In the preceding example, 'kustomize config run example/' would identify the function by
|
||||
the metadata.annotations.[config.k8s.io/function] field. It would then write all Resources in the directory to
|
||||
the metadata.annotations.[config.kubernetes.io/function] field. It would then write all Resources in the directory to
|
||||
a container stdin (running the gcr.io/example/examplefunction:v1.0.1 image). It
|
||||
would then write the container stdout back to example/, replacing the directory
|
||||
file contents.
|
||||
|
||||
@@ -15,7 +15,7 @@ Resource configuration, and looks for invalid configuration.
|
||||
## Function invocation
|
||||
|
||||
The function is invoked by authoring a [local Resource](local-resource)
|
||||
with `metadata.annotations.[config.k8s.io/function]` and running:
|
||||
with `metadata.annotations.[config.kubernetes.io/function]` and running:
|
||||
|
||||
kustomize config run local-resource/
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ apiVersion: examples.config.kubernetes.io/v1beta1
|
||||
kind: Validator
|
||||
metadata:
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
image: gcr.io/kustomize-functions/example-tshirt:v0.1.0
|
||||
---
|
||||
|
||||
@@ -25,7 +25,7 @@ function input, and writing the function output.
|
||||
## Function invocation
|
||||
|
||||
The function is invoked by authoring a [local Resource](local-resource)
|
||||
with `metadata.annotations.[config.k8s.io/function]` and running:
|
||||
with `metadata.annotations.[config.kubernetes.io/function]` and running:
|
||||
|
||||
kustomize config run local-resource/
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ kind: Nginx
|
||||
metadata:
|
||||
name: demo
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
image: gcr.io/kustomize-functions/example-nginx:v0.1.0
|
||||
spec:
|
||||
|
||||
@@ -20,7 +20,7 @@ heavy lifting of implementing the function interface.
|
||||
## Function invocation
|
||||
|
||||
The function is invoked by authoring a [local Resource](local-resource)
|
||||
with `metadata.annotations.[config.k8s.io/function]` and running:
|
||||
with `metadata.annotations.[config.kubernetes.io/function]` and running:
|
||||
|
||||
kustomize config run local-resource/
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ kind: CockroachDB
|
||||
metadata:
|
||||
name: demo
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
image: gcr.io/kustomize-functions/example-cockroachdb:v0.1.0
|
||||
spec:
|
||||
|
||||
@@ -18,7 +18,7 @@ the `API` struct definition in [main.go](image/main.go) for documentation.
|
||||
## Function invocation
|
||||
|
||||
The function is invoked by authoring a [local Resource](local-resource)
|
||||
with `metadata.annotations.[config.k8s.io/function]` and running:
|
||||
with `metadata.annotations.[config.kubernetes.io/function]` and running:
|
||||
|
||||
kustomize config run local-resource/
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ apiVersion: examples.config.kubernetes.io/v1beta1
|
||||
kind: Kubeval
|
||||
metadata:
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
image: gcr.io/kustomize-functions/example-validator-kubeval:v0.1.0
|
||||
spec:
|
||||
|
||||
@@ -15,7 +15,7 @@ Resource configuration, and looks for invalid configuration.
|
||||
## Function invocation
|
||||
|
||||
The function is invoked by authoring a [local Resource](local-resource)
|
||||
with `metadata.annotations.[config.k8s.io/function]` and running:
|
||||
with `metadata.annotations.[config.kubernetes.io/function]` and running:
|
||||
|
||||
kustomize config run local-resource/
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ apiVersion: examples.config.kubernetes.io/v1beta1
|
||||
kind: Validator
|
||||
metadata:
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
image: gcr.io/kustomize-functions/example-validator:v0.1.0
|
||||
---
|
||||
|
||||
@@ -194,6 +194,13 @@ func (c *IsReconcilerFilter) Filter(inputs []*yaml.RNode) ([]*yaml.RNode, error)
|
||||
return out, nil
|
||||
}
|
||||
|
||||
const (
|
||||
FunctionAnnotationKey = "config.kubernetes.io/function"
|
||||
oldFunctionAnnotationKey = "config.k8s.io/function"
|
||||
)
|
||||
|
||||
var functionAnnotationKeys = []string{FunctionAnnotationKey, oldFunctionAnnotationKey}
|
||||
|
||||
// GetContainerName returns the container image for an API if one exists
|
||||
func GetContainerName(n *yaml.RNode) (string, string) {
|
||||
meta, _ := n.GetMeta()
|
||||
@@ -201,11 +208,14 @@ func GetContainerName(n *yaml.RNode) (string, string) {
|
||||
// path to the function, this will be mounted into the container
|
||||
path := meta.Annotations[kioutil.PathAnnotation]
|
||||
|
||||
functionAnnotation := meta.Annotations["config.k8s.io/function"]
|
||||
if functionAnnotation != "" {
|
||||
annotationContent, _ := yaml.Parse(functionAnnotation)
|
||||
image, _ := annotationContent.Pipe(yaml.Lookup("container", "image"))
|
||||
return image.YNode().Value, path
|
||||
// check previous keys for backwards compatibility
|
||||
for _, s := range functionAnnotationKeys {
|
||||
functionAnnotation := meta.Annotations[s]
|
||||
if functionAnnotation != "" {
|
||||
annotationContent, _ := yaml.Parse(functionAnnotation)
|
||||
image, _ := annotationContent.Pipe(yaml.Lookup("container", "image"))
|
||||
return image.YNode().Value, path
|
||||
}
|
||||
}
|
||||
|
||||
container := meta.Annotations["config.kubernetes.io/container"]
|
||||
|
||||
@@ -333,12 +333,12 @@ metadata:
|
||||
c, _ = GetContainerName(n)
|
||||
assert.Equal(t, "gcr.io/foo/bar:something", c)
|
||||
|
||||
// container from config.k8s.io/function annotation
|
||||
// container from config.kubernetes.io/function annotation
|
||||
n, err = yaml.Parse(`apiVersion: v1
|
||||
kind: MyThing
|
||||
metadata:
|
||||
annotations:
|
||||
config.k8s.io/function: |
|
||||
config.kubernetes.io/function: |
|
||||
container:
|
||||
image: gcr.io/foo/bar:something
|
||||
`)
|
||||
|
||||
Reference in New Issue
Block a user