SSH
One of the supported platforms is ssh which lets a pipeline execute all commands using a ssh connection. This part of the book isn't neccessarily only for bld servers but for local configurations as well.
In the .bld/config.yaml file you can define a ssh section that accepts keys/values for a number of ssh configurations, with an example shown below:
local:
ssh:
test_server_1:
host: 192.168.122.3
user: test_user
userauth:
type: keys
public_key: /path/to/public_key
private_key: /path/to/private_key
test_server_2:
host: 192.168.122.4
user: test_user_2
userauth:
type: password
password: some_password
test_server_3:
host: 192.168.122.5
user: test_user_3
userauth:
type: agent
And use one of the above keys in a pipeline as shown below:
version: 2
runs_on:
ssh_config: test_server_1
jobs:
main:
- echo hello world
The ssh configuration is similar to the one described in the Pipelines > Runs on section but for quick reference they will be presented here as well.
This configuration always expects the host, user and userauth fields with the port field being optional having a default value of port: 22 if not provided. Additionally the userauth field has 3 types of authentication that can be defined.
Password user authentication
The password authentication type for the ssh platform uses a password directly that is passed to the ssh connection when that is established. To define such user authentication you can use the below statement:
userauth:
type: password
password: the_user_password
Keys user authentication
The keys authentication type uses a private and a public key when establishing the ssh connection, and such a configuration can be done using the below statement:
userauth:
type: keys
public_key: /path/to/public_key
private_key: /path/to/private_key
The private_key field is mandatory but the public_key is optional.
Agent user authentication
This type attemps to perform ssh agent authentication and can be configured using the below statement:
userauth:
type: agent