func/docs
Lance Ball 5adec03c7b
chore: update all references to kn-plugin-func (#1311)
* chore: update all references to kn-plugin-func

I did not change references in CHANGELOG.md but otherwise, I believe
this should cover all configuration settings, image names, package
names, etc.

Signed-off-by: Lance Ball <lball@redhat.com>

* fixup: fix instances_test.go

Signed-off-by: Lance Ball <lball@redhat.com>

* fixup: still some stray kn-plugin-func

Signed-off-by: Lance Ball <lball@redhat.com>

Signed-off-by: Lance Ball <lball@redhat.com>
2022-10-13 16:31:53 +00:00
..
function-developers chore: update all references to kn-plugin-func (#1311) 2022-10-13 16:31:53 +00:00
generator chore: update all references to kn-plugin-func (#1311) 2022-10-13 16:31:53 +00:00
knative rename function -> func (#217) 2020-11-06 12:47:30 +01:00
language-pack-providers chore: update all references to kn-plugin-func (#1311) 2022-10-13 16:31:53 +00:00
provisioning feat!: deploy autobuild and flag persistence (#1079) 2022-09-14 11:45:10 +00:00
reference chore: remove timestamp from generated docs (#1265) 2022-09-21 13:55:10 +00:00
tls docs: Kind cluster provisioning and TLS 2020-08-18 10:01:16 +09:00
CONTRIBUTING.md docs: add a language pack "contract" document (#918) 2022-04-11 13:30:07 +00:00
README.md chore: update docs README.md (#1301) 2022-10-06 18:03:31 +00:00
getting_started_kubernetes.md chore: update all references to kn-plugin-func (#1311) 2022-10-13 16:31:53 +00:00
getting_started_localhost.md Update getting_started_localhost.md (#672) 2021-11-22 03:59:14 -08:00
installing_cli.md chore: update all references to kn-plugin-func (#1311) 2022-10-13 16:31:53 +00:00

README.md

Knative Functions

Telegram Image Analysis Demo Screencast

Telegram Image Analysis Demo Screencast

func is a Client Library and CLI for enabling the development of implicitly deployed, platform agnostic functions.

Functions can be written in the following languages:

  • Go (Golang)
  • Node.js (JavaScript)
  • Quarkus (Java)
  • SpringBoot (Java)
  • Python
  • Rust

Functions can be deployed on the following platforms:

  • Kubernetes
  • OpenShift
  • Localhost

Client Installation

Install the latest CLI

Functions can be created and managed using the CLI interactively, scripted, or by direct integration with the client library. The Function Developer's Guide and examples herein demonstrate the CLI-based approach.

For direct integration using the Go client library, it is advisable to first follow these CLI-based guides to become familiar with creating and deploying software in this way and then proceed to the Function Integrator's Guide.

Platform Configuration

Getting Started with Kubernetes

Getting Started on Localhost

Functions are portable between different infrastructure configurations. While your Function itself remains the same, the platform upon which it is deployed will provide different services and guarantees. For instance, a Function deployed to your local host will not autoscale, nor be highly available or externally routable by default. Deploying to a properly configured Kubernetes cluster would however provide these features. There is also variance within infrastructure types. For instance, a small Kubernetes cluster will be limited in the resources which will be ultimately available for allocation to your Function.

Function Development

Function Developer's Guide

Any code which provides one of a set of supported function signatures can be deployed to any of the supported platforms using this client library. No process boundary code, container, or configuration outside of the function itself is required. At its most fundamental, a Function is a set of instructions that export a public function whose method signature conforms to one of the supported forms. It is implicitly deployed to a supported platform when created using the client library and can be migrated between platforms without code changes. Runtime execution is handled by the platform, which may offer guarantees such as autoscaling and load balancing.

Contributing

We are always looking for contributions to the project from the Function Developer community. For more information on how to participate, see the Contributing Guide