Merge remote-tracking branch 'origin' into feat/ecr-pid

This commit is contained in:
Tisham (whatnick) Dhar 2025-09-18 13:03:47 +09:30
commit 555dda18c2
No known key found for this signature in database
GPG Key ID: 9D13FFAFE7496366
318 changed files with 651 additions and 108572 deletions

7
.github/dependabot.yaml vendored Normal file
View File

@ -0,0 +1,7 @@
# Set update schedule for GitHub Actions
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

View File

@ -1,6 +1,7 @@
name: Build Images
on:
workflow_dispatch:
push:
branches: ['main']
paths:
@ -20,7 +21,7 @@ jobs:
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@ -56,7 +57,7 @@ jobs:
tags: ghcr.io/knative/autoscale-go:latest
- name: Build sample-app's frontend image
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
push: true
platforms: linux/amd64,linux/arm64
@ -64,7 +65,7 @@ jobs:
tags: ghcr.io/knative/bookstore-frontend:latest
- name: Build sample-app's node-server image
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
push: true
platforms: linux/amd64,linux/arm64

View File

@ -25,26 +25,22 @@ jobs:
verify:
name: Verify mkdocs strict
strategy:
matrix:
go-version: [1.16.x]
platform: [ubuntu-latest]
runs-on: ${{ matrix.platform }}
runs-on: ubuntu-latest
env:
GOPATH: ${{ github.workspace }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v6
- name: Install requirements
run: python3 -m pip install -r requirements.txt
- name: Verify MkDocs
run: mkdocs build --strict
run: ./hack/build.sh --strict

View File

@ -1,98 +0,0 @@
# Updating the Knative Blog
The Knative website has a basic, top-level navigation that looks like this:
```yaml
nav:
- Home:
- Tutorial:
- Installing:
- Serving:
- Eventing:
- Code samples:
- Reference:
- Community:
- About:
- Blog:
```
Currently, we maintain two different copies of the navigation.
## docs/config/nav.yml
The main one, for the website as a whole, is located at [`docs/config/nav.yml`](docs/config/nav.yml) and contains the links for all the subject matter except for the Blog and Community pages. It uses relative links for everything except the Blog / Community, for example:
```yaml
- Tutorial:
- Knative Quickstart: getting-started/README.md
- Using Knative Serving:
- First Knative Service: getting-started/first-service.md
- Scaling to Zero: getting-started/first-autoscale.md
- Traffic Splitting: getting-started/first-traffic-split.md
```
Note here that each link assumes that the present working directory is `docs/docs/`, so for example the "Tutorial" README which is located in `docs/docs/getting-started/README.md` is listed as `getting-started/README.md`
The Blog pages instead use absolute links to its sections:
```yaml
- About:
- Testimonials: about/testimonials.md
- Case studies:
- deepc: about/case-studies/deepc.md
- Outfit7: about/case-studies/outfit7.md
- Puppet: about/case-studies/puppet.md
- Blog: /blog/
```
Note that the Blog link is `/blog/` and not `blog/` (and similar for the community site).
## docs/blog/config/nav.yml
The blog is actually a separate, self-contained site that is accessible from the main docs page. We do this partly because the blog is not versioned like the docs (i.e. tied to a specific release) and partly to make the left sidebar navigation look clean (i.e. only display blog posts on the blog site).
In order to do this, we essentially have a separate mkdocs site for the blog that gets copied over into the main site. This is done using the [`hack/build.sh` script](https://github.com/knative/docs/blob/main/hack/build.sh#L84-L90). While we try to copy over as many files as possible from the main site (to avoid duplicating configuration / html / stylesheets / etc), our [`nav.yml` file](docs/blog/config/nav.yml) (located at `docs/blog/config/nav.yml`) is unique to the blog site.
```yaml
nav:
- Home: /docs/
- Tutorial: /docs/getting-started/
- Installing: /docs/install/
- Serving: /docs/serving/
- Eventing: /docs/eventing/
- Code samples: /docs/samples/
- Reference: /docs/reference/
- Community: /docs/community/
- About: /docs/about/testimonials
- Blog:
- index.md
- Releases:
- releases/announcing-knative-v0-26-release.md
- releases/announcing-knative-v0-25-release.md
- releases/announcing-knative-v0-24-release.md
...
```
A couple of key points:
* The basic, high-level sections are the same as for the main site (Home, Tutorial, etc.).
* The blog requires absolute links for all sections not in the blog. For example, the Tutorial section link is `/docs/getting-started/` for the blog site (whereas it was simply `getting-started/` for the main site). Also note that for the blog, we don't need to link to a specific file, as each of those directories has a README that gets redirected to.
* For the blog, we use relative links, with `docs/blog/docs/` as the present working directory.
## Updating the blog
When a new blog post is created, it will also need to be added to the blog navigation (i.e. to `docs/blog/config/nav.yml`) in the appropriate section.
## Updating the site navigation
If a major change to the site navigation is made (for example, adding a new section to the top navigation tabs), then the change will need to be made in both `docs/config/nav.yml` and `docs/blog/config/nav.yml`.
For changes that are not top-level (i.e. adding a subsection to the "Tutorial" guide or creating a new category of blog post), the change only needs to be made in the relevant section, as it's invisible to the other (for example, the subsection of the "Tutorial" guide only needs to be made in `docs/config/nav.yml`)
## Common files between main site and blog, also known as non nav.yml files
All files in `docs/overrides`, `docs/images`, and `docs/stylesheets` are copied to the blog at build-time.
What this means is that any changes to files in those directories (for example, updating the main site layout editing `docs/stylesheets/extra.css`) will go live _on the blog_ as soon as those changes are pushed to `main`. In contrast, on the main site those changes will appear in the development branch and only go live when they are cherry-picked into the current release branch.

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 272 92" width="272" height="92"><path fill="#EA4335" d="M115.75 47.18c0 12.77-9.99 22.18-22.25 22.18s-22.25-9.41-22.25-22.18C71.25 34.32 81.24 25 93.5 25s22.25 9.32 22.25 22.18zm-9.74 0c0-7.98-5.79-13.44-12.51-13.44S80.99 39.2 80.99 47.18c0 7.9 5.79 13.44 12.51 13.44s12.51-5.55 12.51-13.44z"/><path fill="#FBBC05" d="M163.75 47.18c0 12.77-9.99 22.18-22.25 22.18s-22.25-9.41-22.25-22.18c0-12.85 9.99-22.18 22.25-22.18s22.25 9.32 22.25 22.18zm-9.74 0c0-7.98-5.79-13.44-12.51-13.44s-12.51 5.46-12.51 13.44c0 7.9 5.79 13.44 12.51 13.44s12.51-5.55 12.51-13.44z"/><path fill="#4285F4" d="M209.75 26.34v39.82c0 16.38-9.66 23.07-21.08 23.07-10.75 0-17.22-7.19-19.66-13.07l8.48-3.53c1.51 3.61 5.21 7.87 11.17 7.87 7.31 0 11.84-4.51 11.84-13v-3.19h-.34c-2.18 2.69-6.38 5.04-11.68 5.04-11.09 0-21.25-9.66-21.25-22.09 0-12.52 10.16-22.26 21.25-22.26 5.29 0 9.49 2.35 11.68 4.96h.34v-3.61h9.25zm-8.56 20.92c0-7.81-5.21-13.52-11.84-13.52-6.72 0-12.35 5.71-12.35 13.52 0 7.73 5.63 13.36 12.35 13.36 6.63 0 11.84-5.63 11.84-13.36z"/><path fill="#34A853" d="M225 3v65h-9.5V3h9.5z"/><path fill="#EA4335" d="M262.02 54.48l7.56 5.04c-2.44 3.61-8.32 9.83-18.48 9.83-12.6 0-22.01-9.74-22.01-22.18 0-13.19 9.49-22.18 20.92-22.18 11.51 0 17.14 9.16 18.98 14.11l1.01 2.52-29.65 12.28c2.27 4.45 5.8 6.72 10.75 6.72 4.96 0 8.4-2.44 10.92-6.14zm-23.27-7.98l19.82-8.23c-1.09-2.77-4.37-4.7-8.23-4.7-4.95 0-11.84 4.37-11.59 12.93z"/><path fill="#4285F4" d="M35.29 41.41V32H67c.31 1.64.47 3.58.47 5.68 0 7.06-1.93 15.79-8.15 22.01-6.05 6.3-13.78 9.66-24.02 9.66C16.32 69.35.36 53.89.36 34.91.36 15.93 16.32.47 35.3.47c10.5 0 17.98 4.12 23.6 9.49l-6.64 6.64c-4.03-3.78-9.49-6.72-16.97-6.72-13.86 0-24.7 11.17-24.7 25.03 0 13.86 10.84 25.03 24.7 25.03 8.99 0 14.11-3.61 17.39-6.89 2.66-2.66 4.41-6.46 5.1-11.65l-22.49.01z"/></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,9 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="400">
<clipPath id="A">
<path d="M0-1v83h55.9v236H1.5v82h195v-82h-55.9V82H195V-1zm554 1v82h55.9v236h-54.4v82h139V172l82.7 228 1.68.04 81.2-228v228h140v-82h-55.9v-236h54.4v-82h-156l-64.7 183-65.5-183z" />
<path id="B" d="M222 0v82h55.9v130h215v-24.9s18-14 23.8-27.4l11.5-25.9s5.35-14.5 5.35-27.4l-2.3-25.9s-3.62-21.1-9.92-27.3l-22.3-25.9S470.73-.1 433.13-.1zm140 82h82v76h-82z" />
<use transform="matrix(1 0 0 -1 0 400)" xlink:href="#B" />
</clipPath>
<path d="M0 13.7h1030v53.2H0m0 53.2h975v53.2H0v53.2h975v53.2H0m0 53.2h1030v53.2H0" clip-path="url(#A)" fill="none" stroke="#1f70c1" stroke-width="27.4" />
</svg>

Before

Width:  |  Height:  |  Size: 736 B

View File

@ -1 +0,0 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 613 145"><defs><style>.cls-1{fill:#e00;}</style></defs><title>RedHat-Logo-A-Color</title><path class="cls-1" d="M127.47,83.49c12.51,0,30.61-2.58,30.61-17.46a14,14,0,0,0-.31-3.42l-7.45-32.36c-1.72-7.12-3.23-10.35-15.73-16.6C124.89,8.69,103.76.5,97.51.5,91.69.5,90,8,83.06,8c-6.68,0-11.64-5.6-17.89-5.6-6,0-9.91,4.09-12.93,12.5,0,0-8.41,23.72-9.49,27.16A6.43,6.43,0,0,0,42.53,44c0,9.22,36.3,39.45,84.94,39.45M160,72.07c1.73,8.19,1.73,9.05,1.73,10.13,0,14-15.74,21.77-36.43,21.77C78.54,104,37.58,76.6,37.58,58.49a18.45,18.45,0,0,1,1.51-7.33C22.27,52,.5,55,.5,74.22c0,31.48,74.59,70.28,133.65,70.28,45.28,0,56.7-20.48,56.7-36.65,0-12.72-11-27.16-30.83-35.78"/><path d="M160,72.07c1.73,8.19,1.73,9.05,1.73,10.13,0,14-15.74,21.77-36.43,21.77C78.54,104,37.58,76.6,37.58,58.49a18.45,18.45,0,0,1,1.51-7.33l3.66-9.06A6.43,6.43,0,0,0,42.53,44c0,9.22,36.3,39.45,84.94,39.45,12.51,0,30.61-2.58,30.61-17.46a14,14,0,0,0-.31-3.42Z"/><path d="M579.74,92.8c0,11.89,7.15,17.67,20.19,17.67a52.11,52.11,0,0,0,11.89-1.68V95a24.84,24.84,0,0,1-7.68,1.16c-5.37,0-7.36-1.68-7.36-6.73V68.3h15.56V54.1H596.78v-18l-17,3.68V54.1H568.49V68.3h11.25Zm-53,.32c0-3.68,3.69-5.47,9.26-5.47a43.12,43.12,0,0,1,10.1,1.26v7.15a21.51,21.51,0,0,1-10.63,2.63c-5.46,0-8.73-2.1-8.73-5.57m5.2,17.56c6,0,10.84-1.26,15.36-4.31v3.37h16.82V74.08c0-13.56-9.14-21-24.39-21-8.52,0-16.94,2-26,6.1l6.1,12.52c6.52-2.74,12-4.42,16.83-4.42,7,0,10.62,2.73,10.62,8.31v2.73a49.53,49.53,0,0,0-12.62-1.58c-14.31,0-22.93,6-22.93,16.73,0,9.78,7.78,17.24,20.19,17.24m-92.44-.94h18.09V80.92h30.29v28.82H506V36.12H487.93V64.41H457.64V36.12H439.55ZM370.62,81.87c0-8,6.31-14.1,14.62-14.1A17.22,17.22,0,0,1,397,72.09V91.54A16.36,16.36,0,0,1,385.24,96c-8.2,0-14.62-6.1-14.62-14.09m26.61,27.87h16.83V32.44l-17,3.68V57.05a28.3,28.3,0,0,0-14.2-3.68c-16.19,0-28.92,12.51-28.92,28.5a28.25,28.25,0,0,0,28.4,28.6,25.12,25.12,0,0,0,14.93-4.83ZM320,67c5.36,0,9.88,3.47,11.67,8.83H308.47C310.15,70.3,314.36,67,320,67M291.33,82c0,16.2,13.25,28.82,30.28,28.82,9.36,0,16.2-2.53,23.25-8.42l-11.26-10c-2.63,2.74-6.52,4.21-11.14,4.21a14.39,14.39,0,0,1-13.68-8.83h39.65V83.55c0-17.67-11.88-30.39-28.08-30.39a28.57,28.57,0,0,0-29,28.81M262,51.58c6,0,9.36,3.78,9.36,8.31S268,68.2,262,68.2H244.11V51.58Zm-36,58.16h18.09V82.92h13.77l13.89,26.82H292l-16.2-29.45a22.27,22.27,0,0,0,13.88-20.72c0-13.25-10.41-23.45-26-23.45H226Z"/></svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 374 56.6" style="enable-background:new 0 0 374 56.6;" xml:space="preserve">
<style type="text/css">
.st0{fill:#0096DB;}
</style>
<g>
<path class="st0" d="M78.5,22c-1.2-22-32.5-31.4-46-9.5c-8.8-3.9-19.3,2-19.4,11.8c-17.4,1.8-19.2,28.3,6.4,28.3h0.9
c-0.7-2.1-0.6-4.3,0.1-6.2l-2.7,0c-12.4-0.1-15.6-18,0.9-16.3c-3-9.9,7.4-18.1,16.2-10.7C42.7,1.1,71.7,0.6,73,26.7
c16.2,1.1,15.6,18.3,3.8,19.9H60.3c1.2,1.8,1.4,4,0.6,6h15.9C94.8,52.3,98,25.7,78.5,22z"/>
<path class="st0" d="M47,34.1l0.2-0.3c1.6-2.9,8.2-3.1,10.8-0.8c0.8,1.1,1.6,1.8,2.7,2.4c3.2,1.5,7,0.1,8.5-3.1
c1.5-3.2,0.1-7-3.1-8.5c-3.2-1.5-6.8,0-8.5,3.1c-1.9,3.5-9.3,2.4-10.7,0.9c-1-1.2-2.3-2.1-3.5-2.5c-1-0.4-2.1-0.5-3.2-0.3
c-3.3,0.5-5.6,3.7-5,7c0.1,0.6,0,0.6,0.7,2.2c0.7,1.6-2.6,8.9-6,9.5c-1.4,0-2.4,0.1-3.5,0.7C23,46,21.9,49.9,23.5,53
c1.7,3.1,5.5,4.3,8.7,2.6c3.1-1.7,4.1-5.4,2.6-8.7c-1.6-3.6,3.2-9.3,5.9-9.5c2.7-0.2,7.5,6.3,5.9,9.3c-1.7,3.1-1,7,2,8.9
c3,1.9,7,1,8.9-2c1.9-3,1-7-2-8.9c-1.1-0.7-2.1-0.9-3.5-1c-3.4-0.9-6.8-6.4-5.2-9.4C46.9,34.3,46.9,34.2,47,34.1z M63.6,26.8
c1.5,0,2.8,1.2,2.8,2.8s-1.2,2.8-2.8,2.8c-1.5,0-2.8-1.2-2.8-2.8S62,26.8,63.6,26.8z M29.1,53.1c-1.5,0-2.8-1.2-2.8-2.8
c0-1.5,1.2-2.8,2.8-2.8c1.5,0,2.8,1.2,2.8,2.8C31.9,51.8,30.7,53.1,29.1,53.1z M41,32.8c-1.2,0-2.1-0.9-2.1-2.1
c0-1.2,0.9-2.1,2.1-2.1c1.2,0,2.1,0.9,2.1,2.1C43.1,31.9,42.2,32.8,41,32.8z M52.2,47.5c1.5,0,2.8,1.2,2.8,2.8
c0,1.5-1.2,2.8-2.8,2.8s-2.8-1.2-2.8-2.8C49.4,48.7,50.6,47.5,52.2,47.5z"/>
<g>
<path d="M114,15.8h-8.5v-2.6h19.8v2.6h-8.5v22.6H114V15.8z"/>
<path d="M130.6,13.1h10.8c3.1,0,5.6,0.9,7.2,2.5c1.2,1.2,1.9,3,1.9,5v0.1c0,4.2-2.9,6.6-6.8,7.3l7.7,10.3h-3.5l-7.3-9.8h-7.2v9.8
h-2.8V13.1z M141.1,26c3.8,0,6.5-1.9,6.5-5.2v-0.1c0-3.1-2.4-5-6.4-5h-7.8V26H141.1z"/>
<path d="M156.8,13.1h2.8v25.2h-2.8V13.1z"/>
<path d="M165.9,25.8L165.9,25.8c0-7,5.1-13.1,12.6-13.1c4.2,0,6.9,1.2,9.4,3.3l-1.8,2.2c-1.9-1.7-4.1-2.9-7.7-2.9
c-5.6,0-9.6,4.7-9.6,10.3v0.1c0,6,3.9,10.5,10,10.5c2.9,0,5.5-1.1,7.3-2.5v-6.3h-7.7v-2.6h10.4v10c-2.3,2.1-5.9,3.9-10.1,3.9
C170.8,38.8,165.9,33,165.9,25.8z"/>
<path d="M194.2,25.8L194.2,25.8c0-7,5.1-13.1,12.6-13.1c4.2,0,6.9,1.2,9.4,3.3l-1.8,2.2c-1.9-1.7-4.1-2.9-7.7-2.9
c-5.6,0-9.6,4.7-9.6,10.3v0.1c0,6,3.9,10.5,10,10.5c2.9,0,5.5-1.1,7.3-2.5v-6.3h-7.7v-2.6h10.4v10c-2.3,2.1-5.9,3.9-10.1,3.9
C199.1,38.8,194.2,33,194.2,25.8z"/>
<path d="M223.5,13.1h18.2v2.6h-15.4v8.6h13.8v2.6h-13.8v8.8h15.5v2.6h-18.4V13.1z"/>
<path d="M247.6,13.1h10.8c3.1,0,5.6,0.9,7.2,2.5c1.2,1.2,1.9,3,1.9,5v0.1c0,4.2-2.9,6.6-6.8,7.3l7.7,10.3H265l-7.3-9.8h-7.2v9.8
h-2.8V13.1z M258.2,26c3.8,0,6.5-1.9,6.5-5.2v-0.1c0-3.1-2.4-5-6.4-5h-7.8V26H258.2z"/>
<path d="M272.3,13.1h7.4l6,9.8l6-9.8h7.4v25.2h-6.9V23.9l-6.4,9.9h-0.1l-6.4-9.8v14.4h-6.8V13.1z"/>
<path d="M303.6,13.1h20.3V19h-13.4v3.9h12.1v5.5h-12.1v4H324v5.9h-20.4V13.1z"/>
<path d="M325.7,34.6l3.9-4.6c2.5,2,5.3,3,8.2,3c1.9,0,2.9-0.6,2.9-1.7v-0.1c0-1.1-0.8-1.6-4.3-2.4c-5.4-1.2-9.5-2.7-9.5-7.9v-0.1
c0-4.7,3.7-8.1,9.8-8.1c4.3,0,7.6,1.2,10.4,3.3l-3.5,4.9c-2.3-1.7-4.8-2.5-7.1-2.5c-1.7,0-2.5,0.7-2.5,1.6v0.1
c0,1.2,0.9,1.7,4.4,2.4c5.8,1.3,9.4,3.1,9.4,7.8v0.1c0,5.1-4.1,8.2-10.2,8.2C333.1,38.8,328.8,37.4,325.7,34.6z"/>
<path d="M351.1,13.1h7v9.4h9v-9.4h7v25.2h-7v-9.6h-9v9.6h-7V13.1z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -1,57 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 498.10536 84.300003"
xml:space="preserve"
width="498.10535"
height="84.300003"><metadata
id="metadata25"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs23" />
<style
type="text/css"
id="style2">
.st0{fill:#727175;}
</style>
<g
id="g18"
transform="translate(-68.594642,-69.4)">
<path
class="st0"
d="M 283.2,143.2 261.8,83.7 c -0.3,-0.8 -0.7,-1.9 -0.7,-2.9 0,-2.6 2.2,-5 5.3,-5 2.7,0 4.5,1.8 5.3,4.4 l 17.7,51.3 17.8,-51.4 c 0.8,-2.4 2.5,-4.2 5.2,-4.2 h 0.5 c 2.9,0 4.6,1.8 5.5,4.2 l 17.7,51.4 18,-51.5 c 0.7,-2.2 2.2,-4.1 5,-4.1 3,0 5.2,2.3 5.2,4.9 0,1 -0.4,2 -0.7,2.9 l -21.5,59.6 c -1.1,3.1 -3.3,4.7 -5.7,4.7 H 336 c -2.7,0 -4.8,-1.6 -5.7,-4.7 l -17.5,-50.6 -17.7,50.6 c -0.9,3.1 -3,4.7 -5.7,4.7 h -0.3 c -2.6,0 -4.8,-1.6 -5.9,-4.8"
id="path4" />
<path
class="st0"
d="m 439,81 c 0,-2.9 2.3,-5.3 5.2,-5.3 3,0 5.3,2.3 5.3,5.3 v 12.1 c 5.2,-11.7 16.7,-17.3 24.3,-17.3 3.1,0 5.2,2.3 5.2,5.3 0,2.9 -1.9,4.9 -4.6,5.3 -13.6,1.6 -24.8,11.9 -24.8,32.2 v 23.9 c 0,2.9 -2.2,5.3 -5.2,5.3 -3,0 -5.3,-2.3 -5.3,-5.3 V 81"
id="path6" />
<path
class="st0"
d="m 512.7,148.6 c -19,0 -34.5,-14.7 -34.5,-36.3 V 112 c 0,-20.1 14,-36.3 33.1,-36.3 20.4,0 32.1,16.9 32.1,35.4 0,2.8 -2.3,4.9 -4.8,4.9 h -50 c 1.5,15.1 12,23.6 24.3,23.6 8.6,0 14.8,-3.4 19.9,-8.1 0.8,-0.7 1.7,-1.2 2.9,-1.2 2.5,0 4.5,2 4.5,4.5 0,1.2 -0.5,2.4 -1.6,3.4 -6.4,6.2 -14.1,10.4 -25.9,10.4 m 20.4,-40.4 c -1.1,-12.7 -8.3,-23.8 -22,-23.8 -12,0 -21.1,10.1 -22.4,23.8 z"
id="path8" />
<path
class="st0"
d="m 364.6,126.7 v -0.3 c 0,-14.8 12.2,-22.7 30,-22.7 9,0 15.4,1.2 21.6,3 v -2.4 c 0,-12.6 -7.8,-19.2 -20.9,-19.2 -7.1,0 -11.2,0.9 -16.4,3.2 -0.7,0.3 -1.4,0.4 -1.9,0.4 -2.5,0 -4.6,-2 -4.6,-4.5 0,-2.2 1,-3.5 2.9,-4.4 6.9,-3 12.1,-4 21.1,-4 9.9,0 17.5,2.6 22.7,7.7 4.8,4.8 7.2,11.6 7.2,20.5 v 38.8 c 0,3 -2.2,5.2 -5,5.2 -3,0 -5,-2.2 -5,-4.9 v -6.7 c -4.9,6.4 -13.1,12.1 -25.4,12.1 -13.1,0.1 -26.3,-7.4 -26.3,-21.8 m 51.8,-5.4 v -6.8 c -5.2,-1.5 -12.1,-3 -20.7,-3 -13.2,0 -20.5,5.7 -20.5,14.6 v 0.3 c 0,8.8 8.2,14 17.7,14 12.9,-0.1 23.5,-8 23.5,-19.1"
id="path10" />
<path
class="st0"
d="m 92.8,80.3 c -2.3,-5 -8,-7.3 -13.3,-5 -5.3,2.4 -7.3,8.3 -4.9,13.3 l 22.3,48.5 c 3.5,7.6 7.2,11.6 14.1,11.6 7.4,0 10.6,-4.3 14.2,-11.6 0,0 19.5,-42.4 19.7,-42.8 0.2,-0.5 0.8,-1.8 2.8,-1.8 1.7,0 3.1,1.4 3.1,3.1 v 41.5 c 0,6.4 3.5,11.6 10.4,11.6 6.8,0 10.5,-5.2 10.5,-11.6 v -33.9 c 0,-6.5 4.7,-10.8 11.1,-10.8 6.4,0 10.6,4.4 10.6,10.8 v 33.9 c 0,6.4 3.6,11.6 10.4,11.6 6.8,0 10.5,-5.2 10.5,-11.6 v -33.9 c 0,-6.5 4.7,-10.8 11.1,-10.8 6.4,0 10.6,4.4 10.6,10.8 v 33.9 c 0,6.4 3.5,11.6 10.4,11.6 6.8,0 10.5,-5.2 10.5,-11.6 V 98.5 c 0,-14.2 -11.4,-24.1 -25.1,-24.1 -13.7,0 -22.3,9.5 -22.3,9.5 -4.6,-5.9 -10.9,-9.5 -21.5,-9.5 -11.2,0 -21.1,9.5 -21.1,9.5 -4.6,-5.9 -12.3,-9.5 -18.8,-9.5 -10,0 -17.9,4.4 -22.7,15.4 L 111,123.4 92.8,80.3"
id="path12" />
<path
class="st0"
d="m 544.3,84.5 v 0 c 0,-4.8 3.8,-8.8 8.7,-8.8 4.9,0 8.7,4 8.7,8.7 v 0 c 0,4.8 -3.8,8.8 -8.7,8.8 -4.9,0 -8.7,-4 -8.7,-8.7 M 560,84.4 v 0 c 0,-3.9 -3,-7.1 -7,-7.1 -4,0 -7,3.2 -7,7.1 v 0.1 c 0,3.9 3,7.1 7,7.1 4,-0.1 7,-3.3 7,-7.2"
id="path14" />
<path
class="st0"
d="m 549.7,81 c 0,-0.5 0.4,-0.9 0.9,-0.9 h 2.9 c 1.1,0 1.9,0.3 2.5,0.9 0.5,0.5 0.7,1.1 0.7,1.9 v 0 c 0,1.3 -0.7,2.1 -1.7,2.6 l 1.3,1.6 c 0.2,0.2 0.3,0.4 0.3,0.7 0,0.5 -0.4,0.9 -0.9,0.9 -0.4,0 -0.7,-0.2 -0.9,-0.5 L 553,85.9 h -1.5 v 1.8 c 0,0.5 -0.4,0.9 -0.9,0.9 -0.5,0 -0.9,-0.4 -0.9,-0.9 z m 3.7,3.1 c 0.9,0 1.4,-0.5 1.4,-1.2 v 0 c 0,-0.8 -0.5,-1.2 -1.4,-1.2 h -1.8 v 2.4 z"
id="path16" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 402 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 720 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

File diff suppressed because one or more lines are too long

View File

@ -1,104 +0,0 @@
INHERIT: config/nav.yml
site_name: Knative
site_url: https://knative.dev/blog
site_description: Knative Blog
extra_css:
- stylesheets/extra.css
repo_url: https://github.com/knative/docs
edit_uri: edit/main/blog/docs
theme:
name: material
docs_dir: blog/
logo: images/logo/rgb/knative-logo-rgb.png
favicon: images/favicon.ico
custom_dir: overrides
features:
- navigation.tabs
- navigation.tracking
- navigation.tabs.sticky
- navigation.indexes
- navigation.top
markdown_extensions:
# - mdx_include:
# base_path: docs
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- attr_list
- meta
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
- pymdownx.details
- pymdownx.snippets:
base_path: docs/snippets
- pymdownx.keys
- pymdownx.caret
- pymdownx.mark
- pymdownx.tilde
- pymdownx.escapeall
- pymdownx.tasklist:
custom_checkbox: true
- admonition
- toc:
permalink: true
toc_depth: 1
- def_list
plugins:
search:
# Spaces, dashes, periods and forward-slash (so serving.knative.dev/blibble can be searched as blibble).
separator: '[\/\s\-\.]+'
exclude:
glob:
# Exclude files that contain hugo specific shortcodes
# (either the include shortcode or not-converted-yet tabs).
- snippets/*
- smoketest.md
- "*/_index.md" # pretty much all shortcodes
awesome-pages:
filename: ".index"
collapse_single_pages: true
strict: false
rss:
match_path: "(articles|steering|events|releases)/.*"
date_from_meta:
as_creation: "date"
datetime_format: "%Y-%m-%d"
git-revision-date-localized:
type: iso_date
enable_creation_date: true
exclude:
- index.md
copyright: "Copyright © 2024 The Knative Authors"
extra:
homepage: https://knative.dev/docs
# social:
# - icon: fontawesome/brands/twitter
# link: https://twitter.com/KnativeProject
# - icon: fontawesome/brands/github
# link: https://github.com/knative/community
# name: Knative Community on Github
# - icon: fontawesome/brands/slack
# link: https://slack.cncf.io
# name: Slack
# TODO: Replace with https://github.com/mkdocs/mkdocs/pull/2267 once mkdocs 1.2 is out.
version_warning: !!python/object/apply:os.getenv ["VERSION_WARNING"]
knative_version: !!python/object/apply:os.getenv ["KNATIVE_VERSION"]
branch: !!python/object/apply:os.getenv ["SAMPLES_BRANCH", "main"]
analytics:
provider: google
property: G-YRMNFYE32R
version:
provider: mike

View File

@ -1,5 +0,0 @@
/* hack to hide blog posts title */
.md-typeset h1:nth-of-type(2),
.md-content__button:nth-of-type(2) {
display: none;
}

View File

@ -1,20 +0,0 @@
<link rel="stylesheet" href="{{ 'assets/stylesheets/content.css' | url }}" />
<!-- based on https://github.com/squidfunk/mkdocs-material/blob/master/src/templates/partials/content.html -->
{% if page.toc %}
{% for toc_item in page.toc %}
<h1 id="{{ toc_item.url[1::] }}">
{{ toc_item.title }}
<a class="headerlink" href="{{ toc_item.url }}" title="Permanent link"></a>
</h1>
{% endfor %}
{% elif page.title %}
<h1>
{{ page.title }}
</h1>
{% endif %}
{% include "partials/source-file.html" %}
<!-- Page content -->
{{ page.content }}

View File

@ -1,16 +0,0 @@
{% if page.meta.git_creation_date_localized and page.meta.git_revision_date_localized %}
<!-- Source file information -->
<!-- based on https://timvink.github.io/mkdocs-git-revision-date-localized-plugin/howto/override-a-theme -->
<p class="md-source-file">
<strong>
Published on:
{{ page.meta.git_creation_date_localized }}
{% if page.meta.git_creation_date_localized != page.meta.git_revision_date_localized%}
,&nbsp;
Revised on:
{{ page.meta.git_revision_date_localized }}
{% endif %}
</strong>
</p>
{% endif %}

View File

@ -1,227 +1,228 @@
plugins:
redirects:
redirect_maps:
contributing/about.md: community/README.md
eventing/experimental-features/README.md: eventing/features/README.md
eventing/experimental-features/delivery-timeout.md: eventing/features/delivery-timeout.md
eventing/experimental-features/delivery-retryafter.md: eventing/features/delivery-retryafter.md
eventing/experimental-features/new-trigger-filters.md: eventing/triggers/README.md
eventing/experimental-features/kreference-group.md: eventing/features/kreference-group.md
eventing/experimental-features/kreference-mapping.md: eventing/features/kreference-mapping.md
eventing/experimental-features/eventtype-auto-creation.md: eventing/features/eventtype-auto-creation.md
eventing/experimental-features/transport-encryption.md: eventing/features/transport-encryption.md
eventing/experimental-features/sender-identity.md: eventing/features/sender-identity.md
eventing/experimental-features/authorization.md: eventing/features/authorization.md
eventing/features/new-trigger-filters.md: eventing/triggers/README.md
eventing/broker/kafka-broker/kafka-configmap.md: eventing/configuration/kafka-channel-configuration.md
eventing/broker/create-mtbroker.md: eventing/brokers/create-broker.md
eventing/broker/example-mtbroker.md: eventing/brokers/broker-developer-config-options.md
eventing/broker/kafka-broker/README.md: eventing/brokers/broker-types/kafka-broker/README.md
eventing/broker/rabbitmq-broker/README.md: eventing/brokers/broker-types/rabbitmq-broker/README.md
eventing/broker/README.md: eventing/brokers/README.md
concepts/resources/revisions.md: concepts/serving-resources/revisions.md
serving/revision-gc.md: serving/revisions/revision-developer-config-options.md
serving/configuration/revision-gc.md: serving/revisions/revision-admin-config-options.md
reference/concepts/duck-typing.md: concepts/duck-typing.md
reference/client/README.md: client/README.md
reference/api/eventing-api.md: eventing/reference/eventing-api.md
reference/api/serving-api.md: serving/reference/serving-api.md
community/about.md: community/governance.md
contributing/contributing.md: community/contributing.md
contributing/README.md: community/README.md
eventing/getting-started.md: getting-started/getting-started-eventing.md
admin/collecting-logs/README.md: serving/observability/logging/collecting-logs.md
admin/collecting-metrics/README.md: serving/observability/metrics/collecting-metrics.md
admin/collecting-metrics/eventing-metrics/metrics.md: eventing/observability/metrics/eventing-metrics.md
admin/collecting-metrics/serving-metrics/metrics.md: serving/observability/metrics/serving-metrics.md
admin/eventing/broker-configuration.md: eventing/configuration/broker-configuration.md
admin/eventing/channel-configuration.md: eventing/configuration/channel-configuration.md
admin/eventing/kafka-channel-configuration.md: eventing/configuration/kafka-channel-configuration.md
admin/eventing/sources-configuration.md: eventing/configuration/sources-configuration.md
admin/install/README.md: install/README.md
admin/install/eventing/eventing-installation-files.md: install/yaml-install/eventing/eventing-installation-files.md
admin/install/eventing/install-eventing-with-yaml.md: install/yaml-install/eventing/install-eventing-with-yaml.md
admin/install/install-eventing-with-yaml.md: install/yaml-install/eventing/install-eventing-with-yaml.md
admin/install/install-serving-with-yaml.md: install/yaml-install/serving/install-serving-with-yaml.md
admin/install/installing-istio.md: install/installing-istio.md
admin/install/knative-offerings.md: install/knative-offerings.md
admin/install/knative-with-operators.md: install/operator/knative-with-operators.md
admin/install/operator/configuring-eventing-cr.md: install/operator/configuring-eventing-cr.md
admin/install/operator/configuring-serving-cr.md: install/operator/configuring-serving-cr.md
admin/install/serving/install-serving-with-yaml.md: install/yaml-install/serving/install-serving-with-yaml.md
admin/install/serving/serving-installation-files.md: install/yaml-install/serving/serving-installation-files.md
admin/install/uninstall.md: install/uninstall.md
admin/serving/config-defaults.md: serving/configuration/config-defaults.md
admin/serving/deployment.md: serving/configuration/deployment.md
admin/serving/feature-flags.md: serving/configuration/feature-flags.md
admin/serving/rolling-out-latest-revision-configmap.md: serving/configuration/rolling-out-latest-revision-configmap.md
admin/upgrade/index.md: install/upgrade/README.md
admin/upgrade/upgrade-installation-with-operator.md: install/upgrade/upgrade-installation-with-operator.md
admin/upgrade/upgrade-installation.md: install/upgrade/upgrade-installation.md
check-install-version.md: install/upgrade/check-install-version.md
client/connecting-kn-to-your-cluster/index.md: client/README.md
community/annual_reports.md: https://github.com/knative/community/tree/main/annual_reports
community/calendar.md: https://github.com/knative/community/blob/main/CALENDAR.MD
community/contributing/code-of-conduct.md: https://github.com/knative/community/blob/main/CODE-OF-CONDUCT.md
community/contributing/contributing.md: https://github.com/knative/community/blob/main/CONTRIBUTING.md
community/contributing/governance.md: https://github.com/knative/community/blob/main/GOVERNANCE.md
community/contributing/mechanics.md: https://github.com/knative/community/tree/main/mechanics
community/contributing/mechanics/creating-an-extensions-repo.md: https://github.com/knative/community/blob/main/mechanics/CREATING-AN-EXTENSIONS-REPO.md
community/contributing/mechanics/feature-tracks.md: https://github.com/knative/community/blob/main/mechanics/FEATURE-TRACKS.md
community/contributing/mechanics/golang-policy.md: https://github.com/knative/community/blob/main/mechanics/GOLANG-POLICY.md
community/contributing/mechanics/release-schedule.md: https://github.com/knative/community/blob/main/mechanics/RELEASE-SCHEDULE.md
community/contributing/mechanics/release-versioning-principles.md: https://github.com/knative/community/blob/main/mechanics/RELEASE-VERSIONING-PRINCIPLES.md
community/contributing/mechanics/sc.md: https://github.com/knative/community/blob/main/mechanics/SC.md
community/contributing/mechanics/sunsetting-features.md: https://github.com/knative/community/blob/main/mechanics/SUNSETTING-FEATURES.md
community/contributing/mechanics/toc.md: https://github.com/knative/community/blob/main/mechanics/TOC.md
community/contributing/mechanics/working-group-processes.md: https://github.com/knative/community/blob/main/mechanics/WORKING-GROUP-PROCESSES.md
community/contributing/repository-guidelines.md: https://github.com/knative/community/blob/main/REPOSITORY-GUIDELINES.md
community/contributing/reviewing.md: https://github.com/knative/community/blob/main/REVIEWING.md
community/contributing/roles.md: https://github.com/knative/community/blob/main/ROLES.md
community/contributing/slack-guidelines.md: https://github.com/knative/community/blob/main/SLACK-GUIDELINES.md
community/contributing/steering-committee.md: https://github.com/knative/community/blob/main/STEERING-COMMITTEE.md
community/contributing/tech-oversight-committee.md: https://github.com/knative/community/blob/main/TECH-OVERSIGHT-COMMITTEE.md
community/contributing/trademark-committee.md: https://github.com/knative/community/blob/main/TRADEMARK-COMMITTEE.md
community/contributing/values.md: https://github.com/knative/community/blob/main/VALUES.md
community/contributing/working-groups/working-groups.md: https://github.com/knative/community/blob/main/working-groups
community/meetup.md: community/README.md
community/samples.md: https://github.com/knative/docs/tree/main/code-samples/community
concepts/overview.md: index.md
developer/concepts/duck-typing.md: concepts/duck-typing.md
developer/eventing/event-delivery.md: eventing/event-delivery.md
developer/eventing/sinks/README.md: eventing/sinks/README.md
developer/eventing/sinks/kafka-sink.md: eventing/sinks/kafka-sink.md
developer/eventing/sources/README.md: eventing/sources/README.md
developer/eventing/sources/apiserversource/README.md: eventing/sources/apiserversource/README.md
developer/eventing/sources/apiserversource/getting-started.md: eventing/sources/apiserversource/getting-started.md
developer/eventing/sources/apiserversource/reference.md: eventing/sources/apiserversource/reference.md
developer/eventing/sources/containersource/README.md: eventing/custom-event-source/containersource/README.md
developer/eventing/sources/containersource/reference.md: eventing/custom-event-source/containersource/reference.md
developer/eventing/sources/creating-event-sources/README.md: eventing/custom-event-source/README.md
developer/eventing/sources/creating-event-sources/writing-event-source/01-theory.md: eventing/custom-event-source/custom-event-source/README.md
developer/eventing/sources/creating-event-sources/writing-event-source/02-lifecycle-and-types.md: eventing/custom-event-source/custom-event-source/controller.md
developer/eventing/sources/creating-event-sources/writing-event-source/03-controller.md: eventing/custom-event-source/custom-event-source/README.md
developer/eventing/sources/creating-event-sources/writing-event-source/04-reconciler.md: eventing/custom-event-source/custom-event-source/receive-adapter.md
developer/eventing/sources/creating-event-sources/writing-event-source/05-receive-adapter.md: eventing/custom-event-source/custom-event-source/receive-adapter.md
developer/eventing/sources/creating-event-sources/writing-event-source/06-yaml.md: eventing/custom-event-source/custom-event-source/publish-event-source.md
developer/eventing/sources/creating-event-sources/writing-event-source/07-knative-extensions.md: eventing/custom-event-source/custom-event-source/README.md
developer/eventing/sources/creating-event-sources/writing-event-source/README.md: eventing/custom-event-source/custom-event-source/README.md
developer/eventing/sources/kafka-source/README.md: eventing/sources/kafka-source/README.md
developer/eventing/sources/ping-source/README.md: eventing/sources/ping-source/README.md
developer/eventing/sources/ping-source/reference.md: eventing/sources/ping-source/reference.md
developer/eventing/sources/sinkbinding/README.md: eventing/custom-event-source/sinkbinding/README.md
developer/eventing/sources/sinkbinding/getting-started.md: eventing/custom-event-source/sinkbinding/create-a-sinkbinding.md
developer/eventing/sources/sinkbinding/reference.md: eventing/custom-event-source/sinkbinding/reference.md
developer/serving/deploying-from-private-registry.md: serving/deploying-from-private-registry.md
developer/serving/rolling-out-latest-revision.md: serving/rolling-out-latest-revision.md
developer/serving/services/README.md: serving/services/README.md
developer/serving/services/byo-certificate.md: serving/services/custom-tls-certificate-domain-mapping.md
developer/serving/services/certificate-class.md: serving/services/certificate-class.md
developer/serving/services/configure-requests-limits-services.md: serving/services/configure-requests-limits-services.md
developer/serving/services/creating-services.md: serving/services/creating-services.md
developer/serving/services/custom-domains.md: serving/services/custom-domains.md
developer/serving/services/http-option.md: serving/services/http-protocol.md
developer/serving/services/ingress-class.md: serving/services/ingress-class.md
developer/serving/services/private-services.md: serving/services/private-services.md
developer/serving/services/service-metrics.md: serving/services/service-metrics.md
developer/serving/tag-resolution.md: serving/tag-resolution.md
developer/serving/traffic-management.md: serving/traffic-management.md
developer/serving/troubleshooting/debugging-application-issues.md: serving/troubleshooting/debugging-application-issues.md
eventing/broker/alternate/index.md: eventing/brokers/README.md
eventing/broker/broker-event-delivery.md: eventing/event-delivery.md
eventing/broker/configmaps/README.md: eventing/configuration/broker-configuration.md
eventing/channels/default-channels/index.md: eventing/channels/README.md
eventing/debugging/README.md: eventing/troubleshooting/README.md
eventing/metrics.md: eventing/observability/metrics/eventing-metrics.md
eventing/parallel.md: eventing/flows/parallel.md
eventing/samples/README.md: samples/eventing.md
eventing/samples/cloud-audit-logs-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-audit-logs-source
eventing/samples/cloud-pubsub-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-pubsub-source
eventing/samples/cloud-scheduler-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-scheduler-source
eventing/samples/cloud-storage-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-storage-source
eventing/samples/gcp-pubsub-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-pubsub-source
eventing/samples/github-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/github-source
eventing/samples/gitlab-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/gitlab-source
eventing/samples/helloworld/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/helloworld
eventing/samples/helloworld/helloworld-go/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/helloworld/helloworld-go
eventing/samples/helloworld/helloworld-python/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/helloworld/helloworld-python
eventing/samples/kafka/binding/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/kafka/binding
eventing/samples/kafka/channel/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/kafka/channel
eventing/samples/kubernetes-event-source/index.md: eventing/sources/apiserversource/README.md
eventing/samples/parallel/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/parallel
eventing/samples/parallel/multiple-branches/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/parallel/multiple-branches
eventing/samples/parallel/mutual-exclusivity/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/parallel/mutual-exclusivity
eventing/samples/ping-source/index.md: eventing/sources/ping-source/README.md
eventing/samples/sequence/index.md: eventing/flows/sequence/README.md
eventing/samples/sequence/sequence-replay-to-event-display/index.md: eventing/flows/sequence/sequence-reply-to-event-display/README.md
eventing/samples/sequence/sequence-reply-to-sequence/index.md: eventing/flows/sequence/sequence-reply-to-sequence/README.md
eventing/samples/sequence/sequence-terminal/index.md: eventing/flows/sequence/sequence-terminal/README.md
eventing/samples/sequence/sequence-with-broker-trigger/index.md: eventing/flows/sequence/sequence-with-broker-trigger/README.md
eventing/samples/sinkbinding/README.md: eventing/custom-event-source/sinkbinding/README.md
eventing/samples/writing-event-source-easy-way/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/writing-event-source-easy-way
eventing/sequence.md: eventing/flows/sequence/README.md
eventing/sink/README.md: eventing/sinks/README.md
eventing/sink/kafka-sink.md: eventing/sinks/kafka-sink.md
eventing/sources/containersource.md: eventing/custom-event-source/containersource/README.md
eventing/sources/pingsource/index.md: eventing/sources/ping-source/README.md
install/collecting-logs/index.md: serving/observability/logging/collecting-logs.md
install/collecting-metrics/index.md: serving/observability/metrics/collecting-metrics.md
install/eventing/eventing-installation-files.md: install/yaml-install/eventing/eventing-installation-files.md
install/eventing/install-eventing-with-yaml.md: install/yaml-install/eventing/install-eventing-with-yaml.md
install/getting-started-knative-app/index.md: getting-started/README.md
install/install-extensions.md: install/README.md
install/installation-files.md: install/README.md
install/prerequisites.md: install/README.md
install/serving/install-serving-with-yaml.md: install/yaml-install/serving/install-serving-with-yaml.md
install/serving/installing-cert-manager.md: install/installing-cert-manager.md
install/serving/installing-istio.md: install/installing-istio.md
install/serving/serving-installation-files.md: install/yaml-install/serving/serving-installation-files.md
operator/configuring-eventing-cr/index.md: install/operator/configuring-eventing-cr.md
operator/configuring-serving-cr/index.md: install/operator/configuring-serving-cr.md
reference/resources/index.md: client/README.md
serving/autoscaling/autoscaling-concepts.md: serving/autoscaling/autoscaler-types.md
serving/autoscaling/target-burst-capacity/index.md: serving/load-balancing/target-burst-capacity.md
serving/configuring-autoscaling/index.md: serving/autoscaling/README.md
serving/creating-domain-mappings.md: serving/services/custom-domains.md
serving/debugging-application-issues.md: serving/troubleshooting/debugging-application-issues.md
serving/feature-flags.md: serving/configuration/feature-flags.md
serving/getting-started-knative-app.md: getting-started/README.md
serving/installing-cert-manager.md: install/installing-cert-manager.md
serving/metrics.md: serving/observability/metrics/serving-metrics.md
serving/samples/README.md: samples/serving.md
serving/samples/autoscale-go/index.md: serving/autoscaling/autoscale-go/README.md
serving/samples/blue-green-deployment.md: serving/traffic-management.md
serving/samples/cloudevents/cloudevents-dotnet/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-dotnet
serving/samples/cloudevents/cloudevents-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-go
serving/samples/cloudevents/cloudevents-nodejs/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-nodejs
serving/samples/cloudevents/cloudevents-rust/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-rust
serving/samples/cloudevents/cloudevents-spring/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-spring
serving/samples/cloudevents/cloudevents-vertx/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-vertx
serving/samples/gitwebhook-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/gitwebhook-go
serving/samples/grpc-ping-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/grpc-ping-go
serving/samples/hello-world/helloworld-csharp/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-csharp
serving/samples/hello-world/helloworld-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-go
serving/samples/hello-world/helloworld-java-spark/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-java-spark
serving/samples/hello-world/helloworld-java-spring/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-java-spring
serving/samples/hello-world/helloworld-kotlin/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-kotlin
serving/samples/hello-world/helloworld-nodejs/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-nodejs
serving/samples/hello-world/helloworld-php/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-php
serving/samples/hello-world/helloworld-python/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-python
serving/samples/hello-world/helloworld-ruby/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-ruby
serving/samples/hello-world/helloworld-scala/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-scala
serving/samples/hello-world/helloworld-shell/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-shell
serving/samples/knative-routing-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/knative-routing-go
serving/samples/kong-routing-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/kong-routing-go
serving/samples/multi-container/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/multicontainer
serving/samples/secrets-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/secrets-go
serving/samples/tag-header-based-routing/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/tag-header-based-routing
serving/samples/traffic-splitting/README.md: serving/traffic-management.md
serving/services/deployment.md: serving/configuration/deployment.md
serving/services/http-option.md: serving/services/http-protocol.md
serving/spec/knative-api-specification-1.0.md: https://github.com/knative/specs/blob/main/specs/serving/knative-api-specification-1.0.md
serving/using-an-ssl-cert/index.md: serving/encryption/encryption-overview.md
serving/encryption/enabling-automatic-tls-certificate-provisioning.md: serving/encryption/encryption-overview.md
serving/encryption/using-certificates-in-networking-layer.md: serving/encryption/encryption-overview.md
serving/using-subroutes.md: serving/traffic-management.md
eventing/brokers/create-mtbroker.md: eventing/brokers/create-broker.md
eventing/brokers/broker-admin-config-options.md: eventing/configuration/broker-configuration.md
docs/contributing/about.md: community/README.md
docs/eventing/experimental-features/README.md: docs/eventing/features/README.md
docs/eventing/experimental-features/delivery-timeout.md: docs/eventing/features/delivery-timeout.md
docs/eventing/experimental-features/delivery-retryafter.md: docs/eventing/features/delivery-retryafter.md
docs/eventing/experimental-features/new-trigger-filters.md: docs/eventing/triggers/README.md
docs/eventing/experimental-features/kreference-group.md: docs/eventing/features/kreference-group.md
docs/eventing/experimental-features/kreference-mapping.md: docs/eventing/features/kreference-mapping.md
docs/eventing/experimental-features/eventtype-auto-creation.md: docs/eventing/features/eventtype-auto-creation.md
docs/eventing/experimental-features/transport-encryption.md: docs/eventing/features/transport-encryption.md
docs/eventing/experimental-features/sender-identity.md: docs/eventing/features/sender-identity.md
docs/eventing/experimental-features/authorization.md: docs/eventing/features/authorization.md
docs/eventing/features/new-trigger-filters.md: docs/eventing/triggers/README.md
docs/eventing/broker/kafka-broker/kafka-configmap.md: docs/eventing/configuration/kafka-channel-configuration.md
docs/eventing/broker/create-mtbroker.md: docs/eventing/brokers/create-broker.md
docs/eventing/broker/example-mtbroker.md: docs/eventing/brokers/broker-developer-config-options.md
docs/eventing/broker/kafka-broker/README.md: docs/eventing/brokers/broker-types/kafka-broker/README.md
docs/eventing/broker/rabbitmq-broker/README.md: docs/eventing/brokers/broker-types/rabbitmq-broker/README.md
docs/eventing/broker/README.md: docs/eventing/brokers/README.md
docs/concepts/resources/revisions.md: docs/concepts/serving-resources/revisions.md
docs/serving/revision-gc.md: docs/serving/revisions/revision-developer-config-options.md
docs/serving/configuration/revision-gc.md: docs/serving/revisions/revision-admin-config-options.md
docs/reference/concepts/duck-typing.md: docs/concepts/duck-typing.md
docs/reference/client/README.md: docs/client/README.md
docs/reference/api/eventing-api.md: docs/eventing/reference/eventing-api.md
docs/reference/api/serving-api.md: docs/serving/reference/serving-api.md
docs/community/about.md: community/governance.md
docs/contributing/contributing.md: community/contributing.md
docs/contributing/README.md: community/README.md
docs/eventing/getting-started.md: docs/getting-started/getting-started-eventing.md
docs/admin/collecting-logs/README.md: docs/serving/observability/logging/collecting-logs.md
docs/admin/collecting-metrics/README.md: docs/serving/observability/metrics/collecting-metrics.md
docs/admin/collecting-metrics/eventing-metrics/metrics.md: docs/eventing/observability/metrics/eventing-metrics.md
docs/admin/collecting-metrics/serving-metrics/metrics.md: docs/serving/observability/metrics/serving-metrics.md
docs/admin/eventing/broker-configuration.md: docs/eventing/configuration/broker-configuration.md
docs/admin/eventing/channel-configuration.md: docs/eventing/configuration/channel-configuration.md
docs/admin/eventing/kafka-channel-configuration.md: docs/eventing/configuration/kafka-channel-configuration.md
docs/admin/eventing/sources-configuration.md: docs/eventing/configuration/sources-configuration.md
docs/admin/install/README.md: docs/install/README.md
docs/admin/install/eventing/eventing-installation-files.md: docs/install/yaml-install/eventing/eventing-installation-files.md
docs/admin/install/eventing/install-eventing-with-yaml.md: docs/install/yaml-install/eventing/install-eventing-with-yaml.md
docs/admin/install/install-eventing-with-yaml.md: docs/install/yaml-install/eventing/install-eventing-with-yaml.md
docs/admin/install/install-serving-with-yaml.md: docs/install/yaml-install/serving/install-serving-with-yaml.md
docs/admin/install/installing-istio.md: docs/install/installing-istio.md
docs/admin/install/knative-offerings.md: docs/install/knative-offerings.md
docs/admin/install/knative-with-operators.md: docs/install/operator/knative-with-operators.md
docs/admin/install/operator/configuring-eventing-cr.md: docs/install/operator/configuring-eventing-cr.md
docs/admin/install/operator/configuring-serving-cr.md: docs/install/operator/configuring-serving-cr.md
docs/admin/install/serving/install-serving-with-yaml.md: docs/install/yaml-install/serving/install-serving-with-yaml.md
docs/admin/install/serving/serving-installation-files.md: docs/install/yaml-install/serving/serving-installation-files.md
docs/admin/install/uninstall.md: docs/install/uninstall.md
docs/admin/serving/config-defaults.md: docs/serving/configuration/config-defaults.md
docs/admin/serving/deployment.md: docs/serving/configuration/deployment.md
docs/admin/serving/feature-flags.md: docs/serving/configuration/feature-flags.md
docs/admin/serving/rolling-out-latest-revision-configmap.md: docs/serving/configuration/rolling-out-latest-revision-configmap.md
docs/admin/upgrade/index.md: docs/install/upgrade/README.md
docs/admin/upgrade/upgrade-installation-with-operator.md: docs/install/upgrade/upgrade-installation-with-operator.md
docs/admin/upgrade/upgrade-installation.md: docs/install/upgrade/upgrade-installation.md
docs/check-install-version.md: docs/install/upgrade/check-install-version.md
docs/client/connecting-kn-to-your-cluster/index.md: docs/client/README.md
docs/community/annual_reports.md: https://github.com/knative/community/tree/main/annual_reports
docs/community/calendar.md: https://github.com/knative/community/blob/main/CALENDAR.MD
docs/community/contributing/code-of-conduct.md: https://github.com/knative/community/blob/main/CODE-OF-CONDUCT.md
docs/community/contributing/contributing.md: https://github.com/knative/community/blob/main/CONTRIBUTING.md
docs/community/contributing/governance.md: https://github.com/knative/community/blob/main/GOVERNANCE.md
docs/community/contributing/mechanics.md: https://github.com/knative/community/tree/main/mechanics
docs/community/contributing/mechanics/creating-an-extensions-repo.md: https://github.com/knative/community/blob/main/mechanics/CREATING-AN-EXTENSIONS-REPO.md
docs/community/contributing/mechanics/feature-tracks.md: https://github.com/knative/community/blob/main/mechanics/FEATURE-TRACKS.md
docs/community/contributing/mechanics/golang-policy.md: https://github.com/knative/community/blob/main/mechanics/GOLANG-POLICY.md
docs/community/contributing/mechanics/release-schedule.md: https://github.com/knative/community/blob/main/mechanics/RELEASE-SCHEDULE.md
docs/community/contributing/mechanics/release-versioning-principles.md: https://github.com/knative/community/blob/main/mechanics/RELEASE-VERSIONING-PRINCIPLES.md
docs/community/contributing/mechanics/sc.md: https://github.com/knative/community/blob/main/mechanics/SC.md
docs/community/contributing/mechanics/sunsetting-features.md: https://github.com/knative/community/blob/main/mechanics/SUNSETTING-FEATURES.md
docs/community/contributing/mechanics/toc.md: https://github.com/knative/community/blob/main/mechanics/TOC.md
docs/community/contributing/mechanics/working-group-processes.md: https://github.com/knative/community/blob/main/mechanics/WORKING-GROUP-PROCESSES.md
docs/community/contributing/repository-guidelines.md: https://github.com/knative/community/blob/main/REPOSITORY-GUIDELINES.md
docs/community/contributing/reviewing.md: https://github.com/knative/community/blob/main/REVIEWING.md
docs/community/contributing/roles.md: https://github.com/knative/community/blob/main/ROLES.md
docs/community/contributing/slack-guidelines.md: https://github.com/knative/community/blob/main/SLACK-GUIDELINES.md
docs/community/contributing/steering-committee.md: https://github.com/knative/community/blob/main/STEERING-COMMITTEE.md
docs/community/contributing/tech-oversight-committee.md: https://github.com/knative/community/blob/main/TECH-OVERSIGHT-COMMITTEE.md
docs/community/contributing/trademark-committee.md: https://github.com/knative/community/blob/main/TRADEMARK-COMMITTEE.md
docs/community/contributing/values.md: https://github.com/knative/community/blob/main/VALUES.md
docs/community/contributing/working-groups/working-groups.md: https://github.com/knative/community/blob/main/working-groups
docs/community/meetup.md: community/README.md
docs/community/samples.md: https://github.com/knative/docs/tree/main/code-samples/community
docs/concepts/overview.md: docs/index.md
docs/developer/concepts/duck-typing.md: docs/concepts/duck-typing.md
docs/developer/eventing/event-delivery.md: docs/eventing/event-delivery.md
docs/developer/eventing/sinks/README.md: docs/eventing/sinks/README.md
docs/developer/eventing/sinks/kafka-sink.md: docs/eventing/sinks/kafka-sink.md
docs/developer/eventing/sources/README.md: docs/eventing/sources/README.md
docs/developer/eventing/sources/apiserversource/README.md: docs/eventing/sources/apiserversource/README.md
docs/developer/eventing/sources/apiserversource/getting-started.md: docs/eventing/sources/apiserversource/getting-started.md
docs/developer/eventing/sources/apiserversource/reference.md: docs/eventing/sources/apiserversource/reference.md
docs/developer/eventing/sources/containersource/README.md: docs/eventing/custom-event-source/containersource/README.md
docs/developer/eventing/sources/containersource/reference.md: docs/eventing/custom-event-source/containersource/reference.md
docs/developer/eventing/sources/creating-event-sources/README.md: docs/eventing/custom-event-source/README.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/01-theory.md: docs/eventing/custom-event-source/custom-event-source/README.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/02-lifecycle-and-types.md: docs/eventing/custom-event-source/custom-event-source/controller.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/03-controller.md: docs/eventing/custom-event-source/custom-event-source/README.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/04-reconciler.md: docs/eventing/custom-event-source/custom-event-source/receive-adapter.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/05-receive-adapter.md: docs/eventing/custom-event-source/custom-event-source/receive-adapter.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/06-yaml.md: docs/eventing/custom-event-source/custom-event-source/publish-event-source.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/07-knative-extensions.md: docs/eventing/custom-event-source/custom-event-source/README.md
docs/developer/eventing/sources/creating-event-sources/writing-event-source/README.md: docs/eventing/custom-event-source/custom-event-source/README.md
docs/developer/eventing/sources/kafka-source/README.md: docs/eventing/sources/kafka-source/README.md
docs/developer/eventing/sources/ping-source/README.md: docs/eventing/sources/ping-source/README.md
docs/developer/eventing/sources/ping-source/reference.md: docs/eventing/sources/ping-source/reference.md
docs/developer/eventing/sources/sinkbinding/README.md: docs/eventing/custom-event-source/sinkbinding/README.md
docs/developer/eventing/sources/sinkbinding/getting-started.md: docs/eventing/custom-event-source/sinkbinding/create-a-sinkbinding.md
docs/developer/eventing/sources/sinkbinding/reference.md: docs/eventing/custom-event-source/sinkbinding/reference.md
docs/developer/serving/deploying-from-private-registry.md: docs/serving/deploying-from-private-registry.md
docs/developer/serving/rolling-out-latest-revision.md: docs/serving/rolling-out-latest-revision.md
docs/developer/serving/services/README.md: docs/serving/services/README.md
docs/developer/serving/services/byo-certificate.md: docs/serving/services/custom-tls-certificate-domain-mapping.md
docs/developer/serving/services/certificate-class.md: docs/serving/services/certificate-class.md
docs/developer/serving/services/configure-requests-limits-services.md: docs/serving/services/configure-requests-limits-services.md
docs/developer/serving/services/creating-services.md: docs/serving/services/creating-services.md
docs/developer/serving/services/custom-domains.md: docs/serving/services/custom-domains.md
docs/developer/serving/services/http-option.md: docs/serving/services/http-protocol.md
docs/developer/serving/services/ingress-class.md: docs/serving/services/ingress-class.md
docs/developer/serving/services/private-services.md: docs/serving/services/private-services.md
docs/developer/serving/services/service-metrics.md: docs/serving/observability/metrics/serving-metrics.md
docs/developer/serving/tag-resolution.md: docs/serving/tag-resolution.md
docs/developer/serving/traffic-management.md: docs/serving/traffic-management.md
docs/developer/serving/troubleshooting/debugging-application-issues.md: docs/serving/troubleshooting/debugging-application-issues.md
docs/eventing/broker/alternate/index.md: docs/eventing/brokers/README.md
docs/eventing/broker/broker-event-delivery.md: docs/eventing/event-delivery.md
docs/eventing/broker/configmaps/README.md: docs/eventing/configuration/broker-configuration.md
docs/eventing/channels/default-channels/index.md: docs/eventing/channels/README.md
docs/eventing/debugging/README.md: docs/eventing/troubleshooting/README.md
docs/eventing/metrics.md: docs/eventing/observability/metrics/eventing-metrics.md
docs/eventing/parallel.md: docs/eventing/flows/parallel.md
docs/eventing/samples/README.md: docs/samples/eventing.md
docs/eventing/samples/cloud-audit-logs-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-audit-logs-source
docs/eventing/samples/cloud-pubsub-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-pubsub-source
docs/eventing/samples/cloud-scheduler-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-scheduler-source
docs/eventing/samples/cloud-storage-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-storage-source
docs/eventing/samples/gcp-pubsub-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/cloud-pubsub-source
docs/eventing/samples/github-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/github-source
docs/eventing/samples/gitlab-source/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/gitlab-source
docs/eventing/samples/helloworld/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/helloworld
docs/eventing/samples/helloworld/helloworld-go/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/helloworld/helloworld-go
docs/eventing/samples/helloworld/helloworld-python/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/helloworld/helloworld-python
docs/eventing/samples/kafka/binding/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/kafka/binding
docs/eventing/samples/kafka/channel/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/kafka/channel
docs/eventing/samples/kubernetes-event-source/index.md: docs/eventing/sources/apiserversource/README.md
docs/eventing/samples/parallel/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/parallel
docs/eventing/samples/parallel/multiple-branches/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/parallel/multiple-branches
docs/eventing/samples/parallel/mutual-exclusivity/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/parallel/mutual-exclusivity
docs/eventing/samples/ping-source/index.md: docs/eventing/sources/ping-source/README.md
docs/eventing/samples/sequence/index.md: docs/eventing/flows/sequence/README.md
docs/eventing/samples/sequence/sequence-replay-to-event-display/index.md: docs/eventing/flows/sequence/sequence-reply-to-event-display/README.md
docs/eventing/samples/sequence/sequence-reply-to-sequence/index.md: docs/eventing/flows/sequence/sequence-reply-to-sequence/README.md
docs/eventing/samples/sequence/sequence-terminal/index.md: docs/eventing/flows/sequence/sequence-terminal/README.md
docs/eventing/samples/sequence/sequence-with-broker-trigger/index.md: docs/eventing/flows/sequence/sequence-with-broker-trigger/README.md
docs/eventing/samples/sinkbinding/README.md: docs/eventing/custom-event-source/sinkbinding/README.md
docs/eventing/samples/writing-event-source-easy-way/README.md: https://github.com/knative/docs/tree/main/code-samples/eventing/writing-event-source-easy-way
docs/eventing/sequence.md: docs/eventing/flows/sequence/README.md
docs/eventing/sink/README.md: docs/eventing/sinks/README.md
docs/eventing/sink/kafka-sink.md: docs/eventing/sinks/kafka-sink.md
docs/eventing/sources/containersource.md: docs/eventing/custom-event-source/containersource/README.md
docs/eventing/sources/pingsource/index.md: docs/eventing/sources/ping-source/README.md
docs/install/collecting-logs/index.md: docs/serving/observability/logging/collecting-logs.md
docs/install/collecting-metrics/index.md: docs/serving/observability/metrics/collecting-metrics.md
docs/install/eventing/eventing-installation-files.md: docs/install/yaml-install/eventing/eventing-installation-files.md
docs/install/eventing/install-eventing-with-yaml.md: docs/install/yaml-install/eventing/install-eventing-with-yaml.md
docs/install/getting-started-knative-app/index.md: docs/getting-started/README.md
docs/install/install-extensions.md: docs/install/README.md
docs/install/installation-files.md: docs/install/README.md
docs/install/prerequisites.md: docs/install/README.md
docs/install/serving/install-serving-with-yaml.md: docs/install/yaml-install/serving/install-serving-with-yaml.md
docs/install/serving/installing-cert-manager.md: docs/install/installing-cert-manager.md
docs/install/serving/installing-istio.md: docs/install/installing-istio.md
docs/install/serving/serving-installation-files.md: docs/install/yaml-install/serving/serving-installation-files.md
docs/operator/configuring-eventing-cr/index.md: docs/install/operator/configuring-eventing-cr.md
docs/operator/configuring-serving-cr/index.md: docs/install/operator/configuring-serving-cr.md
docs/reference/resources/index.md: docs/client/README.md
docs/serving/autoscaling/autoscaling-concepts.md: docs/serving/autoscaling/autoscaler-types.md
docs/serving/autoscaling/target-burst-capacity/index.md: docs/serving/load-balancing/target-burst-capacity.md
docs/serving/configuring-autoscaling/index.md: docs/serving/autoscaling/README.md
docs/serving/creating-domain-mappings.md: docs/serving/services/custom-domains.md
docs/serving/debugging-application-issues.md: docs/serving/troubleshooting/debugging-application-issues.md
docs/serving/feature-flags.md: docs/serving/configuration/feature-flags.md
docs/serving/getting-started-knative-app.md: docs/getting-started/README.md
docs/serving/installing-cert-manager.md: docs/install/installing-cert-manager.md
docs/serving/metrics.md: docs/serving/observability/metrics/serving-metrics.md
docs/serving/samples/README.md: docs/samples/serving.md
docs/serving/samples/autoscale-go/index.md: docs/serving/autoscaling/autoscale-go/README.md
docs/serving/samples/blue-green-deployment.md: docs/serving/traffic-management.md
docs/serving/samples/cloudevents/cloudevents-dotnet/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-dotnet
docs/serving/samples/cloudevents/cloudevents-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-go
docs/serving/samples/cloudevents/cloudevents-nodejs/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-nodejs
docs/serving/samples/cloudevents/cloudevents-rust/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-rust
docs/serving/samples/cloudevents/cloudevents-spring/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-spring
docs/serving/samples/cloudevents/cloudevents-vertx/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/cloudevents/cloudevents-vertx
docs/serving/samples/gitwebhook-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/gitwebhook-go
docs/serving/samples/grpc-ping-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/grpc-ping-go
docs/serving/samples/hello-world/helloworld-csharp/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-csharp
docs/serving/samples/hello-world/helloworld-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-go
docs/serving/samples/hello-world/helloworld-java-spark/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-java-spark
docs/serving/samples/hello-world/helloworld-java-spring/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-java-spring
docs/serving/samples/hello-world/helloworld-kotlin/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-kotlin
docs/serving/samples/hello-world/helloworld-nodejs/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-nodejs
docs/serving/samples/hello-world/helloworld-php/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-php
docs/serving/samples/hello-world/helloworld-python/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-python
docs/serving/samples/hello-world/helloworld-ruby/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-ruby
docs/serving/samples/hello-world/helloworld-scala/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-scala
docs/serving/samples/hello-world/helloworld-shell/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-shell
docs/serving/samples/knative-routing-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/knative-routing-go
docs/serving/samples/kong-routing-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/kong-routing-go
docs/serving/samples/multi-container/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/multicontainer
docs/serving/samples/secrets-go/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/secrets-go
docs/serving/samples/tag-header-based-routing/README.md: https://github.com/knative/docs/tree/main/code-samples/serving/tag-header-based-routing
docs/serving/samples/traffic-splitting/README.md: docs/serving/traffic-management.md
docs/serving/services/deployment.md: docs/serving/configuration/deployment.md
docs/serving/services/http-option.md: docs/serving/services/http-protocol.md
docs/serving/services/service-metrics.md: docs/serving/observability/metrics/serving-metrics.md
docs/serving/spec/knative-api-specification-1.0.md: https://github.com/knative/specs/blob/main/specs/serving/knative-api-specification-1.0.md
docs/serving/using-an-ssl-cert/index.md: docs/serving/encryption/encryption-overview.md
docs/serving/encryption/enabling-automatic-tls-certificate-provisioning.md: docs/serving/encryption/encryption-overview.md
docs/serving/encryption/using-certificates-in-networking-layer.md: docs/serving/encryption/encryption-overview.md
docs/serving/using-subroutes.md: docs/serving/traffic-management.md
docs/eventing/brokers/create-mtbroker.md: docs/eventing/brokers/create-broker.md
docs/eventing/brokers/broker-admin-config-options.md: docs/eventing/configuration/broker-configuration.md

View File

@ -1,5 +1,3 @@
INHERIT: redirects.yml
nav:
###############################################################################
# Concepts
@ -134,7 +132,6 @@ nav:
- Services:
- About Knative Services: serving/services/README.md
- Creating a Service: serving/services/creating-services.md
- Service metrics: serving/services/service-metrics.md
- Configuring private Services: serving/services/private-services.md
- Configuring ingress class: serving/services/ingress-class.md
- Configuring certificate class: serving/services/certificate-class.md
@ -145,6 +142,7 @@ nav:
- Configure resource requests and limits: serving/services/configure-requests-limits-services.md
- Configuring probes: serving/services/configure-probing.md
- Configuring HTTP: serving/services/http-protocol.md
- Performing Dry Run: serving/dryrun.md
- Volume Support: serving/services/storage.md
- Traffic management: serving/traffic-management.md
- Configuring gradual rollout of traffic to Revisions: serving/rolling-out-latest-revision.md
@ -348,18 +346,3 @@ nav:
- Verifying Knative Images: reference/security/verifying-images.md
- Verifying Knative Binaries: reference/security/verifying-cli.md
- Release notes: reference/relnotes/README.md
- Blog: /blog/
- About:
- Testimonials: about/testimonials.md
- Case studies:
- List of Case Studies: about/case-studies/README.md
- deepc: about/case-studies/deepc.md
- IBM: about/case-studies/ibm.md
- Outfit7: about/case-studies/outfit7.md
- Puppet: about/case-studies/puppet.md
- PNC Bank: about/case-studies/pnc.md
- SVA: about/case-studies/sva.md
- Community:
- How To Get Involved: community/README.md
- Contribute to Knative: community/contributing.md
- Community Rules and Practices: community/governance.md

11
docs/about/.nav.yml Normal file
View File

@ -0,0 +1,11 @@
nav:
- About:
- Testimonials: about/testimonials.md
- Case studies:
- List of Case Studies: about/case-studies/README.md
- deepc: about/case-studies/deepc.md
- IBM: about/case-studies/ibm.md
- Outfit7: about/case-studies/outfit7.md
- Puppet: about/case-studies/puppet.md
- PNC Bank: about/case-studies/pnc.md
- SVA: about/case-studies/sva.md

View File

@ -1,13 +1,4 @@
nav:
- Concepts: /docs/concepts/
- Tutorial: /docs/getting-started/
- Installing: /docs/install/
- Functions: /docs/functions/
- Serving: /docs/serving/
- Eventing: /docs/eventing/
- Knative CLI: /docs/client/
- Code samples: /docs/samples/
- Reference: /docs/reference/security/
#####################################################
# Blog
#####################################################
@ -124,7 +115,4 @@ nav:
- events/install-fest-04-2022.md
- events/knative-at-kubecon-eu-2019.md
- events/knative-at-kubecon-seattle.md
#####################################################
# keep the same order as on the main page
- About: /docs/about/testimonials/
- Community: /docs/community/

View File

@ -115,9 +115,9 @@ The scenario we are going to demonstrate is to deploy the ksvc, let it scale dow
We then collect the logs from the autoscaler and visualize the EBC values, ready pods, and panic mode over time.
The graphs are shown next.
![Excess burst capacity over time](/blog/articles/images/ebc.png)
![Ready pods over time](/blog/articles/images/readypods.png)
![Panic mode over time](/blog/articles/images/panic.png)
![Excess burst capacity over time](images/ebc.png)
![Ready pods over time](images/readypods.png)
![Panic mode over time](images/panic.png)
!!! note
@ -270,7 +270,7 @@ Note that when traffic goes down and until we adjust the pod count, for some sho
The major events are also shown in the timeline bellow:
![timeline](/blog/articles/images/timeline.png)
![timeline](images/timeline.png)
### Conclusion

View File

@ -263,13 +263,13 @@ EOF
Once these services are deployed we can check back over at our Jaeger dashboard and we should see some more a more interesting trace:
![Screenshot of the Jaeger UI of a traces](/blog/articles/images/tracing-1.png)
![Screenshot of the Jaeger UI of a traces](images/tracing-1.png)
On the “System Architecture” tab of Jaeger we can also see a nice graph of our
topology, including one component you may or may not know about, the
[activator](https://knative.dev/docs/serving/knative-kubernetes-services/#service-activator):
![Screenshot of a Jaeger architecture diagram](/blog/articles/images/tracing-2.png)
![Screenshot of a Jaeger architecture diagram](images/tracing-2.png)
This is a component that Knative Serving adds to the network path of Knative
Service to buffer requests when our service isnt ready to handle them as well
@ -344,7 +344,7 @@ broker implementation your traces will be different, but in all cases were
adding complexity to our system for the sake of increasing its flexibility and
power.
![Screenshot of a Jaeger trace with a broker and trigger](/blog/articles/images/tracing-3.png)
![Screenshot of a Jaeger trace with a broker and trigger](images/tracing-3.png)
From here we can add another wrinkle to our deployment: instead of every
heartbeat going straight to our event-display service, lets flip a coin and
@ -456,9 +456,9 @@ spans that we are sending with our [custom
instrumentation](https://github.com/benmoss/knative-tracing/blob/133540feced8ad819d05087f4607009bd55f7ed6/cmd/coinflip/main.go#L52)
from within the coin-flipper service.
![Screenshot of a span with custom metadata attached](/blog/articles/images/tracing-4.png)
![Screenshot of a span with custom metadata attached](images/tracing-4.png)
![Screenshot of a flow diagram from Jaeger](/blog/articles/images/tracing-5.png)
![Screenshot of a flow diagram from Jaeger](images/tracing-5.png)
We can get a sense from Jaeger's architecture diagram what is happening here.
Our events are flowing in from the heartbeats service, through the broker, and

View File

@ -14,7 +14,7 @@ To demonstrate how the Kogito workflow implementation works on Knative's event-d
The following image taken from the [specification examples page](https://github.com/serverlessworkflow/specification/tree/main/examples#New-Patient-Onboarding) illustrates this workflow:
![Patient onboarding workflow representation](/blog/articles/images/kogito-example-patientonboarding.png)
![Patient onboarding workflow representation](images/kogito-example-patientonboarding.png)
*Patient Onboarding workflow representation*
The workflow starts after receiving a [CloudEvent](https://github.com/cloudevents/spec) object that contains patient information. Three functions are then called by the spec in a sequence which: (1) stores the patient information, (2) assigns the patient to a doctor based on their symptoms, and (3) schedules an appointment with the assigned doctor for that patient.
@ -70,7 +70,7 @@ Note that the specification allows for both JSON and YAML workflow formats. This
During compilation, the Kogito runtime will parse this YAML file and will generate Java code that represents this workflow definition. The generated code is based on the Quarkus framework. The outcome is an OpenAPI standard REST service that can be deployed anywhere in your architecture.
![Kogito Runtime workflow parse process](/blog/articles/images/kogito-process-workflow-file.png)
![Kogito Runtime workflow parse process](images/kogito-process-workflow-file.png)
*Kogito Runtime parsing flow*
In this example, we have also added the [Knative Kogito Eventing plugin](https://docs.jboss.org/kogito/release/latest/html_single/#con-knative-eventing_kogito-developing-process-services) to the project, which means that it can accept CloudEvent objects through HTTP on the root path. For example:
@ -94,14 +94,14 @@ There's much more included in this example. For comprehensive instructions on ho
Based on this generated service, you can build [an image](https://docs.jboss.org/kogito/release/latest/html_single/#proc-kogito-deploying-on-kubernetes_kogito-deploying-on-openshift) to be deployed with the [Kogito Operator](https://docs.jboss.org/kogito/release/latest/html_single/#con-kogito-operator-and-cli_kogito-deploying-on-openshift) on a Kubernetes cluster with [Knative Eventing](https://knative.dev/docs/eventing/) installed. The Operator will create all the necessary Knative resources to configure this service and subscribe it to the Knative [broker](https://knative.dev/docs/eventing/broker/).
![Knative and Kogito integration](/blog/articles/images/kogito-knative-eventing-kogito-operator.png)
![Knative and Kogito integration](images/kogito-knative-eventing-kogito-operator.png)
*Knative Eventing and Kogito Operator integration*
The Kogito Operator creates a Knative [Trigger](https://knative.dev/docs/eventing/triggers/) resource, that links the service and the broker together. In this example, it will filter events of type `new.patients.events`. This means that every time a new event of this type comes to the broker, it will be redirected to the Kogito service.
The same concept also applies to [events produced by the workflow engine](https://docs.jboss.org/kogito/release/latest/html_single/#con-knative-eventing_kogito-developing-process-services). In this case, the operator will create a Knative [SinkBinding](https://knative.dev/docs/eventing/custom-event-source/sinkbinding/) resource, and will bind it to the Knative broker. Each time an event is produced by the service, a CloudEvent representing it will be sent to the broker. The image below ilustrates the implementation detail of a Kogito service emitting events to the Knative broker via SinkBinding.
![Knative and Kogito integration](/blog/articles/images/kogito-knative-impl-producing-event.png)
![Knative and Kogito integration](images/kogito-knative-impl-producing-event.png)
*Knative Eventing and Kogito service event producers*
### Conclusion

View File

@ -5,7 +5,10 @@
Ive been exploring [Knative Eventing](https://knative.dev/docs/eventing/), a system that enables a cloud native eventing ecosystem to be easily deployed through the use of **event producers** and **event consumers.** Most of the work on this demo has been done in version 0.11, and I have also run it in version 0.13, and now it also works on version 0.15.
This demo was presented at the first Knative Community Meetup, so you can also watch the video version here:
{{< youtube sGi_LuAaaT0 >}}
<div class="video-wrapper">
<iframe width="720" height="480" src="https://www.youtube.com/embed/sGi_LuAaaT0" frameborder="0" allowfullscreen></iframe>
</div>
I put together a simple demo to explore some of the key advantages of event-driven architectures, such as:
@ -20,7 +23,7 @@ This scenario uses Bitcoin transaction events as an example of an event stream.
In the diagram below, you can see a plan of what we will deploy.
![Diagram of this example Knative Eventing scenario](/blog/images/knative-eventing-scenario.png)
![Diagram of this example Knative Eventing scenario](../images/knative-eventing-scenario.png)
There is a github repository to accompany this demo [here](https://github.com/josiemundi/knative-eventing-blockchain-demo). The source code for all of the individual services is available in the github repo. If you want to use the pre-built images from Docker hub then you will only need the files in the yaml directory.
@ -66,11 +69,11 @@ kubectl apply -f 060-kubernetesservice.yaml
```
Once you have deployed this service you can head to localhost:31234 with your web browser and you should see the bitcoin transaction events rendering in real-time in the UI:
![You should see this UI updating in real-time](/blog/images/knative-eventing-UI-real-time.png)
![You should see this UI updating in real-time](../images/knative-eventing-UI-real-time.png)
- **classifier** — subscribed to events that are from “wss://ws.blockchain.info/inv”. This service takes the events and then classifies each transaction value. In the application code, a new CloudEvent is created with a new **type** and **source.** These new events are emitted back out into the Knative eventing ecosystem.
![](/blog/images/knative-eventing-classifier.png)
![Commond-line output of images](../images/knative-eventing-classifier.png)
The logic has been kept simple and there are only two size classes; *small* and *large.* It represents an example of an in-stream transformation or modelling application that could be happening as part of a data science or ML process. This type of architecture can be used for fraud detection, anomaly detection and other decisions where speed is critical.
```
@ -86,7 +89,7 @@ This service subscribes to the events that contain the size of the transaction s
```
kubectl logs -l serving.knative.dev/service=test-display -c user-container — tail=100 -n knative-eventing-websocket-source -f
```
![Our test-display service consumes the size reply that is emitted by the classifier](/blog/images/knative-eventing-test-display.png)
![Our test-display service consumes the size reply that is emitted by the classifier](../images/knative-eventing-test-display.png)
## Further Reading
Give the demo a whirl and [let me know](https://twitter.com/developing4data) how you get on!

View File

@ -2,7 +2,7 @@
**Authors: [Calum Murray](https://www.linkedin.com/in/calum-ra-murray/) Software Engineering Intern @ [Red Hat](https://www.redhat.com/en), and [Leo Li](https://www.linkedin.com/in/haocheng-leo/) Software Engineering Intern @ [Red Hat](https://www.redhat.com/en)**
![](/blog/images/getting-started-blog-series/post0/person-chasing-logo.png)
![Person chasing the Knative logo](../images/getting-started-blog-series/post0/person-chasing-logo.png)
## What is this blog series?
@ -27,7 +27,7 @@ learning all about how Knative works and making our first contributions to the p
we just faced them ourselves. Our hope is that by creating this blog series we can alleviate some of these pain points for the contibutors who come after
us.
![](/blog/images/getting-started-blog-series/post0/reading-side-doodle.png)
![Person reading a book](../images/getting-started-blog-series/post0/reading-side-doodle.png)
With that in mind, let's discuss what pain points we have been experiencing. The first is that Knative is a very large project, with many massive repositories.
As a new contributor it can be very difficult to know how to navigate the codebase to find where to make your change. There is also a lot of "magic" in the
@ -54,7 +54,7 @@ If, as you are reading the articles you ever have any questions, look it up onli
able to find them is a valuable skill in and of itself. We will do our best to provide you with a curated list of articles to go and learn more with each post
in this series to provide a starting point to your research, although we encourage you to read beyond what we provide.
![](/blog/images/getting-started-blog-series/post0/person-falling-logo.png)
![A person and the Knative logo both slipping and falling](../images/getting-started-blog-series/post0/person-falling-logo.png)
### Ask the community
@ -74,4 +74,4 @@ to refer back to these blog posts to remember how things work. Your patience and
We hope that you've enjoyed this first post, and we look forward to seeing you in [the next one](/blog/articles/getting-started-blog-p1)!
![](/blog/images/getting-started-blog-series/post1/thanks.png)
![Person hugging a plant and saying thanks](../images/getting-started-blog-series/post1/thanks.png)

View File

@ -4,7 +4,7 @@
Welcome back to this introductory blog series! In this article we are going to be providing an introduction to open source: what it is, why you should care, and how you can participate.
![](/blog/images/getting-started-blog-series/post1/hello-open-source.png)
![A person waving hello, with the words "Hello Open Source"](../images/getting-started-blog-series/post1/hello-open-source.png)
If you already have lots of open source experience, you should be able to completely skip this post and jump to the next one, where we will go over how to set up your development
environment for working on __Knative__. But if you're new to open source, interested in learning more, or want a refresher, then we look forward to discussing the what, why, and
@ -35,7 +35,7 @@ Open source is a large, popular, and innovative way to build and share software.
## Why should you participate?
![](/blog/images/getting-started-blog-series/post1/why-contribute.png)
![A person holding an ice cream cone, with the question "why contribute"](../images/getting-started-blog-series/post1/why-contribute.png)
Now that we know what open source software is, as well as some examples of open source software you have probably encountered, why should you participate in open source? Well, there
are lots of different scenarios in which you may want to participate, so let's discuss a few of them and the benefits you will obtain by participating.
@ -119,13 +119,13 @@ You'll make a new branch on your fork of the repo, and write some code. When you
approved by the reviewer, your work will be done and your code will be merged! (Merging means combing your changes with the main code for the codebase, so that everyone is able to
use them). This flow can be seen in the diagram below.
![](/blog/images/getting-started-blog-series/post1/open-source-workflow.png)
![Flowchart of opening an issue or a PR to contribute](../images/getting-started-blog-series/post1/open-source-workflow.png)
Now, if you are not familiar with this process, it probably feels very confusing. So, to demistify it further, let's break down each part and discuss them in detail.
### Propose a Change
![](/blog/images/getting-started-blog-series/post1/propose-ideas.png)
![A person chasing paper scattered by the wind with the words "Propose Ideas"](../images/getting-started-blog-series/post1/propose-ideas.png)
The first step of the process is to propose a change. This step is very important if you want to add a new feature as the community may not actually want the feature you want, or
may want it to work differently than how you envision it. In both cases, if you start coding before proposing the feature, you will be wasting a lot of your time. Different communities
@ -142,7 +142,7 @@ been approved you can move on to the next step!
### Coding your changes!
![](/blog/images/getting-started-blog-series/post1/start-coding.png)
![A person running with the words "Start Coding"](../images/getting-started-blog-series/post1/start-coding.png)
Once your proposal has been accepted, it's time to code your change. In this section we aren't going to spend much time on discussing how to write the code itself (but if you're
interested in how to write Knative code be sure to check out the rest of this blog series!). Instead, we will be focusing on all the processes you should follow around writing code.
@ -209,7 +209,7 @@ commit message__, while "added try catch block to prevent crash" would be better
### Making a PR/MR
![](/blog/images/getting-started-blog-series/post1/ready-for-review.png)
![A person dancing to music with the words "Ready for Review"](../images/getting-started-blog-series/post1/ready-for-review.png)
There are two scenarios where you would likely want to open a PR/MR. The first is that you feel your changes are complete and
are ready to be merged into the project. The second is that you have made some progress but are not finished yet, and would like to get some early feedback or assistance on your changes.
@ -235,7 +235,7 @@ process, improving your code until it is ready to be merged into the project. Le
### PR/MR Review Process
![](/blog/images/getting-started-blog-series/post1/getting-feedback.png)
![A person sitting with a book, with the words "Getting Feedback"](../images/getting-started-blog-series/post1/getting-feedback.png)
Once you have a PR/MR which is ready, one or more people will review your changes and provide feedback. If this is one of your first contributions to the project, expect lots of
feedback! It is then up to you to make changes to address those comments. To do this, all you need to do is make a new commit on the same branch you made the PR from, and push the
@ -265,4 +265,4 @@ We hope that you enjoyed this article and feel more comfortable contributing to
P.S. If you are interested in getting started contributing to open source, be sure to checkout out [this CNCF article](https://contribute.cncf.io/contributors/getting-started/){:target="_blank"},
as it provides a great starting point.
![](/blog/images/getting-started-blog-series/post1/thanks.png)
![Person hugging a plant and saying thanks](../images/getting-started-blog-series/post1/thanks.png)

View File

@ -8,7 +8,7 @@ A development environment is a place where you can modify and examine code witho
environment, we are splitting the setup of the development environment into the local setup (i.e. things you set up on your own computer), and the external setup
(i.e. things you set up that aren't on your own computer).
![](/blog/images/getting-started-blog-series/post2/doodle001.png)
![Person dancing with the Knative logo](../images/getting-started-blog-series/post2/doodle001.png)
*G. Cresnar Premium, Gear Icon, https://www.flaticon.com/free-icon/settings_563541?term=gear&page=1&position=4&origin=search&related_id=563541*
## Local Setup
@ -170,19 +170,19 @@ You can easily interact and navigate Kubernetes resources such as logs for Pods
If you are using VSCode, here is the way to set up your [Kubernetes plugin](https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-kubernetes-tools&ssr=false#overview){:target="_blank"}:
![](/blog/images/getting-started-blog-series/post2/vscode001.png)
![Picture of the Kubernetes plugin in VSCode extensions view](../images/getting-started-blog-series/post2/vscode001.png)
After you have installed the plugin, you will be able to see it here:
![](/blog/images/getting-started-blog-series/post2/vscode002.png)
![Screenshot of the VSCode Kubernetes plugin](../images/getting-started-blog-series/post2/vscode002.png)
If you are using Jetbrains IDEs, here is how to install the [Kubernetes plugin](https://plugins.jetbrains.com/plugin/10485-kubernetes){:target="_blank"}:
![](/blog/images/getting-started-blog-series/post2/jb001.png)
![Screenshot of installing the Jetbrains Kubernetes plugin](../images/getting-started-blog-series/post2/jb001.png)
After you have installed the plugin, you will be able to see it here:
![](/blog/images/getting-started-blog-series/post2/jb002.png)
![Screenshot of the Jetbrains Kubernetes plugin](../images/getting-started-blog-series/post2/jb002.png)
##### Language Support
@ -191,15 +191,15 @@ GoLand for Go, Pycharm for Python, and so on. In order for VSCode to provide IDE
Similarly in JetBrains, you can often install a plugin for a particular language even if the IDE doesn't support that language, although sometimes you will have to pay for the
appropriate license. Since VSCode needs plugins to have IDE features for a language, we recommend that you install the following plugins:
![](/blog/images/getting-started-blog-series/post2/vscode003.png)
![Screenshot of the YAML VSCode plugin](../images/getting-started-blog-series/post2/vscode003.png)
![](/blog/images/getting-started-blog-series/post2/vscode004.png)
![Screenshot of the Go VSCode plugin](../images/getting-started-blog-series/post2/vscode004.png)
##### Code Formatting
Go code has a built in style guide and formatter, so naturally you can configure this with both VSCode and JetBrains IDEs. For VSCode, you can follow the following steps:
![](/blog/images/getting-started-blog-series/post2/vscode005.png)
![Screenshot of the VSCode formatting preferences page](../images/getting-started-blog-series/post2/vscode005.png)
For JetBrains, you can find more details on how to set it up in [this article](https://www.jetbrains.com/help/idea/integration-with-go-tools.html#gofmt){:target="_blank"}.
@ -215,7 +215,7 @@ along with __a mailing list__. You can find links to these communication channel
and bi-weekly working group meetings which you can join on zoom where we have discussions. To find the community calendar (which includes the working group meeting times and
links), as well as the link to the slack and the mailing list, you can [read this article](https://knative.dev/docs/community/#meetings){:target="_blank"}.
![](/blog/images/getting-started-blog-series/post2/doodle002.png)
![Person with a heart on their sweater hugging it, with the words "love from the community"](../images/getting-started-blog-series/post2/doodle002.png)
### Claiming an Issue
@ -271,4 +271,4 @@ more than one review in one go (e.g. "/cc @user1 @user2").
To find out about all the commands that Knative's instance of Prow supports, as well as their usage, you can read the [Prow commands page](https://prow.knative.dev/command-help){:target="_blank"}.
![](/blog/images/getting-started-blog-series/post2/doodle003.png)
![Person hugging a plant and saying thanks](../images/getting-started-blog-series/post2/doodle003.png)

View File

@ -2,26 +2,26 @@
**Authors: [Calum Murray](https://www.linkedin.com/in/calum-ra-murray/) Software Engineering Intern @ [Red Hat](https://www.redhat.com/en), and [Leo Li](https://www.linkedin.com/in/haocheng-leo/) Software Engineering Intern @ [Red Hat](https://www.redhat.com/en)**
![](/blog/images/getting-started-blog-series/post3/001.png)
![Person chasing the Knative logo](../images/getting-started-blog-series/post3/001.png)
Hello and welcome back to the blog series! In this blog post we will start making actual code changes to some Knative code. Specifically, we will be learning what an API is in Knative, and how we can change them. To facilitate this and the future coding focused blog posts, we will be building a simple event source based on the Knative sample source code. Our source will function similarly to the sample source and send an event at an interval, except it will allow you to create a text template which will be populated with variables on every event that is sent. By the end of this blog post you should be able to understand what APIs are in Knative, and have modified the sample source API to support our new feature (text templates).
## What is an API?
![](/blog/images/getting-started-blog-series/post3/002.png)
![Person sitting, pondering "What is an API?"](../images/getting-started-blog-series/post3/002.png)
An API is an “Application Programming Interface”. You can think of it as a contract, where an application provides an interface to users which the users can use to programmatically specify what they want the application to do for them
In Knative, APIs take the form of [Kubernetes CustomResourceDefinitions (CRDs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-resources){:target="_blank"}. These are the definitions of what resources Knative can provide in your cluster. For example, if you want an event broker for your event driven application you are building, you might want to use the Knative Eventing Broker CRD. Users interact with this API by creating instances of the Custom Resource in their cluster. You can think of this in the same way as an Object is an instance of a Class: a Custom Resource is an instance of a Custom Resource Definition.
![](/blog/images/getting-started-blog-series/post3/003.png)
![Kubernetes and Knative logos, next to the words "Custom Resource Definitions"](../images/getting-started-blog-series/post3/003.png)
Once Kubernetes is aware of the CRD (for example, by kubectl apply -f mycrd.yaml), users can interact with the custom resources as if they were normal kubernetes resources. For example, if I wanted to get all the brokers in namespace my-namespace, I could run kubectl get brokers -n my-namespace. This is a really powerful concept, and is a large part of the philosophy of Knative: we provide Kubernetes Native resources to users so that they can more easily build applications on Kubernetes. In Knative we provide APIs to users by using the core Kubernetes API of [CustomResourceDefinitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-resources){:target="_blank"} so that we can realize our philosophy of being Kubernetes Native.
## How can we change an API?
![](/blog/images/getting-started-blog-series/post3/004.png)
![Person chasing papers scattered by the wind, with the words "Time to Change"](../images/getting-started-blog-series/post3/004.png)
Now that we know what APIs are (generally, and in the context of Knative), we are ready to explore how we can make changes to them. When we want to update an API there are three steps that you need to take.
![](/blog/images/getting-started-blog-series/post3/006.png)
![Update SampleSource struct](../images/getting-started-blog-series/post3/006.png)
Update the struct for the object. In our case, we want to update the SampleSource struct. In Knative, these are often found in `pkg/apis/<groupname>/<version>/<resourcename>_types.go`. Looking at this struct, we can see that there is a structure to it that all resources generally follow:
@ -94,10 +94,10 @@ type SampleSourceSpec struct {
All we added was the MessageTemplate string to the `Spec`. Note the JSON tag - this is very important! Without a JSON tag, this field will not be read out of a JSON object when the controller receives info about it from the API Server, and the value will not be written to the JSON we send back to the API Server, so it would not be stored in etcd.
![](/blog/images/getting-started-blog-series/post3/007.png)
![Run "./hack/update-codegen.sh"](../images/getting-started-blog-series/post3/007.png)
After updating the struct, we normally want to update the [codegen](https://www.redhat.com/en/blog/kubernetes-deep-dive-code-generation-customresources){:target="_blank"}. Knative uses custom code generators to automatically implement parts of the reconciler (more on that in coming blog posts), as well as [deep copy](https://stackoverflow.com/questions/184710/what-is-the-difference-between-a-deep-copy-and-a-shallow-copy){:target="_blank"} functions for the structs and auto-generated API documentation. In our case, we want to update the DeepCopy function for the SampleSourceSpec struct. To update the generated code in Knative, you just need to run ./hack/update-codegen.sh. There may be specific versions of dependencies you need to run this in a given repository, so always check the DEVELOPMENT.md file when setting up your repository for development.
![](/blog/images/getting-started-blog-series/post3/008.png)
![Update CRD yaml](../images/getting-started-blog-series/post3/008.png)
After updating the struct, you need to also update the CRD yaml file. For us, the CRD we are editing looks like;
```yaml
@ -163,4 +163,4 @@ In the next blog post, we will continue with our project and learn how to modify
We look forward to seeing you in the next blog post! In the meantime, if you have any questions, reach out in #knative-contributors, and we will be happy to help.
![](/blog/images/getting-started-blog-series/post3/009.png)
![Person hugging a plant and saying thanks](../images/getting-started-blog-series/post3/009.png)

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Some files were not shown because too many files have changed in this diff Show More