Application Store

Edit

KubeSphere integrates open source OpenPitrix to set up app store and app repository services which provide full lifecycle of application management. Application Store supports three kinds of application deployment as follows:

  • Global application store provides one-click deployment service for Helm-based applications. It provides nine built-in applications for testing.
  • Application template provides a way for developers and ISVs to share applications with users in a workspace. It also supports importing third-party application repositories within workspace.
  • Composing application means users can quickly compose multiple microservices into a complete application through the one-stop console.

App Store

Objective

In this tutorial, we will walk you through how to use EMQ X as a demo application to demonstrate the global application store and application lifecycle management including upload / submit / review / test / release / upgrade / delete application templates.

Prerequisites

Hands-on Lab

Step 1: Create Customized Role and Account

In this step, we will create two accounts, i.e., isv for ISVs and reviewer for app technical reviewers.

1.1. First of all, we need to create a role for app reviewers. Log in KubeSphere console with the account admin, go to Platform → Platform Roles, then click Create and name it app-review, choose App Template in the authorization settings list, then click Create.

Authorization Settings

1.2. Create an account reviewer, and grant the role of app-review to it.

1.3. Similarly, create an account isv, and grant the role of cluster-regular to it.

Create Roles

1.4. Invite the accounts that we created above to an existing workspace such as demo-workspace, and grant them the role of workspace-admin.

Step 2: Upload and Submit Application

2.1. Log in KubeSphere with isv, enter the workspace. We are going to upload the EMQ X app to this workspace. First please download EMQ X chart v1.0.0 and click Upload Template by choosing App Templates.

Note we are going to upload a newer version of EMQ X to demo the upgrade feature later on.

App Templates

2.2. Click Upload, then click Upload Helm Chart Package to upload the chart.

Upload Template

2.3. Click OK. Now download EMQ Icon and click Upload icon to upload App logo. Click OK when you are done.

EMQ Template

2.4. At this point, you will be able to see the status displays draft, which means this app is under developing. The uploaded app is visible for all members in the same workspace.

Template List

2.5. Enter app template detailed page by clicking on EMQ X from the list. You can edit the basic information of this app by clicking Edit Info.

Edit Template

2.6. You can customize the app’s basic information by filling in the table as the following screenshot.

Customize Template

2.7. Save your changes, then you can test this application by deploying to Kubernetes. Click on the Test Deploy button.

Save Template

2.8. Select project that you want to deploy into, then click Deploy.

Deploy Template

2.9. Wait for a few minutes, then switch to the tab Deployed Instances. You will find EMQ X App has been deployed successfully.

Template Instance

2.10. At this point, you can click Submit Review to submit this application to reviewer.

Submit Template

2.11. As shown in the following graph, the app status has been changed to Submitted. Now app reviewer can review it.

Template Status

Step 3: Review Application

3.1. Log out, then use reviewer account to log in KubeSphere. Navigate to Platform → App Management → App Review.

Review List

3.2. Click Review by clicking the vertical three dots at the end of app item in the list, then you start to review the app’s basic information, introduction, chart file and updated logs from the pop-up windows.

EMQ Info

3.3. It is the reviewer’s responsibility to judge if the app satisfies the criteria of the Global App Store or not, if yes, then click Pass; otherwise, Reject it.

Step 4: Release Application to Store

4.1. Log out and switch to use isv to log in KubeSphere. Now isv can release the EMQ X application to the global application store which means all users in this platform can find and deploy this application.

4.2. Enter the demo workspace and navigate to the EMQ X app from the template list. Enter the detailed page and expand the version list, then click Release to Store, choose OK in the pop-up windows.

Release EMQ

4.3. At this point, EMQ X has been released to application store.

Audit Records

4.4. Go to App Store in the top menu, you will see the app in the list.

EMQ on Store

4.5. At this point, we can use any role of users to access EMQ X application. Click into the application detailed page to go through its basic information. You can click Deploy button to deploy the application to Kubernetes.

Deploy EMQ

Step 5: Create Application Category

Depending on the business needs, Reviewer can create multiple categories for different types of applications. It is similar as tag and can be used in application store to filter applications, e.g. Big data, Middleware, IoT, etc.

As for EMQ X application, we can create a category and name it IOT. First switch back to the user Reviewer, go to Platform → App Management → App Categories

Create Category

Then click Uncategorized and find EMQ X, change its category to IOT and save it.

Note usually reviewer should create necessary categories in advance according to the requirements of the store. Then ISVs categorize their applications as appropriate before submitting for review.

Categorize EMQ

Step 6: Add New Version

6.1. KubeSphere supports adding new versions of existing applications for users to quickly upgrade. Let’s continue to use isv account and enter the EMQ X template page in the workspace.

Create New Version

6.2. Download EMQ X v4.0.2, then click on the New Version on the right, upload the package that you just downloaded.

Upload New Version

6.3. Click OK when you upload successfully.

New Version Info

6.4. At this point, you can test the new version and submit it to Reviewer. This process is similar to the one for the first version.

Submit New Version

6.5. After you submit the new version, the rest of process regarding review and release are also similar to the first version that we demonstrated above.

Step 7: Upgrade

After the new version has been released to application store, all users can upgrade from this application.