Skip to content

Commit

Permalink
Restructuring the docs (#274)
Browse files Browse the repository at this point in the history
Restructuring the overall layout for better experience. More updates to follow in each section.
  • Loading branch information
gauravgahlot committed Jul 9, 2021
1 parent 2236d8d commit f184d13
Show file tree
Hide file tree
Showing 94 changed files with 110 additions and 223 deletions.
2 changes: 1 addition & 1 deletion docs/config.toml
Expand Up @@ -98,7 +98,7 @@ release_version = "1.13.1"
# User interface configuration
[params.ui]
# Enable to show the side bar menu in its compact state.
sidebar_menu_compact = false
sidebar_menu_compact = true
# Set to true to disable breadcrumb navigation.
breadcrumb_disable = false

Expand Down
55 changes: 55 additions & 0 deletions docs/content/en/docs/architecture/_index.md
@@ -0,0 +1,55 @@
---
title: "Architecture"
weight: 30
no_list: true
description: >
Fission architecture in detail
---

Fission consists of multiple components that build up the architecture.
From a user's and contributor's perspective these components can be broadly grouped into core and optional components.

The core components are the ones you should definitely know about while using fission.
The optional components, on the other hand, are good to know and can be learned as you go.

## Core Components

The core components include:

### [Controller](controller.md)
Accept REST API requests and create Fission resources

### [Executor](executor.md)
Component to spin up function pods

### [Router](router.md)
Bridge between triggers and functions

### [Function Pod](function-pod.md)
Place to load and execute the user function

### [Builder Manager](buildermgr.md)
Compile the source code into a runnable function

### [Builder Pod](builder-pod.md)
Place to load and execute the user function

### [StorageSvc](storagesvc.md)
Home for source and deployment archives


## Optional Components

The optional components include:

### [Logger](logger.md)
Record and persist function logs

### [KubeWatcher](kubewatcher.md)
Hawkeye to watch resource changes in Kubernetes cluster

### [Message Queue Trigger](message-queue-trigger.md)
Subscribe topics and invoke functions

### [Timer](timer.md)
Invoke functions periodically
Expand Up @@ -128,5 +128,5 @@ Autoscaling is useful for workloads where you expect intermittent spikes in work
It also enables optimal the usage of resources to execute functions, by using a baseline capacity with minimum scale and ability to burst up to maximum scale based on spikes in demand.

{{% notice info %}}
Learn more further usage/setup of **executor type** for functions, please see [here]({{% ref "../../../usage/executor.en.md" %}}).
Learn more further usage/setup of **executor type** for functions, please see [here]({{% ref "../usage/function/executor.en.md" %}}).
{{% /notice %}}
@@ -1,6 +1,6 @@
---
title: "KubeWatcher"
weight: 3
weight: 10
description: >
Hawkeye to watch resource changes in Kubernetes cluster
---
Expand Down
@@ -1,6 +1,6 @@
---
title: "Logger"
weight: 2
weight: 9
description: >
Record and persist function logs
---
Expand Down
@@ -1,6 +1,6 @@
---
title: "Message Queue Trigger"
weight: 4
weight: 11
description: >
Subscribe topics and invoke functions
---
Expand Down
File renamed without changes.
@@ -1,6 +1,6 @@
---
title: "Timer"
weight: 5
weight: 12
description: >
Invoke functions periodically
---
Expand Down
6 changes: 3 additions & 3 deletions docs/content/en/docs/concepts/_index.md
@@ -1,8 +1,8 @@
---
title: "Concepts"
weight: 10
weight: 20
description: >
Concepts of Fission architecture and components
Concepts of Fission architecture
---

Fission has three main concepts: **Functions, Environments, and Triggers.**
Expand Down Expand Up @@ -42,7 +42,7 @@ gathering dependencies.
You can modify any of Fission's existing environments and rebuild them,
or you can also build a new environment from scratch.

See [here]({{% ref "../languages/" %}}) for the full image list.
See [here]({{% ref "../usage/languages/" %}}) for the full image list.

## Triggers

Expand Down
5 changes: 0 additions & 5 deletions docs/content/en/docs/concepts/components/_index.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/content/en/docs/concepts/components/core/_index.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/content/en/docs/concepts/components/optional/_index.md

This file was deleted.

3 changes: 2 additions & 1 deletion docs/content/en/docs/contributing/_index.en.md
@@ -1,6 +1,7 @@
---
title: "Contributing to Fission"
weight: 250
linkTitle: Contributing
weight: 50
description: >
Build deploy and contribute to Fission!
---
Expand Down
6 changes: 3 additions & 3 deletions docs/content/en/docs/installation/_index.en.md
@@ -1,7 +1,7 @@
---
title: "Installing Fission"
linkTitle: Installing Fission
weight: 20
linkTitle: Installation
weight: 10
description: >
Installation guide for Fission installation
---
Expand Down Expand Up @@ -257,7 +257,7 @@ $ fission function test --name hello
Hello, world!
```
For more language tutorials, visit [Language]({{% ref "../languages/" %}}).
For more language tutorials, visit [Language]({{% ref "../usage/languages/" %}}).
# What's next?
Expand Down
2 changes: 1 addition & 1 deletion docs/content/en/docs/installation/advanced-setup.en.md
@@ -1,6 +1,6 @@
---
title: Advanced Setup
weight: 1
weight: 50
description: >
Advanced setup guide for Fission installation
---
Expand Down
@@ -1,6 +1,6 @@
---
title: "Compatibility"
weight: 1
weight: 70
description: >
Fission Compatibility with environments, Keda and Keda Connectors
---
Expand Down
4 changes: 2 additions & 2 deletions docs/content/en/docs/installation/docker-desktop.md
@@ -1,6 +1,6 @@
---
title: "Docker Desktop"
weight: 7
weight: 20
description: >
Docker Desktop specific setup
---
Expand Down Expand Up @@ -105,4 +105,4 @@ $ fission fn create --name helloscale --env nodescale --code hello.js --executo
--minmemory 64 --maxmemory 128 --mincpu 100 --maxcpu 500 --minscale 1 --maxscale 6 --targetcpu 50
```

For more details on autoscaling please [check this section of documentation]({{% ref "../usage/executor.en.md" %}}#autoscaling)
For more details on autoscaling please [check this section of documentation]({{% ref "../usage/function/executor.en.md" %}}#autoscaling)
2 changes: 1 addition & 1 deletion docs/content/en/docs/installation/env_vars.en.md
@@ -1,6 +1,6 @@
---
title: Environment Variables
weight: 3
weight: 10
description: >
Environment variables used by Fission CLI
---
Expand Down
2 changes: 1 addition & 1 deletion docs/content/en/docs/installation/on-premise-install.md
@@ -1,6 +1,6 @@
---
title: "Offline On-Premise"
weight: 6
weight: 10
description: >
Installation guide for offline on-premise.
---
Expand Down
2 changes: 1 addition & 1 deletion docs/content/en/docs/installation/openshift.md
@@ -1,6 +1,6 @@
---
title: "OpenShift"
weight: 5
weight: 30
description: >
OpenShift specific setup
---
Expand Down
@@ -1,6 +1,6 @@
---
title: "Upgrade Guide"
weight: -1
weight: 60
description: >
Upgrade guidance 1.11 onwards
---
Expand Down
2 changes: 1 addition & 1 deletion docs/content/en/docs/releases/1.4.1.md
Expand Up @@ -50,7 +50,7 @@ For details, see [PR#1217](https://github.com/fission/fission/pull/1217)

Now, a function will get updated when the referenced configmaps/secrets get updated instead of caching stale data.

For details, see [here]({{% ref "../usage/access-secret-cfgmap-in-function.en.md" %}}#updating-secrets-and-configmaps) and [PR#1224](https://github.com/fission/fission/pull/1224).
For details, see [here]({{% ref "../usage/function/access-secret-cfgmap-in-function.en.md" %}}#updating-secrets-and-configmaps) and [PR#1224](https://github.com/fission/fission/pull/1224).

### Go module support for go environment

Expand Down
2 changes: 1 addition & 1 deletion docs/content/en/docs/releases/_index.en.md
@@ -1,7 +1,7 @@
---
title: "Release Highlights"
linkTitle: Release Highlights
weight: 1
weight: 70
description: >
Highlight for release
---
2 changes: 1 addition & 1 deletion docs/content/en/docs/trouble-shooting/_index.en.md
@@ -1,6 +1,6 @@
---
title: "Troubleshooting"
weight: 70
weight: 60
description: >
Troubleshoot guides
---
2 changes: 1 addition & 1 deletion docs/content/en/docs/usage/_index.en.md
@@ -1,5 +1,5 @@
---
title: "Using Fission"
title: "Usage"
weight: 40
description: >
Fission usage
Expand Down
6 changes: 6 additions & 0 deletions docs/content/en/docs/usage/function/_index.en.md
@@ -0,0 +1,6 @@
---
title: "Function"
weight: 10
description: >
Fission function
---
Expand Up @@ -29,7 +29,7 @@ $ kubectl label namespace $FISSION_NAMESPACE istio-injection=enabled
$ kubectl config set-context $(kubectl config current-context) --namespace=$FISSION_NAMESPACE
```

Follow the [installation guide]({{% ref "../installation/_index.en.md" %}}) to install fission with flag `enableIstio` true.
Follow the [installation guide]({{% ref "../../installation/_index.en.md" %}}) to install fission with flag `enableIstio` true.

```bash
$ helm install --namespace $FISSION_NAMESPACE --set enableIstio=true --name istio-demo <chart-fission-all-url>
Expand Down
Expand Up @@ -4,7 +4,7 @@ draft: false
weight: 45
---

[Fission Concepts/Function Executors]({{%ref "../concepts/components/core/executor.md" %}}) describes the major difference between executors.
[Fission Concepts/Function Executors]({{%ref "../../architecture/executor.md" %}}) describes the major difference between executors.
In this guide, we will go through how to set up/config different executors for function.

#### Poolmgr (Pool-based executor)
Expand Down
Expand Up @@ -42,7 +42,7 @@ $ fission route create --function hello --url /hello --name hello
trigger '5327e9a7-6d87-4533-a4fb-c67f55b1e492' created
```

Setup [FISSION_ROUTER]({{% ref "../installation/env_vars.en.md" %}}) environment variable if you haven't already.
Setup [FISSION_ROUTER]({{% ref "../../installation/env_vars.en.md" %}}) environment variable if you haven't already.

When you hit this function's URL, you get the expected response:

Expand Down
File renamed without changes.
3 changes: 2 additions & 1 deletion docs/content/en/docs/usage/ingress/_index.md
@@ -1,7 +1,8 @@
---
title: "Exposing Functions With Ingress"
linkTitle: Ingress
draft: false
weight: 5
weight: 60
---

Ingress is a Kubernetes built-in resource that allows accessing Kubernetes services from outside of cluster with help of a ingress controller.
Expand Down
@@ -1,5 +1,5 @@
---
title: "Environments (Languages)"
title: "Languages (Environment)"
weight: 50
description: >
Tutorial for supported language
Expand Down
Expand Up @@ -10,7 +10,7 @@ In this usage guide we'll cover how to use this environment, write functions, an
### Before you start

We'll assume you have Fission and Kubernetes setup.
If not, head over to the [install guide]({{% ref "../installation/_index.en.md" %}}).
If not, head over to the [install guide]({{% ref "../../installation/_index.en.md" %}}).
Verify your Fission setup with:

``` bash
Expand Down
Expand Up @@ -9,7 +9,7 @@ Current JVM environment is based on openjdk8 and uses Spring Boot as framework.
### Before you start

We'll assume you have Fission and Kubernetes setup.
If not, head over to the [install guide]({{% ref "../installation/_index.en.md" %}}).
If not, head over to the [install guide]({{% ref "../../installation/_index.en.md" %}}).
Verify your Fission setup with:

``` sh
Expand Down
Expand Up @@ -10,7 +10,7 @@ In this usage guide we'll cover how to use this environment, write functions, an
### Before you start

We assume you have Fission and Kubernetes setup.
If not, head over to the [install guide]({{% ref "../installation/_index.en.md" %}}).
If not, head over to the [install guide]({{% ref "../../installation/_index.en.md" %}}).
Verify your Fission setup with:

```bash
Expand Down
Expand Up @@ -11,7 +11,7 @@ We'll also cover basic troubleshooting.
### Before you start

We'll assume you have Fission and Kubernetes setup.
If not, head over to the [installation guide]({{% ref "../installation/_index.en.md" %}}).
If not, head over to the [installation guide]({{% ref "../../installation/_index.en.md" %}}).

Verify your Fission setup with:

Expand Down Expand Up @@ -53,7 +53,7 @@ Hello, world!
```

You can also invoke this function by creating an HTTP trigger and making an HTTP request to the Fission router.
Ensure you have your router's address in the `FISSION_ROUTER` environment variable as [this guide describes]({{% ref "../installation/env_vars.en.md" %}}#fission-router-address).
Ensure you have your router's address in the `FISSION_ROUTER` environment variable as [this guide describes]({{% ref "../../installation/env_vars.en.md" %}}#fission-router-address).
Then,

```bash
Expand Down
@@ -1,6 +1,6 @@
---
title: "Observability"
weight: 70
weight: 40
description: >
Tutorial for observability around Fission
---
File renamed without changes.
@@ -1,6 +1,6 @@
---
title: "Declarative Specifications (Spec)"
weight: 60
title: "YAML Specs"
weight: 30
description: >
Source Code Organization and Your Development Workflow
---
Expand Down Expand Up @@ -53,7 +53,7 @@ We'll see examples of all these commands in the tutorial below.
## Tutorial

This tutorial assumes you've already set up Fission, and tested a simple hello world function to make sure everything's working.
To learn how to do that, head over to the [installation guide]({{% ref "../installation" %}}).
To learn how to do that, head over to the [installation guide]({{% ref "../../installation" %}}).

We'll make a small calculator app with one python environment and two functions, all of which will be declaratively specified using YAML files.
This is a somewhat contrived example, but it is just meant as an illustration.
Expand Down Expand Up @@ -293,7 +293,7 @@ On the cluster, Archives are tracked with checksums; the Fission CLI only upload
## Improve Portability of Spec (1.7.0+)

Sometimes you may want to release spec files only without the function source code or the compiled binary.
To improve the portability, you can specify a URL that points to the target archive by following the step described in [here]({{% ref "../usage/url-as-archive-source.md" %}}).
To improve the portability, you can specify a URL that points to the target archive by following the step described in [here]({{% ref "../function/url-as-archive-source.md" %}}).

## More Examples

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit f184d13

Please sign in to comment.