The OpenShift Toolkit extends Visual Studio Code to provide all of the power and convenience of IDEs for developing cloud-native Kubernetes applications, without leaving the comfort of your IDE. For a developer to run the local code on an OpenShift instance, test & debug it and deploy it on production without worrying about the complexities around different K8s tools.
OpenShift Toolkit extension provides an end-to-end developer experience for Red Hat® OpenShift®. Using this extension:
- Developers can easily create, deploy and live debug container applications running on OpenShift.
- Create devfile based components directly from Devfile Registries View
- Deploy git repositories directly on OpenShift through Import from Git guided workflow
- Developers can view and edit Resources YAML manifests, and view logs for pods, deployments, and deployment configs.
- Run local instance of OpenShift 4.11.7 using OpenShift Local directly from IDE
- Connect & Provision free Developer Sandbox for Red Hat OpenShift instance from IDE
Open this extension in the Visual Studio Code Marketplace
The OpenShift Toolkit extension provides multiple views to the user once it is launched.
1. Application Explorer View: Showcases the cluster connected to and the resources present in the cluster. The cluster URL, Project, Deployment and Deployment Configs are shown in the tree view.
2. Components View: Displays the components created and also the actions associated with the component based on the state in which it is( running or stopped). Allows user to create components from local workspace or directly from git repository.
3. Devfile Registries View: Contains the Default Devfile Registry to browse and create components from the devfile stacks provided. Users can their own custom registry to the view and create components.
4. Debug Sessions View: Once the debug session is active, the associate component is displayed in this view.
Provision new OpenShift Cluster
The extension provides users with multiple ways to provision an instance of OpenShift to get started. Click on Add OpenShift Cluster which opens webview to select the way to get connected with a new OpenShift instance.
Red Hat OpenShift Developer Sandbox
The extension allows users free access to the Developer Sandbox for Red Hat OpenShift. From
Add Cluster View, users can provision and connect to dev sandbox instance using the guided workflow. The sandbox provides you with a private OpenShift environment in a shared, multi-tenant OpenShift cluster that is pre-configured with a set of developer tools.
Local instance of OpenShift
The extension allows the developers to provision a local instance of OpenShift cluster using the guided workfflow from the extension. It runs OpenShift Local which provides a single node local OpenShift 4.x cluster.
- Please follow this guide to understand the guided workflow to provision OpenShift locally.
Provision Hybrid Cloud
To install OpenShift Container Platform 4 in the public cloud, in your datacenter or on your laptop please visit Red Hat Hybrid Cloud console. Here are different scenarios to try OpenShift:
- Red Hat OpenShift Cluster Manager - This 60-day, self-supported trial lets you install and run Red Hat OpenShift Container Platform on infrastructure you manage.
- Red Hat OpenShift Dedicated - Red Hat OpenShift Dedicated is a fully managed service of Red Hat OpenShift on Amazon Web Services (AWS) and Google Cloud.
- Azure Red Hat OpenShift - Azure Red Hat OpenShift is a fully-managed service of Red Hat OpenShift on Azure, jointly engineered, managed and supported by Microsoft and Red Hat.
- Red Hat OpenShift Service on AWS (ROSA) - Build, deploy, and manage Kubernetes applications with Red Hat OpenShift running natively on AWS.
Quick Start - Showcasing Component Creation
Users can create components in a faster and intuitive way in few clicks using the following workflows:
Import From Git
Users can directly deploy the git repo code on top of OpenShift/Kubernetes cluster. The guided workflow allows them to provide git repository and the extension detects the files in the repo and recoommends a deployment strategy to deploy on cluster. Users can also provide their own custom deployment strategy and create a component directly from the webview. This provides a One-click deployment from Git to OpenShift
Create component from devfile registry
In the Devfile Registries view, there is an action to
Open Registry View which opens a webview to browse devfile stacks consisting of supported registries. Users can create components directly from any selected stack and deploy on OpenShift
Commands and Features
The extension supports a number of commands to interact with OpenShift clusters and resources. The commands are accessible via the command palette (
Cmd+Shift+P ⌘⇧P on macOS or
Ctrl+Shift+P ⌃⇧P on Windows and Linux), Visual Studio Code View title buttons and tree context menus.
For more detail information around specific commands and dependencies, please read the extension commands guide.
See the change log.
This is an open source project open to anyone. This project welcomes contributions and suggestions!
For information on getting started, refer to the CONTRIBUTING instructions.
Download the most recent
openshift-toolkit-<version>.vsix file from the release and install it by following the instructions here. Stable releases are archived here.
If you discover an issue please file a bug and we will fix it as soon as possible.
MIT, See LICENSE for more information.
Data and telemetry
The Red Hat OpenShift Toolkit 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-redhat-telemetry#how-to-disable-telemetry-reporting.
Note that this extension also abides by Visual Studio Code's telemetry level: if
telemetry.telemetryLevel is set to off, then no telemetry events will be sent to Red Hat, even if
redhat.telemetry.enabled is set to true. If
telemetry.telemetryLevel is set to
crash, only events containing an error or errors property will be sent to Red Hat.