Manifest YAML definition

Every plugin MUST have a manifest.yaml file with at the header, and one or more components, as defined below.

Header

id: serverboards.core.actions
name: Core actions
author: David Moreno <dmoreno@serverboards.io>
version: 0.0.1
description: Various core actions.
icon: envelope outline

components: [described below]
Field Description
id Plugin id. Must be a fully qualified name, with the first part the development organization, and then as many parts are required to avoid conflicts, separated by dots. It will be used all around the application to refer to components and plugins, so it must not change.
name User readable short name of the plugin
author Author or list of authors that developed this plugin, with email.
version Semantic Versioning version of the plugin
description Long description of the plugin
postinst Script to execute at post install, to ensure environment is safe
icon icon (semantic ui icon name) or svg file at static/name.svg
screenshot Screenshot of the plugin functionality (dashboard, widget, screen…)
requires List of package id required dependencies
price Price for the plugin at the Marketplace. Can be omitted, or 0 if free of charge.
sudo This package needs root priviledges at install time because of installing (apt-get) packages or some other reason. Default is false.

Components

components is a list of components in the plugin. Components may have many fields that can vary depending on the component type, but all the components have the following common fields

components:
  - id: ping
    name: Ping server
    type: action
    traits: ip
    perms: []
Field Description
id internal component id. The fully qualified name for the component will be the plugin id/component id.
name User readable component name
type Type of the component
traits Traits as defined by this component or required. Traits are just labels that are matched so that if a component requires a trait, it will be applicable to components that provide such trait. this way for exmaple actions areonly shown as provided to services that provide the required traits.
perms List of required permissions to access to this component. If the calling client does not have the permissions, it will just not be available.