Secrets YAML
This document is the reference for the YAML syntax used for creating Semaphore secrets.
Overview
A secret is a bucket that stores environment variables and files.
A secret (along with its contents) is created for the current organization and is available to this organization only, unless you add it to other organizations. Additionally, a secret is visible to all the users of an organization.
apiVersion
The apiVersion property defines the version of the YAML grammar that will be used in the current YAML file. Different versions might have different features.
The only possible value for this property is: v1beta
kind
The kind property defines the purpose of the YAML file.
Possible values are:
Secret: organization-level secretsProjectSecret: for project-level secrets
metadata
The metadata property defines the metadata of the Secrets YAML file.
It can have only one of two properties:
name
The value of the name property, which is a string, defines the name of the secret in the metadata context.
This name value will be used in the Pipeline YAML file for importing a specific secret.
The value of each name property should be unique for all secrets that exist under the same organization and must only contain alphanumerical characters ([a-z], [A-Z], or [0-9]). Dashes, underscores, hyphens, and spaces are not allowed.
project_id_or_name
This is a required field for project-level secrets. It must contain either the project name or project ID of the project the secret is scoped to.
org_config
The org_config property holds organization access policy fields, which are enabled for organizations on a Cloud plan or higher.
This property can contain the following:
projects_access
This field can be set to one of three values:
ALL: all projects in the organizations can use this secret in jobsALLOWED: the secret is available to projects in the allowed listNONE: does not allow use of the secret by any project