Skip to content

Latest commit

 

History

History
197 lines (185 loc) · 5.4 KB

spec_packages.md

File metadata and controls

197 lines (185 loc) · 5.4 KB

Packages

The Package entity schema is used to define an OpenWhisk package within a manifest.

Fields

Key Name

Required

Value Type

Default

Description

version yes version N/A The required user-controlled version for the Package.
license no string N/A The required value that indicates the type of license the Package is governed by.

The value is required to be a valid Linux-SPDX value. See https://spdx.org/licenses/.

credential no string N/A

The optional Credential used for all entities within the Package.

The value contains either:

A credential string.

The optional name of a credential (e.g., token) that is defined elsewhere.

dependencies no list of Dependency N/A The optional list of external OpenWhisk packages the manifest needs deployed before it can be deployed.
repositories no list of Repository N/A The optional list of external repositories that contain functions and other artifacts that can be found by tooling.
actions no list of Action N/A Optional list of OpenWhisk Action entity definitions.
sequences no list of Sequence N/A Optional list of OpenWhisk Sequence entity definitions.
triggers no list of Trigger N/A Optional list of OpenWhisk Trigger entity definitions.
rules no list of Rule N/A Optional list of OpenWhisk Rule entity definitions.
feeds no list of Feed N/A Optional list of OpenWhisk Feed entity definitions.
compositions no list of Composition N/A Optional list of OpenWhisk Composition entity definitions.
apis no list of API N/A Optional list of API entity definitions.

Grammar

<packageName>:
    version: <version>
    license: <string>
    repositories: <list of Repository>
    actions: <list of Action>
    sequences: <list of Sequence>
    triggers: <list of Trigger>
    rules: <list of Rule>
    feeds: <list of Feed>
    compositions: <list of Composition>
    apis: <list of API>

Example

my_whisk_package:
  description: A complete package for my awesome action to be deployed
  version: 1.2.0
  license: Apache-2.0
  actions:
    my_awesome_action:
      <Action schema>
  triggers:
    trigger_for_awesome_action:
      <Trigger schema>
  rules:
    rule_for_awesome_action>
      <Rule schema>

Requirements

  • The Package name MUST be less than or equal to 256 characters.
  • The Package entity schema includes all general Entity Schema fields in addition to any fields declared above.
  • A valid Package license value MUST be one of the Linux SPDX license values; for example: Apache-2.0 or GPL-2.0+, or the value 'unlicensed'.
  • Multiple (mixed) licenses MAY be described using using NPM SPDX license syntax.
  • A valid Package entity MUST have one or more valid Actions defined.

Notes

  • Currently, the 'version' value is not stored in Apache OpenWhisk, but there are plans to support it in the future.
  • Currently, the 'license' value is not stored in Apache OpenWhisk, but there are plans to support it in the future.
  • The Trigger and API entities within the OpenWhisk programming model are considered outside the scope of the Package. This means that Trigger and API information will not be returned when using the OpenWhisk Package API:
    • $ wsk package list <package name>
  • However, their information may be retrieved using respectively:
    • $ wsk trigger list -v
    • $ wsk api list -v