broker

package
v0.22.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 11 Imported by: 2

Documentation

Overview

Example (Full)
package main

import (
	"os"

	"knative.dev/reconciler-test/pkg/manifest"
)

func main() {
	images := map[string]string{}
	cfg := map[string]interface{}{
		"name":        "foo",
		"namespace":   "bar",
		"brokerClass": "a-broker-class",
		"config": map[string]interface{}{
			"kind":       "cfgkind",
			"name":       "cfgname",
			"apiVersion": "cfgapi",
		},
		"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.ExecuteLocalYAML(images, cfg)
	if err != nil {
		panic(err)
	}

	manifest.OutputYAML(os.Stdout, files)
}
Output:

apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  name: foo
  namespace: bar
  annotations:
    eventing.knative.dev/broker.class: a-broker-class
spec:
  config:
    kind: cfgkind
    namespace: bar
    name: cfgname
    apiVersion: cfgapi
  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 (
	"os"

	"knative.dev/reconciler-test/pkg/manifest"
)

func main() {
	images := map[string]string{}
	cfg := map[string]interface{}{
		"name":       "foo",
		"namespace":  "bar",
		"brokerName": "baz",
	}

	files, err := manifest.ExecuteLocalYAML(images, cfg)
	if err != nil {
		panic(err)
	}

	manifest.OutputYAML(os.Stdout, files)
}
Output:

apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  name: foo
  namespace: bar
spec:

Index

Examples

Constants

This section is empty.

Variables

View Source
var WithDeadLetterSink = delivery.WithDeadLetterSink

WithDeadLetterSink adds the dead letter sink related config to a Broker spec.

View Source
var WithRetry = delivery.WithRetry

WithRetry adds the retry related config to a Broker spec.

Functions

func Address

func Address(ctx context.Context, name string, timings ...time.Duration) (*apis.URL, error)

Address returns a broker's address.

func GVR added in v0.22.0

func Install

func Install(name string, opts ...manifest.CfgFn) feature.StepFn

Install will create a Broker resource, augmented with the config fn options.

func IsAddressable

func IsAddressable(name string, timings ...time.Duration) feature.StepFn

IsAddressable tests to see if a Broker becomes addressable within the time given.

func IsReady

func IsReady(name string, timing ...time.Duration) feature.StepFn

IsReady tests to see if a Broker becomes ready within the time given.

func WithBrokerClass

func WithBrokerClass(class string) manifest.CfgFn

WithBrokerClass adds the broker class config to a Broker spec.

Example
package main

import (
	"os"

	"knative.dev/eventing/test/rekt/resources/broker"
	"knative.dev/reconciler-test/pkg/manifest"
)

func main() {

	images := map[string]string{}
	cfg := map[string]interface{}{
		"name":      "foo",
		"namespace": "bar",
	}
	broker.WithBrokerClass("a-broker-class")(cfg)

	files, err := manifest.ExecuteLocalYAML(images, cfg)
	if err != nil {
		panic(err)
	}

	manifest.OutputYAML(os.Stdout, files)
}
Output:

apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  name: foo
  namespace: bar
  annotations:
    eventing.knative.dev/broker.class: a-broker-class
spec:

func WithBrokerTemplateFiles added in v0.22.0

func WithBrokerTemplateFiles(dir string) manifest.CfgFn

func WithEnvConfig added in v0.22.0

func WithEnvConfig() []manifest.CfgFn

Types

type EnvConfig added in v0.22.0

type EnvConfig struct {
	BrokerClass        string `envconfig:"BROKER_CLASS" default:"MTChannelBasedBroker" required:"true"`
	BrokerTemplatesDir string `envconfig:"BROKER_TEMPLATES"`
}
var EnvCfg EnvConfig

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL