From ProjectSettings.schema.yaml (bach/ProjectSettings.schema
)
---
$id: https://skeleton.botmd.io/bach/ProjectSettings.schema
$schema: http://json-schema.org/draft-07/schema#
title: Project Settings
description: >-
`Project.settings` is used to determine the configuration for the test when executed by Virtuosa.
type: object
additionalProperties: false
required: []
properties:
timeout:
title: Timeout
description: The timeout for this test in seconds. Defaults to `settings.BACH_TEST_TIMEOUT` seconds (i.e., 600).
type: number
minimum: 30
#end timeout
environment:
title: Environment Variables
description: A key-value map of environment variables that will be passed into Virtuosa instance.
type: object
additionalProperties:
type: string
#end environment
uploaded_files:
title: Uploaded Files
description: An array of files to upload. This is useful when starting the project session via Mastermind where there is no way to upload files.
type: array
minItems: 1
items:
type: object
required: [filename, content]
additionalProperties: false
properties:
filename:
title: Filename
description: This filename will be used and stored in `$UPLOADED_PATH/<filename>`.
type: string
minLength: 1
content:
title: Content
description: Content of file.
type: string
minLength: 1
base64_encoded:
title: Base64 Encoded
description: Whether the contents are standard Base-64 encoded. Defaults to `false`.
type: boolean
#end properties
#end items
pre_start_command:
title: Pre-start Commend
description: Shell command to run before starting Virtuosa instance.
type: string
minLength: 1
#end pre_start_command
KeyName:
title: AWS Key Pair
description: AWS key pair to use for Virtuosa instance. Defaults to `{settings.ENVIRONMENT}@botmd.io`.
type: string
minLength: 1
#end KeyName
IamInstanceProfileArn:
title: AWS instance profile ARN
description: Instance profile ARN for Virtuosa instance. Defaults to `settings.BACH_VIRTUOSA_INSTANCE_PROFILE` (i.e., `arn:aws:iam::394252546268:instance-profile/{ENVIRONMENT}-virtuosa-instance_profile`).
type: string
pattern: '^arn\:aws\:iam\:\:[0-9]+:instance\-profile\/[a-z0-9\-\_]+$'
#end InstanceType
InstanceType:
title: AWS Key Pair
description: Instance type for Virtuosa instance. Defaults to `c5.large`.
type: string
minLength: 1
#end InstanceType
SecurityGroups:
title: AWS Security Groups
description: Security group names or ID for Virtuosa instance. Defaults to `[staging-virtuosa-instance_sg]`.
type: array
items:
type: string
#end SecurityGroups
SubnetId:
title: AWS Subnet ID
description: Subnet ID for running Virtuosa instance. Defaults to `secrets.choice(settings.BACH_VIRTUOSA_SUBNETS)`.
type: string
pattern: '^subnet\-[0-9a-z]+$'
#end SubnetId
#end properties