Documentation ¶
Overview ¶
Example (Full) ¶
package main import ( "embed" "os" testlog "knative.dev/reconciler-test/pkg/logging" "knative.dev/reconciler-test/pkg/manifest" ) //go:embed *.yaml var yaml embed.FS func main() { ctx := testlog.NewContext() images := map[string]string{} cfg := map[string]interface{}{ "name": "foo", "namespace": "bar", "args": "--period=1", "ceOverrides": map[string]interface{}{ "extensions": map[string]string{ "ext1": "val1", "ext2": "val2", }, }, "sink": map[string]interface{}{ "ref": map[string]interface{}{ "kind": "AKind", "namespace": "ANamespace", "apiVersion": "something.valid/v1", "name": "thesink", }, "uri": "uri/parts", "CACerts": "cert", }, } files, err := manifest.ExecuteYAML(ctx, yaml, images, cfg) if err != nil { panic(err) } manifest.OutputYAML(os.Stdout, files) // apiVersion: sources.knative.dev/v1 // kind: ContainerSource // metadata: // // name: foo // namespace: bar // // spec: // // ceOverrides: // extensions: // ext1: val1 // ext2: val2 // sink: // ref: // kind: AKind // namespace: ANamespace // name: thesink // apiVersion: something.valid/v1 // uri: uri/parts // CACerts: |- // cert // template: // spec: // containers: // - name: heartbeats // image: ko://knative.dev/eventing/cmd/heartbeats // imagePullPolicy: IfNotPresent // args: // - --period=1 // env: // - name: POD_NAME // value: heartbeats // - name: POD_NAMESPACE // value: bar }
Output:
Example (Min) ¶
package main import ( "embed" "os" testlog "knative.dev/reconciler-test/pkg/logging" "knative.dev/reconciler-test/pkg/manifest" ) //go:embed *.yaml var yaml embed.FS func main() { ctx := testlog.NewContext() images := map[string]string{} cfg := map[string]interface{}{ "name": "foo", "namespace": "bar", "args": "--period=1", } files, err := manifest.ExecuteYAML(ctx, yaml, images, cfg) if err != nil { panic(err) } manifest.OutputYAML(os.Stdout, files) }
Output: apiVersion: sources.knative.dev/v1 kind: ContainerSource metadata: name: foo namespace: bar spec: sink: template: spec: containers: - name: heartbeats image: ko://knative.dev/eventing/cmd/heartbeats imagePullPolicy: IfNotPresent args: - --period=1 env: - name: POD_NAME value: heartbeats - name: POD_NAMESPACE value: bar
Example (Sink) ¶
package main import ( "embed" "os" "knative.dev/eventing/test/rekt/resources/containersource" "knative.dev/pkg/apis" duckv1 "knative.dev/pkg/apis/duck/v1" testlog "knative.dev/reconciler-test/pkg/logging" "knative.dev/reconciler-test/pkg/manifest" ) //go:embed *.yaml var yaml embed.FS func main() { ctx := testlog.NewContext() images := map[string]string{} cfg := map[string]interface{}{ "name": "foo", "namespace": "bar", "args": "--period=1", "ceOverrides": map[string]interface{}{ "extensions": map[string]string{ "ext1": "val1", "ext2": "val2", }, }, } sinkRef := &duckv1.Destination{ Ref: &duckv1.KReference{ Kind: "AKind", Namespace: "sinknamespace", Name: "thesink", APIVersion: "something.valid/v1", }, URI: &apis.URL{Path: "uri/parts"}, } containersource.WithSink(sinkRef)(cfg) files, err := manifest.ExecuteYAML(ctx, yaml, images, cfg) if err != nil { panic(err) } manifest.OutputYAML(os.Stdout, files) }
Output: apiVersion: sources.knative.dev/v1 kind: ContainerSource metadata: name: foo namespace: bar spec: ceOverrides: extensions: ext1: val1 ext2: val2 sink: ref: kind: AKind namespace: sinknamespace name: thesink apiVersion: something.valid/v1 uri: uri/parts template: spec: containers: - name: heartbeats image: ko://knative.dev/eventing/cmd/heartbeats imagePullPolicy: IfNotPresent args: - --period=1 env: - name: POD_NAME value: heartbeats - name: POD_NAMESPACE value: bar
Index ¶
- func Gvr() schema.GroupVersionResource
- func Install(name string, opts ...manifest.CfgFn) feature.StepFn
- func IsReady(name string, timing ...time.Duration) feature.StepFn
- func WithArgs(args string) manifest.CfgFn
- func WithExtensions(extensions map[string]interface{}) manifest.CfgFn
- func WithSink(d *duckv1.Destination) manifest.CfgFn
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Gvr ¶
func Gvr() schema.GroupVersionResource
func Install ¶
Install will create a ContainerSource resource, augmented with the config fn options.
func WithArgs ¶ added in v0.35.0
WithArgs add template.spec.containers.args to a ContainerSource spec.
func WithExtensions ¶
WithExtensions adds the ceOverrides related config to a ContainerSource spec.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.