Knative & Serverless Functions for Visual Studio Code
Knative is an Open-Source Enterprise-level solution to build Serverless and Event Driven Applications. Thus running Serverless Containers in Kubernetes environments.
This extension for Knative provides the app developer the tools and experience needed when working with
Knative & Serverless Functions on a Kubernetes cluster. Using this extension, developers can develop and deploy functions in a serverless way through guided IDE workflow.
Knative extension uses kn cli
1.8.1 and func cli
1.8.2. The extension will offer to download and install the dependencies if needed.
YAML is validated using the VSCode-YAML extension
Users can log in to Kubernetes cluster using VSCode Kubernetes extension.
NOTE: You will need to have the kubeconfig for the cluster that you are accessing stored locally.
This extension contributes two views (Knative and Functions) and the following settings:
function.explorer.create: Create a new Knative Function in the current namespace
function.explorer.refresh: Refresh the Functions tree view
function.explorer.repository: Manage installed template repositories. Once added, a template from the repository can be used when creating a new function.
- This view is used to showcase Active command for a specified function. This includes Build, Deploy and Run sessions. Once the command is executed for a given function, the node is displayed in the Sessions View. Users can also
Stop the executing action. The logs can be seen in the
service.explorer.create: Create a new Knative service in the current namespace
service.explorer.openFile: Display yaml for selected item
service.explorer.refresh: Refresh the Explorer tree view
Commands and features
vscode-knative supports a number of commands for interacting with Knative and Knative Functions; these are accessible via the tree context menu and/or via the command palette (
Cmd+Shift+P ⌘⇧P on macOS or
Ctrl+Shift+P ⌃⇧P on Windows and Linux)
Knative: Create Function: Open up a wizard to create a new Function project
Knative: Build Function: Build the function project as a container image
Knative: Run: Runs the function locally in the current directory or in the directory specified
Knative: Deploy Function: Deploys a function to the currently configured Knative-enabled cluster.
Knative: Undeploy: Undeploys a function from the cluster.
Knative: Add Config to Function: Allows configuration of Volume mounts, Environment variables for a function project
Knative: Remove Config from Function: Remove Volume mounts, Environment variable from the function configuration
Knative: Open in Browser: Open the deployed function in your browser
Knative: Refresh View: Refresh the Function Tree View
Knative (Serving & Eventing)
Knative: Add Service: Start a workflow to create a new Service
Knative: Focus on Serving View: Load and Open the Knative Serving view
Knative: Focus on Eventing View: Load and Open the Knative Eventing view
Knative: Refresh View: Refresh the Service/Eventing Tree View
Knative: Add a Tag: Add a new tag to a Revision
Knative: Delete: Delete a service or a revision or an eventing resource
Knative: Open in Browser: Open the service in your browser
See CHANGELOG for details.
This is an open source project open to anyone. We are always looking for contributions from the Function Developer community.
For information on getting started, refer to the CONTRIBUTING instructions.
Download the most recent
knative-<version>.vsix file from the release and install it by following the instructions here. Stable releases are archived here.
Feedback & Questions
If you discover an issue please file a bug and we will fix it as soon as possible.
The func Task Force meets @ 10:30 PST every Tuesday, we'd love to have you! For more information, see the invitation on the Knative Team Calendar.
MIT, See LICENSE for more information.
Data and telemetry
The Knative extension for Visual Studio Code collects anonymous usage data and sends it to Red Hat servers to help improve our products and services. Read our privacy statement to learn more. This extension respects the
redhat.telemetry.enabled setting which you can learn more about at https://github.com/redhat-developer/vscode-commons#how-to-disable-telemetry-reporting