From 987ce5edf86e863f1c9fda9bd312e326ceed9a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20D=C3=B6ll?= Date: Fri, 20 Sep 2024 19:54:25 +0000 Subject: [PATCH] doc: add example configs --- examples/account-server.yaml | 3 + examples/account.yaml | 21 ++++++ examples/config-br-default-channel-jsm.yaml | 20 +++++ examples/config-nats.yaml | 19 +++++ examples/default-channels.yaml | 18 +++++ examples/operator.yaml | 6 ++ examples/ping-demo-default.yaml | 74 +++++++++++++++++++ examples/ping-demo-knative-eventing.yaml | 74 +++++++++++++++++++ examples/simple-channel.yaml | 5 ++ examples/user.yaml | 13 ++++ examples/values.yaml | 2 + .../samples/nats_v1alpha1_natsaccount.yaml | 2 +- scripts/minikubeSetup.sh | 18 +++++ 13 files changed, 274 insertions(+), 1 deletion(-) create mode 100644 examples/account-server.yaml create mode 100644 examples/account.yaml create mode 100644 examples/config-br-default-channel-jsm.yaml create mode 100644 examples/config-nats.yaml create mode 100644 examples/default-channels.yaml create mode 100644 examples/operator.yaml create mode 100644 examples/ping-demo-default.yaml create mode 100644 examples/ping-demo-knative-eventing.yaml create mode 100644 examples/simple-channel.yaml create mode 100644 examples/user.yaml create mode 100755 scripts/minikubeSetup.sh diff --git a/examples/account-server.yaml b/examples/account-server.yaml new file mode 100644 index 0000000..ba2c853 --- /dev/null +++ b/examples/account-server.yaml @@ -0,0 +1,3 @@ +controller: + nats: + url: "nats://nats.knative-eventing.svc.cluster.local" \ No newline at end of file diff --git a/examples/account.yaml b/examples/account.yaml new file mode 100644 index 0000000..5981d63 --- /dev/null +++ b/examples/account.yaml @@ -0,0 +1,21 @@ +apiVersion: natz.zeiss.com/v1alpha1 +kind: NatsAccount +metadata: + namespace: knative-eventing + name: knative-eventing-account +spec: + operatorRef: + name: natsoperator-sample + allowedUserNamespaces: + - knative-eventing + imports: [] + exports: [] + limits: + disk_storage: -1 + streams: -1 + conn: -1 + imports: -1 + exports: -1 + subs: -1 + payload: -1 + data: -1 \ No newline at end of file diff --git a/examples/config-br-default-channel-jsm.yaml b/examples/config-br-default-channel-jsm.yaml new file mode 100644 index 0000000..68d84a5 --- /dev/null +++ b/examples/config-br-default-channel-jsm.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: config-br-default-channel + namespace: knative-eventing + labels: + eventing.knative.dev/release: devel +data: + channelTemplateSpec: | + apiVersion: messaging.knative.dev/v1alpha1 + kind: NatsJetStreamChannel + spec: + stream: + config: + retention: Limits + maxBytes: 1000000000 + replicas: 1 + consumerConfigTemplate: + deliverPolicy: New + maxDeliver: 1 \ No newline at end of file diff --git a/examples/config-nats.yaml b/examples/config-nats.yaml new file mode 100644 index 0000000..162c330 --- /dev/null +++ b/examples/config-nats.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: config-nats + namespace: knative-eventing +data: + eventing-nats: | + url: nats://nats.knative-eventing.svc.cluster.local + auth: + credentialFile: + secret: + name: knative-eventing-user + key: user.creds + connOpts: + retryOnFailedConnect: true + maxReconnects: 5 + reconnectWaitMilliseconds: 2000 + reconnectJitterMilliseconds: 100 + reconnectJitterTLSMilliseconds: 1000 \ No newline at end of file diff --git a/examples/default-channels.yaml b/examples/default-channels.yaml new file mode 100644 index 0000000..e93040a --- /dev/null +++ b/examples/default-channels.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: default-ch-webhook + namespace: knative-eventing + labels: + eventing.knative.dev/release: devel + app.kubernetes.io/version: devel + app.kubernetes.io/part-of: knative-eventing +data: + default-ch-config: | + clusterDefault: + apiVersion: messaging.knative.dev/v1 + kind: NatsJetStreamChannel + knative-eventing: + some-namespace: + apiVersion: messaging.knative.dev/v1 + kind: NatsJetStreamChannel \ No newline at end of file diff --git a/examples/operator.yaml b/examples/operator.yaml new file mode 100644 index 0000000..58deb4f --- /dev/null +++ b/examples/operator.yaml @@ -0,0 +1,6 @@ +apiVersion: natz.zeiss.com/v1alpha1 +kind: NatsOperator +metadata: + namespace: knative-eventing + name: natsoperator-sample +spec: diff --git a/examples/ping-demo-default.yaml b/examples/ping-demo-default.yaml new file mode 100644 index 0000000..8b452ba --- /dev/null +++ b/examples/ping-demo-default.yaml @@ -0,0 +1,74 @@ +apiVersion: messaging.knative.dev/v1alpha1 +kind: NatsJetStreamChannel +metadata: + name: channel-defaults + namespace: knative-eventing +--- +apiVersion: serving.knative.dev/v1 +kind: Service +metadata: + name: event-display + namespace: knative-eventing +spec: + template: + metadata: + annotations: + autoscaling.knative.dev/min-scale: "1" + spec: + containers: + - name: display + image: gcr.io/knative-releases/knative.dev/eventing/cmd/event_display + ports: + - containerPort: 8080 +--- +apiVersion: sources.knative.dev/v1 +kind: PingSource +metadata: + name: ping + namespace: knative-eventing +spec: + schedule: "*/1 * * * *" + contentType: "application/json" + data: | + { "message": "Hello, World!" } + sink: + ref: + apiVersion: messaging.knative.dev/v1alpha1 + kind: NatsJetStreamChannel + name: channel-defaults +--- +apiVersion: messaging.knative.dev/v1 +kind: Subscription +metadata: + name: subscription + namespace: knative-eventing +spec: + channel: + apiVersion: messaging.knative.dev/v1alpha1 + kind: NatsJetStreamChannel + name: channel-defaults + subscriber: + ref: + apiVersion: serving.knative.dev/v1 + kind: Service + name: event-display + delivery: + deadLetterSink: + ref: + apiVersion: serving.knative.dev/v1 + kind: Service + name: dead-letter-display +--- +apiVersion: serving.knative.dev/v1 +kind: Service +metadata: + name: dead-letter-display + namespace: knative-eventing +spec: + template: + spec: + containers: + - name: display + image: gcr.io/knative-releases/knative.dev/eventing/cmd/event_display + ports: + - containerPort: 8080 \ No newline at end of file diff --git a/examples/ping-demo-knative-eventing.yaml b/examples/ping-demo-knative-eventing.yaml new file mode 100644 index 0000000..08d51ae --- /dev/null +++ b/examples/ping-demo-knative-eventing.yaml @@ -0,0 +1,74 @@ +apiVersion: messaging.knative.dev/v1alpha1 +kind: NatsJetStreamChannel +metadata: + name: channel-defaults + namespace: knative-eventing +--- +apiVersion: serving.knative.dev/v1 +kind: Service +metadata: + name: event-display + namespace: knative-eventing +spec: + template: + metadata: + annotations: + autoscaling.knative.dev/min-scale: "1" + spec: + containers: + - name: display + image: gcr.io/knative-releases/knative.dev/eventing/cmd/event_display + ports: + - containerPort: 8080 +--- +apiVersion: sources.knative.dev/v1 +kind: PingSource +metadata: + name: ping + namespace: knative-eventing +spec: + schedule: "* * * * *" + contentType: "application/json" + data: | + { "message": "Hello, World!" } + sink: + ref: + apiVersion: messaging.knative.dev/v1alpha1 + kind: NatsJetStreamChannel + name: channel-defaults +--- +apiVersion: messaging.knative.dev/v1 +kind: Subscription +metadata: + name: subscription + namespace: knative-eventing +spec: + channel: + apiVersion: messaging.knative.dev/v1alpha1 + kind: NatsJetStreamChannel + name: channel-defaults + subscriber: + ref: + apiVersion: serving.knative.dev/v1 + kind: Service + name: event-display + delivery: + deadLetterSink: + ref: + apiVersion: serving.knative.dev/v1 + kind: Service + name: dead-letter-display +--- +apiVersion: serving.knative.dev/v1 +kind: Service +metadata: + name: dead-letter-display + namespace: knative-eventing +spec: + template: + spec: + containers: + - name: display + image: gcr.io/knative-releases/knative.dev/eventing/cmd/event_display + ports: + - containerPort: 8080 \ No newline at end of file diff --git a/examples/simple-channel.yaml b/examples/simple-channel.yaml new file mode 100644 index 0000000..37b9541 --- /dev/null +++ b/examples/simple-channel.yaml @@ -0,0 +1,5 @@ +apiVersion: messaging.knative.dev/v1alpha1 +kind: NatsJetStreamChannel +metadata: + name: channel-defaults + namespace: knative-eventing \ No newline at end of file diff --git a/examples/user.yaml b/examples/user.yaml new file mode 100644 index 0000000..9bed27e --- /dev/null +++ b/examples/user.yaml @@ -0,0 +1,13 @@ +apiVersion: natz.zeiss.com/v1alpha1 +kind: NatsUser +metadata: + namespace: knative-eventing + name: knative-eventing-user +spec: + accountRef: + namespace: knative-eventing + name: knative-eventing-account + limits: + payload: -1 + subs: -1 + data: -1 \ No newline at end of file diff --git a/examples/values.yaml b/examples/values.yaml index 2df2ba0..ed591ec 100644 --- a/examples/values.yaml +++ b/examples/values.yaml @@ -1,3 +1,5 @@ +namespaceOverride: "knative-eventing" + config: resolver: enabled: true diff --git a/manifests/samples/nats_v1alpha1_natsaccount.yaml b/manifests/samples/nats_v1alpha1_natsaccount.yaml index d63967c..16a426f 100644 --- a/manifests/samples/nats_v1alpha1_natsaccount.yaml +++ b/manifests/samples/nats_v1alpha1_natsaccount.yaml @@ -8,4 +8,4 @@ metadata: app.kubernetes.io/managed-by: kustomize app.kubernetes.io/created-by: natz-operator name: natsaccount-sample -spec: +spec: \ No newline at end of file diff --git a/scripts/minikubeSetup.sh b/scripts/minikubeSetup.sh new file mode 100755 index 0000000..125f333 --- /dev/null +++ b/scripts/minikubeSetup.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Install the Knative Serving and Eventing components +helm install knative zeiss-staging/knative --wait +# Install the Eventing components +helm install eventing zeiss-staging/eventing --wait --namespace knative-eventing --create-namespace +# Install the NATZ operator +helm install natz-operator natz-operator/natz-operator --wait --namespace knative-eventing +# Create operator resources +kubectl apply -f ../examples/operator.yaml +# Create account resources +kubectl apply -f ../examples/account.yaml +# Create user resources +kubectl apply -f ../examples/user.yaml +# Install NATS.io +helm install nats nats/nats --values examples/values.yaml +# Install the NATZ accounts-server +helm install account-server natz-operator/account-server --wait --namespace knative-eventing --values examples/account-server.yaml