Introducing Jetbrain IDE plugins for Apache OpenWhisk

KeonHee
Apache OpenWhisk
Published in
4 min readSep 10, 2020

Many serverless platforms provide WEB-based dashboards, but this dashboard can only play a small part in developing serverless apps.

The biggest component of a serverless app is code, and developers spend the most time writing code. And most developers do code development through IDEs like VSCode or IntelliJ, not dashboards. In addition, a separate tool (mostly CLI) is used to upload the code to the serverless provider. For this reason, in order to develop serverless, there is a barrier to learn how to use Web dashboard and CLI. Also, even if you get used to it, developers must develop serverless apps across platforms such as IDE, Terminal, and Web Browser.

So, our team (NAVER) was thinking about how serverless developers could conveniently create serverless applications in a single process. As a result, We thought it was best practice to develop code in the IDE, upload the code to the server, and check the uploaded results. We also thought that this could lower the barrier to entry for serverless development. So, we decided to create a plugin for VSCode and Jetbrain, which the public uses most.

We are developing a Jetbrain Plugin “Devtools for Apache OpenWhisk”. This plugin helps you easily develop and deploy OpenWhisk entities and wskdeploy projects.

I’m going to introduce how to use the plugin in this post.

Plugin Structure

The plugin consists of three panels.

First of all, on the right side of the Whisk Explorer panel (No. 1), users can check the status of entities deployed to the server. Second, the Whisk Run panel (No. 2) at the bottom shows the execution of actions or triggers, parameter changes, and execution results. Finally, the Whisk Deploy panel (No. 3) allows you to list the current project’s manifest files and execute the deploy/undeploy command.

How to install?

You have to install the plugin first, you can download it in Jetbrain Marketplace Or, you can search and install it in the Jetbrain Marketplace

How to use it?

Setting the API host and authentication key

If the wsk is installed and already in use, the plugin automatically find the ~/.wskprops file in the home directory and set up API host and authentication key.

You can set it using the wsk property set command.

wsk property set --apihost API_HOST --auth AUTH_KEY

Or you can add it manually in the IDE. First, select the + Button in the Whisk Explorer panel and add your OpenWhisk API host.

Next, you need to add your namespace by selecting the Add Namespace menu in the context menu. You can add a namespace by entering the authentication key.

Starting the wskdeploy project

You can create boiler plates for wskdeploy clicking the Create Manifest Template button in WskDeploy panel

And you can deploy by choosing a namespace.

Managing OpenWhisk entities

In the Whisk Explorer panel (at right top), you can see a list of registered OpenWhisk API hosts and namespaces, as well as the deployed OpenWhisk entities (Action, Package, and Trigger) in each namespace.

Invoking an action

You can invoke deployed actions directly in the Jetbrain. When you enter the parameters and click the Run button, the action is invoked with the parameters you entered and the result appears in the console window.

Search Activations

If you right-click on an action or namespace entity and then click on the Activation menu,

You can search for activations by namespace, action, and trigger in the Activation View window.

Double-click on one of the activations to see the details.

Wrap-up

Our goal is to make it easy for developers to access serverless and develop serverless apps with ease. Develop your serverless app with OpenWhisk plugin!

When you use the plug-in, you can find the features you need, bug reports, etc. from the following link: https://github.com/naver/openwhisk-intellij-plugin/issues

--

--