https://github.com/redhat-developer/vscode-knative
Knative & Serverless Function plugin for VSCode
https://github.com/redhat-developer/vscode-knative
functions hacktoberfest knative kubernetes openshift serverless vscode vscode-extension
Last synced: 3 months ago
JSON representation
Knative & Serverless Function plugin for VSCode
- Host: GitHub
- URL: https://github.com/redhat-developer/vscode-knative
- Owner: redhat-developer
- License: mit
- Created: 2019-11-01T17:49:12.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-06-16T10:11:26.000Z (over 1 year ago)
- Last Synced: 2025-06-05T05:29:08.023Z (4 months ago)
- Topics: functions, hacktoberfest, knative, kubernetes, openshift, serverless, vscode, vscode-extension
- Language: TypeScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=redhat.vscode-knative
- Size: 2.24 MB
- Stars: 12
- Watchers: 7
- Forks: 15
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-knative)
[](https://github.com/redhat-developer/vscode-knative/blob/main/LICENSE)> [!IMPORTANT]
> Developers are highly recommended to use the [OpenShift Toolkit](https://github.com/redhat-developer/vscode-openshift-tools) extension for `Knative Serverless Function` workflow to streamline their development process and ensure a seamless experience. All the latest features of Knative Serverless will be maintained in the OpenShift Toolkit extension, supported by Red Hat.# Knative & Serverless Functions for Visual Studio Code
[Knative](https://knative.dev/docs/) 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 with 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.
## Requirements
* Knative extension uses [kn cli](https://github.com/knative/client) `1.13.0` and [func cli](https://github.com/knative/func) `1.13.0`. The extension will offer to download and install the dependencies if needed.
* YAML is validated using the [VSCode-YAML](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) extension
* Users can log in to the Kubernetes cluster using [VSCode Kubernetes extension](https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-kubernetes-tools).
> NOTE: You will need to have the [kubeconfig](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#the-kubeconfig-environment-variable) for the cluster that you are accessing stored locally.
## Extension Settings
This extension contributes two views (Knative and Functions) and the following settings:
### Functions
* `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.### Function Sessions
* This view is used to showcase Active commands 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 `Output Channel`.
### Knative
* `service.explorer.create`: Create a new Knative service in the current namespace
* `service.explorer.openFile`: Display YAML for the selected item
* `service.explorer.refresh`: Refresh the Explorer tree view## Commands and features
`vscode-knative` supports several commands for interacting with Knative and Knative Functions; these are accessible via the tree context menu and via the command palette (`Cmd+Shift+P` ⌘⇧P on macOS or `Ctrl+Shift+P` ⌃⇧P on Windows and Linux)
### Functions
* `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 and 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## Documentation
- [What is OpenShift Serverless](https://www.redhat.com/en/technologies/cloud-computing/openshift/serverless)
- [Setting up OpenShift Serverless Functions - Red Hat Official Documentation](https://docs.openshift.com/container-platform/4.11/serverless/functions/serverless-functions-setup.html)
- [Serverless Function CLI docs](https://github.com/knative/func)
- [Knative Docs](https://knative.dev/docs/)## Release Notes
> See [CHANGELOG](CHANGELOG.md) for details.
## Contributing
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, please take a look at the [CONTRIBUTING instructions](CONTRIBUTING.md).
Download the most recent `knative-.vsix` file from the [release](https://github.com/redhat-developer/vscode-knative/releases) and install it by following the instructions [here](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix). Stable releases are archived [here](https://download.jboss.org/jbosstools/adapters/stable/vscode-knative/).
## Feedback & Questions
If you find an issue, please file a bug and we will fix it as soon as possible.
* File a bug in [GitHub Issues](https://github.com/redhat-developer/vscode-knative/issues).
* Open a [Discussion on GitHub](https://github.com/redhat-developer/vscode-knative/discussions).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](https://calendar.google.com/calendar/u/0/embed?src=knative.team_9q83bg07qs5b9rrslp5jor4l6s@group.calendar.google.com).
## License
MIT, See [LICENSE](LICENSE) for more information.
## Data and telemetry
The Knative extension for Visual Studio Code collects anonymous [usage data](USAGE_DATA.md) and sends it to Red Hat servers to help improve our products and services. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection) 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