mirror of https://github.com/knative/client.git
bumping knative.dev/eventing c1b0ea6...f69e181: > f69e181 Update community files (# 6435) > 159f4ec upgrade to latest dependencies (# 6432) > 33d1be7 Bump PodDisruptionBudget to policy/v1 (# 6424) > ee47ed1 Update community files (# 6431) > 9c41f75 upgrade to latest dependencies (# 6428) > eaec729 Update actions (# 6427) > 7763e03 upgrade to latest dependencies (# 6423) > 0866e62 Report last error for unavailability periods (# 6381) bumping knative.dev/networking 07c9d76...716a8b8: > 716a8b8 Update community files (# 687) > 10dbbe0 Update community files (# 686) > a44888a Update actions (# 685) bumping knative.dev/pkg 9c5a731...97eb150: > 97eb150 Update community files (# 2541) > 5569169 update boilerplate date (# 2539) > 85965e1 upgrade to latest dependencies (# 2540) > f4ae0af Update community files (# 2538) > f5db225 Drop `UserInfo` from logger tagging in webhook. (# 2535) > 1777513 Update actions (# 2536) bumping knative.dev/hack dc6c287...65c463a: > 65c463a Update community files (# 195) > e7d6365 Add [skip-dot-release] feature (# 189) > 33ce6af Update community files (# 190) bumping knative.dev/serving 3573163...df215c7: > df215c7 Update community files (# 13076) > 58cce54 Support config to deploy internal certificates automatically (# 13005) > 25de812 Fix webhook config drift issue (# 13061) > ee386a1 Update community files (# 13068) > d9cb5f0 Update net-istio nightly (# 13067) > 189003d Update net-contour nightly (# 13066) > d0367df Update net-gateway-api nightly (# 13064) > 278cedc Update net-certmanager nightly (# 13065) > 1da6f33 Update actions (# 13063) > cd85b44 Update net-gateway-api nightly (# 13062) > 752c336 Allow calls to test.Setup to disable logstream (# 13046) > 8f62874 Update net-certmanager nightly (# 13040) > 2b7f301 Update net-istio nightly (# 13031) > 6eccc36 Update net-gateway-api nightly (# 13029) > 38c5dbc Update net-contour nightly (# 13032) > f25a0df Temporarily disable flaky kind test (# 13055) Signed-off-by: Knative Automation <automation@knative.team> |
||
|---|---|---|
| .. | ||
| ducktypes | ||
| v1 | ||
| v1beta1 | ||
| ABOUT.md | ||
| README.md | ||
| cached.go | ||
| const.go | ||
| doc.go | ||
| enqueue.go | ||
| interface.go | ||
| patch.go | ||
| register.go | ||
| typed.go | ||
| unstructured.go | ||
| verify.go | ||
README.md
Duck Types
Knative leverages duck-typing to interact with resources inside of Kubernetes
without explicit knowledge of the full resource shape. knative/pkg defines
three duck types that are used throughout Knative: Addressable, Binding, and
Source.
For APIs leveraging ObjectReference, the context of the resource in question
identifies the duck-type. To enable the case where no ObjectReference is used,
we have labeled the Custom Resource Definition with the duck-type. Those labels
are as follows:
| Label | Duck-Type |
|---|---|
duck.knative.dev/addressable=true |
Addressable |
duck.knative.dev/binding=true |
Binding |
duck.knative.dev/source=true |
Source |
Addressable Shape
Addressable is expected to be the following shape:
apiVersion: group/version
kind: Kind
status:
address:
url: http://host/path?query
Binding Shape
Binding is expected to be in the following shape:
(with direct subject)
apiVersion: group/version
kind: Kind
spec:
subject:
apiVersion: group/version
kind: SomeKind
namespace: the-namespace
name: a-name
(with indirect subject)
apiVersion: group/version
kind: Kind
spec:
subject:
apiVersion: group/version
kind: SomeKind
namespace: the-namespace
selector:
matchLabels:
key: value
Source Shape
Source is expected to be in the following shape:
(with ref sink)
apiVersion: group/version
kind: Kind
spec:
sink:
ref:
apiVersion: group/version
kind: AnAddressableKind
name: a-name
ceOverrides:
extensions:
key: value
status:
observedGeneration: 1
conditions:
- type: Ready
status: "True"
sinkUri: http://host
(with uri sink)
apiVersion: group/version
kind: Kind
spec:
sink:
uri: http://host/path?query
ceOverrides:
extensions:
key: value
status:
observedGeneration: 1
conditions:
- type: Ready
status: "True"
sinkUri: http://host/path?query
(with ref and uri sink)
apiVersion: group/version
kind: Kind
spec:
sink:
ref:
apiVersion: group/version
kind: AnAddressableKind
name: a-name
uri: /path?query
ceOverrides:
extensions:
key: value
status:
observedGeneration: 1
conditions:
- type: Ready
status: "True"
sinkUri: http://host/path?query