Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Commit f7b7c7c

Browse files
author
odacremolbap
committed
wiring up controller and CRD
1 parent 47f8aef commit f7b7c7c

File tree

21 files changed

+547
-450
lines changed

21 files changed

+547
-450
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ ko apply -f ./config
1616

1717
## Usage
1818

19-
- [Getting Started](docs/getting-started.md).
19+
- [Getting Started (Redis Broker)](docs/getting-started-redis.md).
20+
- [Getting Started (Memory Broker)](docs/getting-started-memory.md).
2021
- [Broker Observability](docs/observable-broker.md).
2122

2223
## Contributing

cmd/core-controller/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ package main
33
import (
44
"knative.dev/pkg/injection/sharedmain"
55

6+
"github.com/triggermesh/triggermesh-core/pkg/reconciler/memorybroker"
67
"github.com/triggermesh/triggermesh-core/pkg/reconciler/redisbroker"
78
"github.com/triggermesh/triggermesh-core/pkg/reconciler/trigger"
89
)
910

1011
func main() {
1112
sharedmain.Main("core-controller",
13+
memorybroker.NewController,
1214
redisbroker.NewController,
1315
trigger.NewController,
1416
)

config/200-clusterroles.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ rules:
5757
- apiGroups:
5858
- eventing.triggermesh.io
5959
resources:
60+
- memorybrokers
6061
- redisbrokers
6162
- triggers
6263
verbs:
@@ -67,6 +68,7 @@ rules:
6768
- apiGroups:
6869
- eventing.triggermesh.io
6970
resources:
71+
- memorybrokers/status
7072
- redisbrokers/status
7173
- triggers/status
7274
verbs:
@@ -78,6 +80,7 @@ rules:
7880
- apiGroups:
7981
- eventing.triggermesh.io
8082
resources:
83+
- memorybrokers/finalizers
8184
- redisbrokers/finalizers
8285
- triggers/finalizers
8386
verbs:
@@ -87,6 +90,7 @@ rules:
8790
- apiGroups:
8891
- eventing.triggermesh.io
8992
resources:
93+
- memorybrokers
9094
- redisbrokers
9195
- triggers
9296
verbs:

config/200-triggermesh-core-addressable-resolvers.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ rules:
1313
- apiGroups:
1414
- eventing.triggermesh.io
1515
resources:
16+
- memorybrokers
1617
- redisbrokers
1718
verbs:
1819
- get

config/300-memorybroker.yaml

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Copyright 2022 TriggerMesh Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
apiVersion: apiextensions.k8s.io/v1
5+
kind: CustomResourceDefinition
6+
metadata:
7+
name: memorybrokers.eventing.triggermesh.io
8+
labels:
9+
triggermesh.io/crd-install: 'true'
10+
spec:
11+
group: eventing.triggermesh.io
12+
scope: Namespaced
13+
names:
14+
kind: MemoryBroker
15+
listKind: MemoryBrokerList
16+
plural: memorybrokers
17+
singular: memorybroker
18+
categories:
19+
- all
20+
- triggermesh
21+
- brokers
22+
23+
versions:
24+
- name: v1alpha1
25+
served: true
26+
storage: true
27+
subresources:
28+
status: {}
29+
schema:
30+
openAPIV3Schema:
31+
description: MemoryBroker is the Schema for the memorybrokers API
32+
type: object
33+
properties:
34+
apiVersion:
35+
description: 'APIVersion defines the versioned schema of this representation
36+
of an object. Servers should convert recognized schemas to the latest
37+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
38+
type: string
39+
kind:
40+
description: 'Kind is a string value representing the REST resource this
41+
object represents. Servers may infer this from the endpoint the client
42+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
43+
type: string
44+
metadata:
45+
type: object
46+
spec:
47+
description: MemoryBrokerSpec defines the desired state of MemoryBroker
48+
type: object
49+
properties:
50+
memory:
51+
description: Memory options.
52+
type: object
53+
properties:
54+
bufferSize:
55+
description: Maximum number of elements to buffer.
56+
type: integer
57+
broker:
58+
description: Broker options.
59+
type: object
60+
properties:
61+
port:
62+
description: Broker HTTP port.
63+
type: integer
64+
observability:
65+
description: Observability parameters for the Broker.
66+
type: object
67+
properties:
68+
valueFromConfigMap:
69+
description: ConfigMap that contains the observability parameters.
70+
type: string
71+
required:
72+
- valueFromConfigMap
73+
74+
status:
75+
description: Status represents the current state of the Broker. This data may be out of date.
76+
type: object
77+
properties:
78+
address:
79+
description: Broker is Addressable. It exposes the endpoint as an URI to get events delivered into the Broker mesh.
80+
type: object
81+
properties:
82+
url:
83+
type: string
84+
conditions:
85+
description: Conditions the latest available observations of a resource's current state.
86+
type: array
87+
items:
88+
type: object
89+
required:
90+
- type
91+
- status
92+
properties:
93+
lastTransitionTime:
94+
description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
95+
type: string
96+
message:
97+
description: 'A human readable message indicating details about the transition.'
98+
type: string
99+
reason:
100+
description: 'The reason for the condition''s last transition.'
101+
type: string
102+
severity:
103+
description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
104+
type: string
105+
status:
106+
description: 'Status of the condition, one of True, False, Unknown.'
107+
type: string
108+
type:
109+
description: 'Type of condition.'
110+
type: string
111+
observedGeneration:
112+
description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
113+
type: integer
114+
format: int64
115+
additionalPrinterColumns:
116+
- name: URL
117+
type: string
118+
jsonPath: .status.address.url
119+
- name: Age
120+
type: date
121+
jsonPath: .metadata.creationTimestamp
122+
- name: Ready
123+
type: string
124+
jsonPath: .status.conditions[?(@.type=='Ready')].status
125+
- name: Reason
126+
type: string
127+
jsonPath: .status.conditions[?(@.type=='Ready')].reason
128+
129+
130+

config/500-core-controller.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ spec:
6666
- name: METRICS_DOMAIN
6767
value: triggermesh.io
6868
# Deployment images
69+
- name: MEMORYBROKER_BROKER_IMAGE
70+
value: gcr.io/triggermesh/memory-broker:dev
6971
- name: REDISBROKER_REDIS_IMAGE
7072
value: redis/redis-stack-server:latest
7173
- name: REDISBROKER_BROKER_IMAGE
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
apiVersion: eventing.triggermesh.io/v1alpha1
2+
kind: MemoryBroker
3+
metadata:
4+
name: demo
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
apiVersion: eventing.triggermesh.io/v1alpha1
2+
kind: Trigger
3+
metadata:
4+
name: mdemo
5+
spec:
6+
broker:
7+
kind: MemoryBroker
8+
group: eventing.triggermesh.io
9+
name: demo
10+
filters:
11+
- any:
12+
- exact:
13+
type: demo.type1
14+
target:
15+
ref:
16+
apiVersion: v1
17+
kind: Service
18+
name: display-target
19+
20+
delivery:
21+
retry: 3
22+
deadLetterSink:
23+
ref:
24+
kind: Service
25+
apiVersion: v1
26+
name: display-deadlettersink
27+

docs/assets/manifests/getting-started/trigger.yaml renamed to docs/assets/manifests/getting-started-redis/trigger.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: eventing.triggermesh.io/v1alpha1
22
kind: Trigger
33
metadata:
4-
name: demo
4+
name: rdemo
55
spec:
66
broker:
77
kind: RedisBroker

0 commit comments

Comments
 (0)