Arquivos .yaml

Nesta seção, você encontra detalhes de como configurar arquivos yaml.

O que são os arquivos .yaml?

Os arquivos template.yaml e plugin.yaml são utilizados para configurar tanto os Templates quanto os Plugins. Além do arquivo task.yaml que recebe as configurações das Tasks.
Neles estão algumas informações usadas para:

  1. Exibir as informações dos Templates/Plugins para o usuário.
  2. Configurações das entradas esperadas pelo Template/Plugin.
  3. Configuração das operações executadas pelas Tasks, utilizando o comando stk run.

Exemplos de arquivos .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.stackspot.com/latest/docs/creators-guide/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/creators-guide/yaml/#category
compatibility:
  - spring
  - kotlin
technologies: ["OpenAPI", "SpringBoot"] # Ref: https://docs.stackspot.com/latest/docs/creators-guide/yaml/#technologies
about: docs/about.md
use-cases:
  - title: User case example
    content: docs/use-case-example.md
    stackfile: stackfiles/create-example.yaml

name: <nome-da-sua-task>
description: <texto-descrição-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 "{{inputs.message}}"

Atributos Mandatórios

AtributoDescrição
nameString que define o nome do Plugin, Template ou Stack. Esta informação define o identificador do Plugin que é usado na sua aplicação.
descriptionString que descreve o propósito do Plugin, Template ou Stack, e deve conter informações que sejam relevantes para serem exibidas para os consumidores nos comandos stk list plugin, stk list template, e stk list stack.

Atributos Opcionais

AtributoDescrição
display-nameString que define o nome do Plugin que será apresentado no portal de estúdios, Template ou Stack.
pictureString que define o nome do arquivo de imagem que será exibida no Portal de estúdios. Este arquivo precisa estar dentro do repositório e é preciso fornecer o path do arquivo.
categoryString que define o a categoria do Plugin ou Stack. Para Plugins, qualquer categoria pode ser informada. Mas para Stacks, é obrigatório usar uma das categorias: Analytics; Back-end; Front-end; Full Stack; SRE;
typesLista de strings que define os tipos do Plugin/Template. O valor válido é o app-template.
compatibilityLista de String que define o termos, tecnologias ou aplicações compatíveis.
aboutCaminho para um arquivo markdown presente dentro do repostório que detalha a Stack ou Plugin.
usageCaminho para um arquivo markdown presente dentro do repositório que detalha o uso da Stack ou Plugin.
use-caseCaminho para um arquivo markdown presente dentro do repostório que detalha um caso de uso da Stack.
use-casesLista de casos de uso da Stack.
use-cases.titleString com o título de um caso de uso.
use-cases.contentCaminho para um arquivo markdown presente dentro do repostório que detalha o caso de uso.
use-cases.stackfileCaminho para um arquivo Stackfile presente dentro do repositório relacionado ao caso de uso.
implementationCaminho para um arquivo markdown presente dentro do repositório que detalha a implementação da Stack.

technologies

Lista de strings das tecnologias relacionadas à Stack ou ao Plugin.

As tecnologias permitidas para o uso são:

  • .NET
  • Apache Spark
  • Api
  • AWS DynamoDB
  • AWS ECS/Fargate
  • AWS EventBridge
  • AWS Glue
  • AWS Kinesis
  • AWS Lake Formation
  • AWS Lambda
  • AWS S3
  • AWS SNS
  • AWS SQS
  • C#
  • Docker
  • Jaeger
  • Java
  • JavaScript
  • Kotlin
  • Microfrontend
  • NextJS
  • Observability
  • OpenAPI
  • Parquet
  • Prometheus
  • Python
  • Queue
  • React
  • Rest
  • Secrets
  • Splunk
  • Springboot
  • Typescript
  • Web

Próximos passos

Confira a referência do arquivo plugin.yaml