Skip to main content

Plugin

In this section, you will find details of the Plugin and its types.


A Plugin serves as an extension that enhances an application's capabilities. It adheres to established standards and best practices. In the context of StackSpot, a Plugin is always associated with a Studio. It's possible to have Plugins with the same name, but they must belong to different Studios.

Each Plugin version remains immutable. If you wish to make modifications to a Plugin, you are required to publish a new version of it. These versions of a Plugin adhere to semantic versioning (SemVer) principles.

There are two Plugin types:

  • App: Application Plugin;
  • Infra: Infrastructure Plugin that provides resources to an Application.

Plugin Types

Application Plugin (App)

The App Plugin helps write an Application.

See the YAML:

YAML Structure

schema-version: v3 #required
kind: plugin #required
metadata:
name: lambda-new-endpoint #required
display-name: Endpoint para Lambda #required
description: Add new endpoint to an existing Lambda API. #required
version: 1.0.0 #required
spec:
type: infra #required
compatibility:
- python
docs:
pt-br: docs/pt-br/docs.md
en-us: docs/en-us/docs.md
single-use: False
technologies: # Ref: https://docs.stackspot.com/create-use/create-content/yaml-files/plugin-yaml/#technologies-1
- Api
runtime: #required
environment: #required
- terraform-1-4
- aws-cli-2
- git-2
inputs: #optional
- label: Select the Cloudfront
type: required-connection
name: my-cloudfront-connection
connection-interface-type: aws-cloud-front-conn
- label: Select your API Gateway alias-2
type: generated-connection
name: alias-2
connection-interface-type: aws-api-gateway-conn
outputs:
- from: my_gateway_arn
to: arn
- from: my_gateway_id
to: gateway_id

Infrastructure Plugin (Infra-plugin)

It is a Plugin that provisions resources to an Application.

See an example:

  • You want to create an Application with a database. The Infra Plugin creates and deploys a database structure for it.

The Infra Plugin depends on the App Plugin because it supports the Application.

YAML Structure

schema-version: v3 #required
kind: plugin #required
metadata:
name: lambda-new-endpoint #required
display-name: Endpoint para Lambda #required
description: Add new endpoint to an existing Lambda API. #required
version: 1.0.0 #required
spec:
type: infra #required
compatibility:
- python
docs:
pt-br: docs/pt-br/docs.md
en-us: docs/en-us/docs.md
single-use: False
technologies: # Ref: https://docs.stackspot.com/create-use/create-content/yaml-files/plugin-yaml/#technologies-1
- Api
runtime: #required
environment: #required
- terraform-1-4
- aws-cli-2
- git-2
inputs: #optional
- label: Select the Cloudfront
type: required-connection
name: my-cloudfront-connection
connection-interface-type: aws-cloud-front-conn
generates: #required
connections: #required
- type: aws-api-gateway-conn
alias: alias-2

Next Steps

For more information about Plugins, follow the guides below:


Was this page helpful?