• Public
  • Public/Protected
  • All

Interface SoftwareDeliveryMachineConfiguration<AdditionalConfiguration>

Configuration that takes SoftwareDeliveryMachineOptions inside the sdm key.

Type parameters

  • AdditionalConfiguration


  • Configuration
    • SoftwareDeliveryMachineConfiguration


[key: string]: any

Abuse goes here



Optional apiKey

apiKey: string

Atomist API Key used to authenticate the user starting the client.

Optional application

application: string

Application identifier used for metrics send to statsd. If not set, the automation client package name with any namespace prefix removed is used.

Optional applicationEvents

applicationEvents: object

Whether and where to send application start and stop events to Atomist.

Type declaration

  • Optional enabled?: boolean
  • Optional workspaceId?: string

Optional cluster

cluster: object

Whether and how many workers to start up. If enabled is true and workers is false, a number of workers equal to the number of available CPUs will be started.

Type declaration

  • Optional enabled?: boolean
  • Optional maxConcurrentPerWorker?: number
  • Optional workers?: number

Optional commands

commands: Array<Maker<HandleCommand>>

Automation commands this package provides. If empty or null, the package will be scanned for commands, which must be under a directory named "commands".

Optional endpoints

endpoints: object

Atomist API endpoints

Type declaration

  • Optional api?: string
  • Optional auth?: string
  • Optional graphql?: string

Optional environment

environment: string

environment automation is running in, e.g., "production" or "testing"

Optional events

events: Array<Maker<HandleEvent>>

Automation event handlers this package provides. If empty or null, the package will be scanned for event handlers, which must be under a directory named "events".

Optional graphql

graphql: object

Type declaration

  • Optional client?: object
    • factory: GraphClientFactory

Optional groups

groups: string[]

DO NOT USE. Groups this automation will be registered with. Must be specified if teams is not specified. Cannot be specified if teams is specified. Providing groups indicates this is a global automation, which can only successfully be registered by Atomist.

Optional http

http: object & Partial<ExpressServerOptions>

HTTP configuration, useful for health checks

Optional ingesters

ingesters: string[]

Custom event ingester

Optional keywords

keywords: string[]

keywords useful for discovery

Optional listeners

listeners: AutomationEventListener[]

Log and metric sinks

Optional logging

logging: object

Logging configuration

Type declaration

  • Optional banner?: object

    Print welcome banner; set to an arbitrary string to display, default is name of automation-client

    • Optional contributors?: Array<function>

      Add content to the banner which shows up between handlers and footer

    • Optional enabled?: boolean
    • Optional message?: string | function

      Message or Banner to be printed at the top of the banner

  • Optional custom?: any

    Custom log configuration, useful if your logging solution requires host, port, token, etc. configuration.

  • Optional file?: object

    Log to file; set to file path to overwrite location and name of logfile, defaults to ./log/automation-client.log in current working directory

    • Optional enabled?: boolean
    • Optional level?: "silly" | "debug" | "verbose" | "info" | "warn" | "error"
    • Optional name?: string
  • Optional level?: "silly" | "debug" | "verbose" | "info" | "warn" | "error"

    Log level, default is "info"

Optional metadataProcessor

metadataProcessor: AutomationMetadataProcessor

Register a custom AutomationMetadataProcessor

Optional name

name: string

Automation name. If not given, the name is extracted from the package.json.

Optional policy

policy: "ephemeral" | "durable"

If events should be queued when the registration is not connected to the websocket, specificy "durable". "ephemeral" is suited for testing and running locally and is the default.

Optional postProcessors

postProcessors: ConfigurationPostProcessor[]

Post-processors can be used to modify the configuration after all standard configuration loading has been done and before the client is started. Post-processors return a configuration promise so they can be asynchronous.

Optional redact

redact: object

Redaction configuration

Type declaration

  • Optional log?: boolean

    Redact log messages

  • Optional messages?: boolean

    Redact messages send via the message client

  • Optional patterns?: Array<object>

    Register patterns to look for and optional replacements


sdm: SoftwareDeliveryMachineOptions & AdditionalConfiguration & AnyOptions

Optional secretResolver

secretResolver: SecretResolver

Register a custom secret resolver

Optional statsd

statsd: object

statsd config

Type declaration

  • Optional client?: object

    statsd client factory to create instances of StatsDClient

    • factory: StatsDClientFactory
  • Optional enabled?: boolean

    Whether to send metrics statsd, default is false

  • Optional host?: string

    statsd host. If not set, use the host-shots default, "localhost" at the time of this writing.

  • Optional port?: number

    statsd port. If not set, use the hot-shots default, 8125 at the time of this writing.

Optional version

version: string

Automation version. Must be a valid semantic version, https://semver.org/. If not given, the version is extracted from the package.json.

Optional workspaceIds

workspaceIds: string[]

Atomist workspaces this automation will be registered with. Must be specified if groups is not specified. Cannot be specified if groups is specified.

Optional ws

ws: object

websocket configuration

Type declaration

  • Optional backoff?: object

    Configure backoff behavior on the WS connection

    • Optional duration?: number

      Duration in ms the backend should backoff before sending any more messages

    • Optional factor?: number

      Factor (0 < x <= 1) multiply threshold to get to the lower backoff boundary

    • Optional interval?: number

      Interval in ms to check threshold

    • Optional threshold?: number

      Max number of the pending messages in the queue before initiating backoff

  • Optional client?: object
    • Optional factory?: WebSocketFactory
  • Optional compress?: boolean

    compress messages over websocket

  • Optional enabled?: boolean
  • Optional termination?: object
    • Optional gracePeriod?: number

      Grace period in milliseconds. Note the actual time to shutdown gracefully may be more than twice this, as this period is used to first wait for requests and then used again to wait for any cluster workers to shutdown. If some part of the shutdown hangs, it could take up to ten times this period for all processes to exit.

    • Optional graceful?: boolean

      If true, wait for up to gracePeriod milliseconds to process in-flight and queued requests.

  • Optional timeout?: number

    timeout in milliseconds

Generated using TypeDoc