Yaml Files
What are the .yaml files?
The template.yaml
and plugin.yaml
files are used to configure both Templates
and Plugins
. The task.yaml
file receives the configurations from Tasks
.
Some information is used to:
- Display Templates/Plugin information to the user.
- Inputs configuration expected from Template/Plugin.
- Operations configuration performed by Tasks, using the stk-legacy run command.
Yaml files examples
- template.yaml
- plugin.yaml
- stack.yaml
- task.yaml
name: my-template
description: Describe your template explaining its purpose
types:
- app-template
inputs:
- label: Input Example
type: text
name: example
default: any text
required: true
name: my-plugin
description: Describe your plugin explaining its purpose
types:
- app
display-name: Plugin name
picture: "plugin.png"
category: Category
compatibility:
- String
about: docs/about.md
usage: docs/usage.md
use-case: docs/useCase.md
implementation: docs/implementation.md
technologies:
- "Api" # Ref: https://docs.legacy.stackspot.com/latest/docs/create-stacks/yaml/#technologies
inputs:
- label: Input Example
type: text
name: example
default: any text
required: true
- label: Input Folder Name
type: text
name: folder_name
default: folder_example
required: true
pattern: '[a-zA-Z0-9](\w|-)*$'
- label: Example of list
type: multiselect
name: any_list
items:
- item1
- item2
condition:
variable: example
operator: “==”
value: xpto
description: Example of stack
name: example-portal-stack
display-name: Example Portal Stack
picture: "logo_da_stack.jpeg"
category: backend # Ref: https://docs.stackspot.com/latest/docs/create-stacks/yaml/#category
compatibility:
- spring
- kotlin
technologies:
- "OpenAPI"
- "SpringBoot" # Ref: https://docs.legacy.stackspot.com/latest/docs/create-stacks/yaml/#technologies
about: docs/about.md
use-cases:
- title: User case example
content: docs/use-case-example.md
stackfile: stackfiles/create-example.yaml
name: <name-stack>
description: <text-description-task>
inputs:
- label: Commit message
type: text
default: example
name: message
cache: true
required: 'true'
global_input: false
supported-os:
- windows
- linux
- mac
requirements-check:
dependency-example:
check-command: git --version
info: git is not installed
command: git add . ; git commit -m "{{input.message}}"
danger
When you use the int
type in the type
field, you need to adjust one of the two fields below:
default
: Put an associated value.Required
must betrue
.
See the example below:
name: my-template
description: Describe your template explaining its purpose
types:
- app-template
inputs:
- label: Input Example
type: int
name: example
default: 1
required: true
Required Attributes
Attribute | Description |
---|---|
name | String that defines the name of the Plugin, Template or Stack. This information defines the identifier of the Plugin that is used in your application. |
description | String that describes the purpose of the Plugin, Template or Stack, and should contain information that is relevant to be displayed to consumers in the stk-legacy list plugin , stk-legacy list template , and stk-legacy list stack commands. |
types | List of strings defining the types of the Plugin/Template. The valid value is app-template. |
Optional Attributes
Attribute | Description |
---|---|
display-name | A string that defines the Plugin's name that will be displayed on the Studio's website, Template, or Stack. |
picture | A string that defines the image's name file that will be displayed on the Studio's website. This file must be inside the repository. |
Category | A string that defines the Plugin or Stack category. For Plugins, any category can be entered. But for Stacks, it is mandatory to use one of the categories: Analytics; Back-end; Front-end; Full Stack; SRE; |
Compatibility | String list that defines compatible terms, technologies, or applications. |
about | Path to a markdown file in the repository, it details the Stack or Plugin. |
Usage | Path to a markdown file in the repository, it details the Stack or Plugin usage. |
Use-case | Path to a markdown file in the repository, it details a Stack use case. |
use-cases | List of Stack use cases. |
use-cases.title | String with use case title. |
use-cases.content | Path to a markdown file in the repository, it details the use case. |
use-cases.stackfile | Path to a stackfile in the repository related to a use case. |
implementation | Path to a markdown file in the repository, it details the Stack implementation. |
Technologies
String list of technologies related to a Stack or a Plugin.
The technologies allowed are:
- .NET
- Allure
- Angular
- Apache Spark
- Api
- AWS DynamoDB
- AWS ECS/Fargate
- AWS EventBridge
- AWS Glue
- AWS Kafka
- AWS Kinesis
- AWS Lake Formation
- AWS Lambda
- AWS S3
- AWS SNS
- AWS SQS
- Citric
- CocoaPods
- Cucumber
- C#
- Docker
- Gradle
- Jaeger
- Java
- JavaScript
- Junit
- Kakfa
- Kotlin
- Maven
- Microfrontend
- MySql
- NextJS
- Observability
- OpenAPI
- OpenTelemetry
- Parquet
- PostgreSql
- Prometheus
- Python
- Queue
- React
- Redis
- Rest
- Rest Assured
- Robot Framework
- Secrets
- Serenity BDD
- Splunk
- Springboot
- Swift
- Terraform
- Typescript
- Web
Next Steps
Check plugin.yaml references.
Was this page helpful?