Documentation ¶
Overview ¶
Example (Env) ¶
package main import ( "embed" "os" "knative.dev/eventing/test/rekt/resources/channel_impl" 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{} apiVersion, kind := channel_impl.GVK().ToAPIVersionAndKind() cfg := map[string]interface{}{ "name": "foo", "namespace": "bar", "kind": kind, "apiVersion": apiVersion, } files, err := manifest.ExecuteYAML(ctx, yaml, images, cfg) if err != nil { panic(err) } manifest.OutputYAML(os.Stdout, files) }
Output: apiVersion: messaging.knative.dev/v1 kind: InMemoryChannel metadata: name: foo namespace: bar spec:
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", "apiVersion": "example.com/v1", "kind": "Sample", "delivery": map[string]interface{}{ "retry": "42", "backoffPolicy": "exponential", "backoffDelay": "2007-03-01T13:00:00Z/P1Y2M10DT2H30M", "deadLetterSink": map[string]interface{}{ "ref": map[string]string{ "kind": "deadkind", "name": "deadname", "apiVersion": "deadapi", }, "uri": "/extra/path", }, }, } files, err := manifest.ExecuteYAML(ctx, yaml, images, cfg) if err != nil { panic(err) } manifest.OutputYAML(os.Stdout, files) }
Output: apiVersion: example.com/v1 kind: Sample metadata: name: foo namespace: bar spec: delivery: deadLetterSink: ref: kind: deadkind namespace: bar name: deadname apiVersion: deadapi uri: /extra/path retry: 42 backoffPolicy: exponential backoffDelay: "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
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", "apiVersion": "example.com/v1", "kind": "Sample", } files, err := manifest.ExecuteYAML(ctx, yaml, images, cfg) if err != nil { panic(err) } manifest.OutputYAML(os.Stdout, files) }
Output: apiVersion: example.com/v1 kind: Sample metadata: name: foo namespace: bar spec:
Example (Setenv) ¶
package main import ( "embed" "log" "os" "github.com/kelseyhightower/envconfig" "knative.dev/eventing/test/rekt/resources/channel_impl" 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{} _ = os.Setenv("CHANNEL_GROUP_KIND", "Sample.example.com") _ = os.Setenv("CHANNEL_VERSION", "v2") if err := envconfig.Process("", &channel_impl.EnvCfg); err != nil { log.Fatal("Failed to process env var", err) } apiVersion, kind := channel_impl.GVK().ToAPIVersionAndKind() cfg := map[string]interface{}{ "name": "foo", "namespace": "bar", "kind": kind, "apiVersion": apiVersion, } files, err := manifest.ExecuteYAML(ctx, yaml, images, cfg) if err != nil { panic(err) } manifest.OutputYAML(os.Stdout, files) }
Output: apiVersion: example.com/v2 kind: Sample metadata: name: foo namespace: bar spec:
Index ¶
- Variables
- func Address(ctx context.Context, name string, timings ...time.Duration) (*duckv1.Addressable, error)
- func AsDestinationRef(name string) *duckv1.Destination
- func AsRef(name string) *duckv1.KReference
- func GVK() schema.GroupVersionKind
- func GVR() schema.GroupVersionResource
- func HasDeadLetterSinkURI(name string, gvr schema.GroupVersionResource) feature.StepFn
- func Install(name string, opts ...manifest.CfgFn) feature.StepFn
- func IsAddressable(name string, timing ...time.Duration) feature.StepFn
- func IsReady(name string, timing ...time.Duration) feature.StepFn
- func TypeMeta() metav1.TypeMeta
- func ValidateAddress(name string, validate addressable.ValidateAddressFn, timings ...time.Duration) feature.StepFn
- type EnvConfig
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var WithDeadLetterSink = delivery.WithDeadLetterSink
WithDeadLetterSink adds the dead letter sink related config to a Subscription spec.
Functions ¶
func Address ¶
func Address(ctx context.Context, name string, timings ...time.Duration) (*duckv1.Addressable, error)
Address returns a Channel's address.
func AsDestinationRef ¶ added in v0.38.0
func AsDestinationRef(name string) *duckv1.Destination
AsRef returns a KRef for a Channel without namespace.
func AsRef ¶
func AsRef(name string) *duckv1.KReference
AsRef returns a KRef for a Channel without namespace.
func GVK ¶
func GVK() schema.GroupVersionKind
func GVR ¶
func GVR() schema.GroupVersionResource
func HasDeadLetterSinkURI ¶ added in v0.27.4
func HasDeadLetterSinkURI(name string, gvr schema.GroupVersionResource) feature.StepFn
HasDeadLetterSinkURI asserts that the Channel has the resolved dead letter sink URI in the status.
func IsAddressable ¶
IsAddressable tests to see if a Channel becomes addressable within the time given.
func ValidateAddress ¶ added in v0.38.5
func ValidateAddress(name string, validate addressable.ValidateAddressFn, timings ...time.Duration) feature.StepFn
ValidateAddress validates the address retured by Address
Types ¶
Click to show internal directories.
Click to hide internal directories.