Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
.idea/
.vscode/
.history/
__pycache__
hack/__pycache__
/site/


.settings/
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions docs/client/configure-kn.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ weight: 03
type: "docs"
---

# Customizing kn

You can customize your `kn` CLI setup by creating a `config.yaml` configuration file. You can provide this configuration by using the `--config` flag, otherwise the configuration is picked up from a default location. The default configuration location conforms to the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), and is different for Unix systems and Windows systems.

- If the `XDG_CONFIG_HOME` environment variable is set, the default configuration location that `kn` looks for is `$XDG_CONFIG_HOME/kn`.
Expand Down
2 changes: 2 additions & 0 deletions docs/client/install-kn.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ aliases:
- /docs/install/install-kn
---

# Installing kn

This guide provides details about how you can install the Knative `kn` CLI.

## Install kn using brew
Expand Down
2 changes: 2 additions & 0 deletions docs/client/kn-plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ weight: 04
type: "docs"
---

# kn plugins

The `kn` CLI supports the use of plugins. Plugins enable you to extend the functionality of your `kn` installation by adding custom commands and other shared commands that are not part of the core distribution of `kn`.

<!--TODO: Add details about installing and using different available plugins, list of available plugins-->
2 changes: 2 additions & 0 deletions docs/eventing/_index.md → docs/eventing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ aliases:
- /eventing/README
---

# Knative Eventing

Knative Eventing is a system that is designed to address a common need for cloud
native development and provides composable primitives to enable late-binding
event sources and event consumers.
Expand Down
2 changes: 2 additions & 0 deletions docs/eventing/accessing-traces.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ weight: 85
type: "docs"
---

# Accessing CloudEvent traces

Depending on the request tracing tool that you have installed on your Knative
Eventing cluster, see the corresponding section for details about how to
visualize and trace your requests.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ aliases:
- docs/eventing/broker/alternate
---

# Brokers

Brokers are Kubernetes [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) that define an event mesh for collecting a pool of [CloudEvents](https://cloudevents.io/). Brokers provide a discoverable endpoint, `status.address`, for event ingress, and triggers for event delivery. Event producers can send events to a broker by POSTing the event to the `status.address.url` of the broker.

Event delivery mechanics are an implementation detail that depend on the configured [broker class](./configmaps/broker-configmaps/#broker-class-options). Using brokers and triggers abstracts the details of event routing from the event producer and event consumer.
Expand Down
2 changes: 2 additions & 0 deletions docs/eventing/broker/broker-event-delivery.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ type: "docs"
showlandingtoc: "false"
---

# Event delivery

You can configure how events are delivered for each broker by adding a `delivery` spec, as shown in the following example:

```yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ aliases:
- /docs/eventing/broker/config-br-defaults
---

# ConfigMaps

Knative Eventing provides a `config-br-defaults` ConfigMap that contains the configuration settings that govern default broker creation.
<!--TODO: Create a version of this doc for the channels doc section-->
The default `config-br-defaults` ConfigMap is as follows:
Expand Down
81 changes: 42 additions & 39 deletions docs/eventing/broker/create-mtbroker.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,63 +5,66 @@ type: "docs"
showlandingtoc: "false"
---

# Creating a broker

Once you have installed Knative Eventing, you can create an instance of the multi-tenant (MT) channel-based broker that is provided by default. The default backing channel type for an MT channel-based broker is InMemoryChannel.

You can create a broker by using the `kn` CLI or by applying YAML files using `kubectl`.

{{< tabs name="Create a broker" default="kn" >}}
{{% tab name="kn" %}}

1. You can create a broker in current namespace by entering the following command:
=== "kn"

1. You can create a broker in current namespace by entering the following command:

```shell
kn broker create <broker-name> -n <namespace>
```

**NOTE:** If you choose not to specify a namespace, the broker will be created in the current namespace.

1. Optional: Verify that the broker was created by listing existing brokers. Enter the following command:

```shell
kn broker list
```

```shell
kn broker create <broker-name> -n <namespace>
```
1. Optional: You can also verify the broker exists by describing the broker you have created. Enter the following command:

**NOTE:** If you choose not to specify a namespace, the broker will be created in the current namespace.
```shell
kn broker describe <broker-name>
```

1. Optional: Verify that the broker was created by listing existing brokers. Enter the following command:

```shell
kn broker list
```
=== "kubectl"

1. Optional: You can also verify the broker exists by describing the broker you have created. Enter the following command:
The YAML in the following example creates a broker named `default` in the current namespace. For more information about configuring broker options using YAML, see the full [broker configuration example](./example-mtbroker).

```shell
kn broker describe <broker-name>
```
1. Create a broker in the current namespace:

{{< /tab >}}
{{% tab name="kubectl" %}}
```yaml
kubectl apply -f - <<EOF
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
name: <broker-name>
EOF
```

The YAML in the following example creates a broker named `default` in the current namespace. For more information about configuring broker options using YAML, see the full [broker configuration example](./example-mtbroker).
1. Optional: Verify that the broker is working correctly, by entering the following command:

1. Create a broker in the current namespace:
```shell
kubectl -n <namespace> get broker <broker-name>
```

```yaml
kubectl apply -f - <<EOF
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
name: <broker-name>
EOF
```
This shows information about your broker. If the broker is working correctly, it shows a `READY` status of `True`:

1. Optional: Verify that the broker is working correctly, by entering the following command:
```shell
NAME READY REASON URL AGE
default True http://broker-ingress.knative-eventing.svc.cluster.local/event-example/default 1m
```

```shell
kubectl -n <namespace> get broker <broker-name>
```
If the `READY` status is `False`, wait a few moments and then run the command again.

This shows information about your broker. If the broker is working correctly, it shows a `READY` status of `True`:

```shell
NAME READY REASON URL AGE
default True http://broker-ingress.knative-eventing.svc.cluster.local/event-example/default 1m
```

If the `READY` status is `False`, wait a few moments and then run the command again.

{{< /tab >}}
{{< /tabs >}}
2 changes: 2 additions & 0 deletions docs/eventing/broker/example-mtbroker.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ type: "docs"
showlandingtoc: "false"
---

# Broker configuration example

The following is a full example of a multi-tenant (MT) channel-based Broker object which shows the possible configuration options that you can modify:

```yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ aliases:
- docs/eventing/broker/kafka-broker
---

# Apache Kafka Broker

The Apache Kafka Broker is a native Broker implementation, that reduces
network hops, supports any Kafka version, and has a better integration
with Apache Kafka for the Knative Broker and Trigger model.
Expand All @@ -28,13 +30,13 @@ Notable features are:
1. Install the Kafka controller by entering the following command:

```bash
kubectl apply --filename {{< artifact org="knative-sandbox" repo="eventing-kafka-broker" file="eventing-kafka-controller.yaml" >}}
kubectl apply --filename {{ artifact(org="knative-sandbox", repo="eventing-kafka-broker", file="eventing-kafka-controller.yaml") }}
```

1. Install the Kafka Broker data plane by entering the following command:

```bash
kubectl apply --filename {{< artifact org="knative-sandbox" repo="eventing-kafka-broker" file="eventing-kafka-broker.yaml" >}}
kubectl apply --filename {{ artifact(org="knative-sandbox", repo="eventing-kafka-broker", file="eventing-kafka-broker.yaml") }}
```

1. Verify that `kafka-controller`, `kafka-broker-receiver` and `kafka-broker-dispatcher` are running,
Expand Down
2 changes: 2 additions & 0 deletions docs/eventing/broker/kafka-broker/kafka-configmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ aliases:
- docs/eventing/broker/kafka-configmap
---

# Kafka Channel ConfigMap

**NOTE:** This guide assumes Knative Eventing is installed in the `knative-eventing`
namespace. If you have installed Knative Eventing in a different namespace, replace
`knative-eventing` with the name of that namespace.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ aliases:
- docs/eventing/triggers
---

# Triggers

A trigger represents a desire to subscribe to events from a specific broker.

The `subscriber` value must be a [Destination](https://pkg.go.dev/knative.dev/pkg/apis/duck/v1#Destination).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ aliases:
- /docs/eventing/channels/default-channels
---

# Channels

Channels are Kubernetes [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) that define a single event forwarding and persistence layer.

A channel provides an event delivery mechanism that can fan-out received events, through subscriptions, to multiple destinations, or sinks. Examples of sinks include brokers and Knative services.
Expand Down
2 changes: 2 additions & 0 deletions docs/eventing/channels/channel-types-defaults.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ type: "docs"
showlandingtoc: "true"
---

# Channel types and defaults

Knative provides the InMemoryChannel channel implementation by default. This default implementation is useful for developers who do not want to configure a specific implementation type, such as Apache Kafka or NATSS channels.

**NOTE:** InMemoryChannel channels should not be used in production environments.
Expand Down
10 changes: 6 additions & 4 deletions docs/eventing/channels/channels-crds.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ weight: 100
type: "docs"
---

# Available Channels

<!--
This is a generated file and should not be changed manually. All changes should follow the
procedure:
Expand All @@ -27,7 +29,7 @@ Notes:
Name | Status | Support | Description
--- | --- | --- | ---
[GCP PubSub](https://github.com/google/knative-gcp) | Proof of Concept | None | Channels are backed by [GCP PubSub](https://cloud.google.com/pubsub/).
[InMemoryChannel](https://github.com/knative/eventing/tree/{{< branch >}}/config/channels/in-memory-channel/README.md) | Proof of Concept | None | In-memory channels are a best effort Channel. They should NOT be used in Production. They are useful for development.
[KafkaChannel - Consolidated](https://github.com/knative-sandbox/eventing-kafka/tree/{{< branch >}}/pkg/channel/consolidated/README.md) | Proof of Concept | None | Channels are backed by [Apache Kafka](http://kafka.apache.org/) topics. The original Knative KafkaChannel implementation which utilizes a single combined Kafka Producer / Consumer deployment.
[KafkaChannel - Distributed](https://github.com/knative-sandbox/eventing-kafka/tree/{{< branch >}}/pkg/channel/distributed/README.md) | Proof of Concept | None | Channels are backed by [Apache Kafka](http://kafka.apache.org/) topics. An alternate KafkaChannel implementation, contributed by SAP's [Kyma](https://kyma-project.io/) project, which provides a more granular deployment of Producers / Consumers.
[NatssChannel](https://github.com/knative-sandbox/eventing-natss/tree/{{< branch >}}/config/README.md) | Proof of Concept | None | Channels are backed by [NATS Streaming](https://github.com/nats-io/nats-streaming-server#configuring).
[InMemoryChannel](https://github.com/knative/eventing/tree/{{ branch }}/config/channels/in-memory-channel/README.md) | Proof of Concept | None | In-memory channels are a best effort Channel. They should NOT be used in Production. They are useful for development.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does {{ branch }} work the same was as the old {{ < branch > }} ?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it does... how?!

Copy link
Copy Markdown
Contributor Author

@julz julz May 11, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sort of, the old branch did some magic to get the branch via what directory it had been git cloned-ed in to during the build in processresourcefiles.sh . I think our build will be a bit less complicated so we can just use a variable defined in mkdocs.yml (but we'll fully define this when we get to building versioned docs).

[KafkaChannel - Consolidated](https://github.com/knative-sandbox/eventing-kafka/tree/{{ branch }}/pkg/channel/consolidated/README.md) | Proof of Concept | None | Channels are backed by [Apache Kafka](http://kafka.apache.org/) topics. The original Knative KafkaChannel implementation which utilizes a single combined Kafka Producer / Consumer deployment.
[KafkaChannel - Distributed](https://github.com/knative-sandbox/eventing-kafka/tree/{{ branch }}/pkg/channel/distributed/README.md) | Proof of Concept | None | Channels are backed by [Apache Kafka](http://kafka.apache.org/) topics. An alternate KafkaChannel implementation, contributed by SAP's [Kyma](https://kyma-project.io/) project, which provides a more granular deployment of Producers / Consumers.
[NatssChannel](https://github.com/knative-sandbox/eventing-natss/tree/{{ branch }}/config/README.md) | Proof of Concept | None | Channels are backed by [NATS Streaming](https://github.com/nats-io/nats-streaming-server#configuring).
2 changes: 2 additions & 0 deletions docs/eventing/channels/create-default-channel.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ type: "docs"
showlandingtoc: "true"
---

# Creating a channel using cluster or namespace defaults

Developers can create channels of any supported implementation type by creating an instance of a Channel object.

1. Create a Channel object:
Expand Down
Loading