Skip to content

Fn CLI Docs Plan

Michael J Williams edited this page Aug 2, 2018 · 1 revision

CLI Plan

This document defines the curent plans for the CLI documentation developed by for the Fn project. The structure and parts of the CLI are defined here.

CLI Documentation Structure

The CLI Documentation will be composed of three parts.

  1. Fn CLI Help Text Reference (LA)
  2. Fn CLI How-to (LA)
  3. Fn Command Reference (TBD)

Fn CLI Help Text Reference

These Markdown documents will be built from the text ouput of the Fn CLI. Each content page will correspond with the output from a CLI command So for example, each of the following pages would be examples:

  • fn --help
  • fn init --help
  • fn call --help
  • and so on.

The pages will follow the same structure as the CLI commands. The Fn command output will at the top of the tree. Commands and subcommands will be linked from here.

The Markdown documents will be built using a tool or a Ruby Script or another kind of script. This is necessary so the building of the pages can be automated and update with each new version of the Fn CLI client.

Fn CLI How-to

These Markdown documents will focus on realistic usage examples. The focus will be on tasks and getting things done.

Fn Command Reference (TBD)

If we decide we need a detailed command reference, this set of documents would be generated from metadata defined in the Fn source code.


CLI How-to Outline

The How-to The CLI how-to documentation is organized by tasks.

Deploy Apps with Fn

Start an Fn Server

  • fn start
  • fn start on different port
    • Env var changes required
  • fn stop

Deploy a Function

  • fn init and all development commands
  • fn run
  • Deploy and Create an App locally
  • Deploy with Docker Hub
  • Call deployed function

Other Development Commands

  • Build, bump, push, test

Manage Apps with Fn

Monitor Fn Apps

  • List apps, routes, calls

Manage Fn Apps

  • Create, delete, update

Manage Fn Configuration

Prepare to use Fn and Fn Environment variables

  • Set FN_REGISTRY
  • Set FN_API_URL
  • Using help and CLI

Manage Contexts

  • Create a context
  • Set up multiple contexts
  • Switch contexts
    • Connect to different fn servers