The Playground catalog is the easiest way to share applications with your team. To upload an application to the catalog follow the next steps.

  1. Prepare your application
  2. Determine the application visibility
  3. Upload your application

Prepare your application

To upload an application to the catalog, you will need the following elements:

  • Application files: These correspond with the YAML files that are required by your application, typically an Application (of apiVersion: core.oam.dev/v1beta1). Check the application documentation for more information on defining application entities.
  • Application metadata: The application metadata enables users to discover applications in the catalog. A basic template for the application metadata file is composed of:
apiVersion: core.napptive.com/v1alpha1
kind: ApplicationMetadata
# Name of the application, not necessarily a valid k8s name.
name: "My App Name"
# Version of the application, typically related with the components versions.
version: 1.0
description: Short description for searchs. Long one plus how to goes into the README.md
# Keywords facilitate searches on the catalog
keywords:
  - "tag1"
  - "tag2"
  - "tag3" 
# Set the license based on the components that are deployed in an application.
license: "Apache License Version 2.0"
# URL and Doc entries with links to get more information on the application and its associated documentation.
url: "https://..."
doc: "https://..."
# The logo can be used as visual information when listing the catalog so the user
# recognizes more easily the application. Avoid hotlinking images without permission.
logo:
  - src: "https://my.domain/path/logo.png"
    type: "image/png"
    size: "120x120"
  • Application readme: A README.md is expected when uploading application to the catalog as this information will be shown when navigating through the catalog applications. Try to include information about the application to provide general context, and information about how to operate the application once deployed on the playground.

Determine the application visibility

The catalog supports both public and private applications, make sure to understand the differences before proceeding. In case of doubt, we recommend making the application private.

  • Public applications: Public applications are those that will be accessible by all users of the Napptive Playground. As such, make sure to not include any private information such as API keys, connection tokens, etc.
  • Private applications: Private applications are those accessible only by the users that belong to the account. All users of the account will be able to the deploy the application, but only administrators will be able to delete them.

Upload your application

Once you have all the required files (i.e., application files, application metadata file, and README), click on the upper left hand corner Catalog icon icon to open the catalog window. Afterwards, click on Catalog icon and you will be presented with a new window to set the application name and version. Make sure that you set the visibility of the application. Public applications in the catalog are accessible by other users of the platform while private ones are only accessible by users in your account. Applications uploaded to the catalog are identified by a name and version in the form of:

<your_account>/appName[:tag]

For example, to upload an application named my-app with version v1.0.0 to the catalog that will be deployable using <your_account>/my-app:v1.0.0 set the names as shown in the following figure.

Upload custom app to catalog

Next, select the files that are part of the application,

Selecting application files for catalog upload

and click Catalog icon to upload the files. Once the application has been uploaded to the catalog, it will be accessible on the list:

Example catalog upload

Uploading apps with the CLI

Alternatively, you can also upload applications to the catalog using the CLI with:

  • Public applications
playground catalog push myuser/appName:v1.0 /path/to/app
STATUS     INFO
SUCCESS    Public application myuser/appName:v1.0 added
  • Private applications
playground catalog push myuser/appName:v1.0 /path/to/app --private
STATUS     INFO
SUCCESS    Private application myuser/appName:v1.0 added