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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions .github/issue-template.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
## Expected Behavior


## Actual Behavior


## Steps to Reproduce the Problem

1.
2.
3.
1.
2.
3.

## Additional Info

Expand Down
6 changes: 3 additions & 3 deletions .github/pull-request-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ Fixes #(issue-number)

## Proposed Changes

*
*
*
-
-
-
78 changes: 39 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
# Welcome, Knative

Knative (pronounced kay-nay-tiv) extends Kubernetes to provide a set of middleware
components that are essential to build modern, source-centric, and container-based
applications that can run anywhere: on premises, in the cloud, or even in a third-party
data center.
Knative (pronounced kay-nay-tiv) extends Kubernetes to provide a set of middleware
components that are essential to build modern, source-centric, and container-based
applications that can run anywhere: on premises, in the cloud, or even in a third-party
data center.

Each of the components under the Knative project attempt to identify common patterns and
codify the best practices that are shared by successful real-world Kubernetes-based frameworks and
Each of the components under the Knative project attempt to identify common patterns and
codify the best practices that are shared by successful real-world Kubernetes-based frameworks and
applications. Knative components focus on solving many mundane but difficult tasks such as:

* [Deploying a container](./install/getting-started-knative-app.md)
* [Orchestrating source-to-URL workflows on Kubernetes](./serving/samples/source-to-url-go/)
* [Routing and managing traffic with blue/green deployment](./serving/samples/blue-green-deployment.md)
* [Automatic scaling and sizing workloads based on demand](./serving/samples/autoscale-go)
* [Binding running services to eventing ecosystems](./eventing/samples/kubernetes-event-source)
- [Deploying a container](./install/getting-started-knative-app.md)
- [Orchestrating source-to-URL workflows on Kubernetes](./serving/samples/source-to-url-go/)
- [Routing and managing traffic with blue/green deployment](./serving/samples/blue-green-deployment.md)
- [Automatic scaling and sizing workloads based on demand](./serving/samples/autoscale-go)
- [Binding running services to eventing ecosystems](./eventing/samples/kubernetes-event-source)

Developers on Knative can use familiar idioms, languages, and frameworks to deploy any workload:
Developers on Knative can use familiar idioms, languages, and frameworks to deploy any workload:
functions, applications, or containers.

## Components

The following Knative components are currently available:

* [Build](https://github.com/knative/build) - Source-to-container build orchestration
* [Eventing](https://github.com/knative/eventing) - Management and delivery of events
* [Serving](https://github.com/knative/serving) - Request-driven compute that can scale to zero
- [Build](https://github.com/knative/build) - Source-to-container build orchestration
- [Eventing](https://github.com/knative/eventing) - Management and delivery of events
- [Serving](https://github.com/knative/serving) - Request-driven compute that can scale to zero

## Audience

Expand Down Expand Up @@ -71,41 +71,41 @@ Follow the links in this section to learn more about Knative.

### Getting started

* [Installing Knative](./install/README.md)
* [Getting started with app deployment](./install/getting-started-knative-app.md)
* [Getting started with serving](./serving)
* [Getting started with builds](./build)
* [Getting started with eventing](./eventing)
- [Installing Knative](./install/README.md)
- [Getting started with app deployment](./install/getting-started-knative-app.md)
- [Getting started with serving](./serving)
- [Getting started with builds](./build)
- [Getting started with eventing](./eventing)

### Configuration and networking

* [Configuring outbound network access](./serving/outbound-network-access.md)
* [Using a custom domain](./serving/using-a-custom-domain.md)
* [Assigning a static IP address for Knative on Google Kubernetes Engine](./serving/gke-assigning-static-ip-address.md)
* [Configuring HTTPS with a custom certificate](./serving/using-an-ssl-cert.md)
- [Configuring outbound network access](./serving/outbound-network-access.md)
- [Using a custom domain](./serving/using-a-custom-domain.md)
- [Assigning a static IP address for Knative on Google Kubernetes Engine](./serving/gke-assigning-static-ip-address.md)
- [Configuring HTTPS with a custom certificate](./serving/using-an-ssl-cert.md)

### Samples and demos

* [Autoscaling](./serving/samples/autoscale-go/README.md)
* [Source-to-URL deployment](./serving/samples/source-to-url-go/README.md)
* [Binding running services to eventing ecosystems](./eventing/samples/event-flow/README.md)
* [Telemetry](./serving/samples/telemetry-go/README.md)
* [REST API sample](./serving/samples/rest-api-go/README.md)
* [All samples for serving](./serving/samples/)
* [All samples for eventing](./eventing/samples/)
- [Autoscaling](./serving/samples/autoscale-go/README.md)
- [Source-to-URL deployment](./serving/samples/source-to-url-go/README.md)
- [Binding running services to eventing ecosystems](./eventing/samples/event-flow/README.md)
- [Telemetry](./serving/samples/telemetry-go/README.md)
- [REST API sample](./serving/samples/rest-api-go/README.md)
- [All samples for serving](./serving/samples/)
- [All samples for eventing](./eventing/samples/)

### Logging and metrics
### Logging and metrics

* [Installing logging, metrics and traces](./serving/installing-logging-metrics-traces.md)
* [Accessing logs](./serving/accessing-logs.md)
* [Accessing metrics](./serving/accessing-metrics.md)
* [Accessing traces](./serving/accessing-traces.md)
* [Setting up a logging plugin](./serving/setting-up-a-logging-plugin.md)
- [Installing logging, metrics and traces](./serving/installing-logging-metrics-traces.md)
- [Accessing logs](./serving/accessing-logs.md)
- [Accessing metrics](./serving/accessing-metrics.md)
- [Accessing traces](./serving/accessing-traces.md)
- [Setting up a logging plugin](./serving/setting-up-a-logging-plugin.md)

### Debugging

* [Debugging application issues](./serving/debugging-application-issues.md)
* [Debugging performance issues](./serving/debugging-performance-issues.md)
- [Debugging application issues](./serving/debugging-application-issues.md)
- [Debugging performance issues](./serving/debugging-performance-issues.md)

---

Expand Down
46 changes: 22 additions & 24 deletions build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,27 @@ More information about this use case is demonstrated in

## Key features of Knative Builds

* A `Build` can include multiple `steps` where each step specifies a `Builder`.
* A `Builder` is a type of container image that you create to accomplish any
- A `Build` can include multiple `steps` where each step specifies a `Builder`.
- A `Builder` is a type of container image that you create to accomplish any
task, whether that's a single step in a process, or the whole process itself.
* The `steps` in a `Build` can push to a repository.
* A `BuildTemplate` can be used to defined reusable templates.
* The `source` in a `Build` can be defined to mount data to a Kubernetes
- The `steps` in a `Build` can push to a repository.
- A `BuildTemplate` can be used to defined reusable templates.
- The `source` in a `Build` can be defined to mount data to a Kubernetes
Volume, and supports:
* `git` repositories
* Google Cloud Storage
* An arbitrary container image
* Authenticate with `ServiceAccount` using Kubernetes Secrets.
- `git` repositories
- Google Cloud Storage
- An arbitrary container image
- Authenticate with `ServiceAccount` using Kubernetes Secrets.

### Learn more

See the following reference topics for information about each of the build
components:

* [`Build`](https://github.com/knative/docs/blob/master/build/builds.md)
* [`BuildTemplate`](https://github.com/knative/docs/blob/master/build/build-templates.md)
* [ `Builder`](https://github.com/knative/docs/blob/master/build/builder-contract.md)
* [`ServiceAccount`](https://github.com/knative/docs/blob/master/build/auth.md)
- [`Build`](https://github.com/knative/docs/blob/master/build/builds.md)
- [`BuildTemplate`](https://github.com/knative/docs/blob/master/build/build-templates.md)
- [ `Builder`](https://github.com/knative/docs/blob/master/build/builder-contract.md)
- [`ServiceAccount`](https://github.com/knative/docs/blob/master/build/auth.md)

## Install the Knative Build component

Expand All @@ -49,10 +49,10 @@ install. Knative Serving is not required to create and run builds.
Before you can run a Knative Build, you must install the Knative Build
component in your Kubernetes cluster:

* For details about installing a new instance of Knative in your Kubernetes
- For details about installing a new instance of Knative in your Kubernetes
cluster, see [Installing Knative](../install/README.md).

* If you have a component of Knative installed and running, you can
- If you have a component of Knative installed and running, you can
[add and install the Knative Build component](installing-build-component.md).

## Configuration syntax example
Expand Down Expand Up @@ -86,7 +86,6 @@ spec:
args: ['echo', 'hello-example', 'build']
```


## Get started with Knative Build samples

Use the following samples to learn how to configure your Knative Builds to
Expand All @@ -96,21 +95,20 @@ Tip: Review and reference multiple samples to piece together more complex builds

#### Simple build samples

* [Collection of simple test builds](https://github.com/knative/build/tree/master/test).
- [Collection of simple test builds](https://github.com/knative/build/tree/master/test).

#### Build templates

* [Repository of sample build templates](https://github.com/knative/build-templates).

#### Complex samples
- [Repository of sample build templates](https://github.com/knative/build-templates).

* [Use Knative to build apps from source code and then run those containers](https://github.com/knative/docs/blob/master/serving/samples/source-to-url-go).
#### Complex samples

- [Use Knative to build apps from source code and then run those containers](https://github.com/knative/docs/blob/master/serving/samples/source-to-url-go).

## Related info
## Related info

If you are interested in contributing to the Knative Build project, see the
[Knative Build code repository](https://github.com/knative/build).
If you are interested in contributing to the Knative Build project, see the
[Knative Build code repository](https://github.com/knative/build).

---

Expand Down
22 changes: 12 additions & 10 deletions build/auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ of a build.
The build system supports two types of authentication, using Kubernetes'
first-class `Secret` types:

* `kubernetes.io/basic-auth`
* `kubernetes.io/ssh-auth`
- `kubernetes.io/basic-auth`
- `kubernetes.io/ssh-auth`

Secrets of these types can be made available to the `Build` by attaching them
to the `ServiceAccount` as which it runs.
Expand All @@ -34,7 +34,7 @@ into their respective files in `$HOME`.
metadata:
name: ssh-key
annotations:
build.knative.dev/git-0: https://github.com # Described below
build.knative.dev/git-0: https://github.com # Described below
type: kubernetes.io/ssh-auth
data:
ssh-privatekey: <base64 encoded>
Expand All @@ -55,7 +55,7 @@ into their respective files in `$HOME`.
metadata:
name: build-bot
secrets:
- name: ssh-key
- name: ssh-key
```

1. Then use that `ServiceAccount` in your `Build`:
Expand Down Expand Up @@ -92,7 +92,7 @@ used to authenticate with the Git service.
metadata:
name: basic-user-pass
annotations:
build.knative.dev/git-0: https://github.com # Described below
build.knative.dev/git-0: https://github.com # Described below
type: kubernetes.io/basic-auth
stringData:
username: <username>
Expand All @@ -107,7 +107,7 @@ used to authenticate with the Git service.
metadata:
name: build-bot
secrets:
- name: basic-user-pass
- name: basic-user-pass
```

1. Use that `ServiceAccount` in your `Build`:
Expand Down Expand Up @@ -144,7 +144,7 @@ credentials are then used to authenticate with the Git repository.
metadata:
name: basic-user-pass
annotations:
build.knative.dev/docker-0: https://gcr.io # Described below
build.knative.dev/docker-0: https://gcr.io # Described below
type: kubernetes.io/basic-auth
stringData:
username: <username>
Expand All @@ -159,7 +159,7 @@ credentials are then used to authenticate with the Git repository.
metadata:
name: build-bot
secrets:
- name: basic-user-pass
- name: basic-user-pass
```

1. Use that `ServiceAccount` in your `Build`:
Expand Down Expand Up @@ -264,6 +264,7 @@ are ignored.

Given URLs, usernames, and passwords of the form: `https://url{n}.com`,
`user{n}`, and `pass{n}`, generate the following for Git:

```
=== ~/.gitconfig ===
[credential]
Expand All @@ -283,6 +284,7 @@ https://user2:pass2@url2.com

Given hostnames, private keys, and `known_hosts` of the form: `url{n}.com`,
`key{n}`, and `known_hosts{n}`, generate the following for Git:

```
=== ~/.ssh/id_key1 ===
{contents of key1}
Expand All @@ -305,14 +307,14 @@ Host url2.com

Note: Because `known_hosts` is a non-standard extension of
`kubernetes.io/ssh-auth`, when it is not present this will be generated
through `ssh-keygen url{n}.com ` instead.
through `ssh-keygen url{n}.com` instead.

### Least privilege

The secrets as outlined here will be stored into `$HOME` (by convention the
volume: `/builder/home`), and will be available to `Source` and all `Steps`.

For sensitive credentials that should not be made available to some steps,
For sensitive credentials that should not be made available to some steps,
do not use the mechanisms outlined here. Instead, the user should declare an
explicit `Volume` from the `Secret` and manually `VolumeMount` it into the
`Step`.
Expand Down
Loading