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", "ceOverrides": map[string]interface{}{ "extensions": map[string]string{ "ext1": "val1", "ext2": "val2", }, }, "sink": map[string]interface{}{ "ref": map[string]string{ "kind": "AKind", "name": "thesink", "apiVersion": "something.valid/v1", }, "uri": "uri/parts", }, "subject": map[string]interface{}{ "kind": "BKind", "apiVersion": "interesting/v1", "name": "thesubject", "selectorMatchLabels": map[string]string{ "match1": "this", "match2": "that", }, }, } 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: SinkBinding metadata: name: foo namespace: bar spec: ceOverrides: extensions: ext1: val1 ext2: val2 sink: ref: apiVersion: something.valid/v1 kind: AKind namespace: bar name: thesink uri: uri/parts subject: kind: BKind apiVersion: interesting/v1 namespace: bar name: thesubject selector: matchLabels: match1: this match2: that
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", "sink": map[string]interface{}{ "ref": map[string]interface{}{ "kind": "AKind", "apiVersion": "something.valid/v1", "name": "thesink", }, }, "subject": map[string]interface{}{ "kind": "BKind", "apiVersion": "interesting/v1", "name": "thesubject", }, } 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: SinkBinding metadata: name: foo namespace: bar spec: sink: ref: apiVersion: something.valid/v1 kind: AKind namespace: bar name: thesink subject: kind: BKind apiVersion: interesting/v1 namespace: bar name: thesubject
Example (WithSink) ¶
package main import ( "embed" "os" "knative.dev/eventing/test/rekt/resources/sinkbinding" "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", } sinkRef := &duckv1.Destination{ Ref: &duckv1.KReference{ Kind: "sinkkind", Namespace: "sinknamespace", Name: "sinkname", APIVersion: "sinkversion", }, URI: &apis.URL{Path: "uri/parts"}, } sinkbinding.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: SinkBinding metadata: name: foo namespace: bar spec: sink: ref: apiVersion: sinkversion kind: sinkkind namespace: bar name: sinkname uri: uri/parts subject: kind: <no value> apiVersion: <no value> namespace: bar
Index ¶
- func Gvr() schema.GroupVersionResource
- func Install(name string, sink *duckv1.Destination, subject *tracker.Reference, ...) feature.StepFn
- func IsReady(name string, timing ...time.Duration) feature.StepFn
- func WithExtensions(extensions map[string]string) 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 ¶
func Install(name string, sink *duckv1.Destination, subject *tracker.Reference, opts ...manifest.CfgFn) feature.StepFn
Install will create a SinkBinding resource, augmented with the config fn options.
func WithExtensions ¶
WithExtensions adds the ceOVerrides related config to a PingSource spec.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.