How to configure bld
You can edit the config.yaml
file inside a .bld
directory in order to configure both local options and add new target bld servers.
Local configuration
The local
section of the configuration has the below options available
ability mode.
-
docker_url: The url with which a connection will be established to the docker engine API.
-
server: The start of the server section with the below options
- host: The host that the server will be exposed to.
- port: The port that the server will be exposed to.
- tls: The start of the tls section with the below options
- cert_chain: The path to a certificate file.
- private_key: The path to the private key for the above certificate.
- pipelines: A path to a directory in which the server will store registered pipelines.
- auth: The authentication section for the server.
- method: A text option that for the current release only accepts the value oidc.
- issuer_url: The issuer url for the authorization provider.
- redirect_url: The redirect url of the bld server.
- client_id: The client id configured in the oidc provider for the bld server.
- client_secret: The client secret for the bld server.
- scopes: An array of scopes provided when logging in.
- user_property: The property that a user will be associated with. Accepts the values name or email.
- logs: A path to a directory where the logs for each server run will be stored.
- db: The database connection url for
postgres
,mysql
orsqlite
.
-
supervisor: The start of the supervisor section
- host: The host that the supervisor will be exposed to.
- port: The port that the supervisor will be exposed to.
- tls: The start of the tls section with the below options
- cert_chain: The path to a certificate file.
- private_key: The path to the private key of the above certificate.
- workers: A number that indicates how many worker processes can the supervisor spawn. This will be the maximum number of active pipeline runs on a server, with all other being queued.
-
editor: The name or path to your editor of choice for editing a pipeline through the bld cli.
-
ssh: The ssh global configuration that pipelines can use to establish an ssh connection.
Remote configuration
The remote
section of the config file is an array of servers that can be targeted. The available options are below.
- server: The name used to target this entry.
- host: The host address of the server.
- port: The port of the server.
- tls: A boolean indicating to use secure protocols when connecting to the server.
Putting it all together
Below is an example configuration with all of the above options
local:
server:
host: localhost
port: 6080
tls:
cert_chain: path/to/server_certificate.crt
private_key: path/to/server_private.key
auth:
method: oidc
issuer_url: https://some_issuer_url
redirect_url: https://localhost:6080/authRedirect
client_id: some_client_id
client_secret: some_client_secret
scopes: ["scope1", "scope2"]
user_property: email
pipelines: .bld/server_pipelines
logs: .bld/logs
db: sqlite:///path/to/project/.bld/db/bld-server.db
supervisor:
host: localhost
port: 7080
tls:
cert_chain: path/to/supervisor_certificate.crt
private_key: path/to/supervisor_private.key
workers: 50
docker-url: tcp://127.0.0.1:2376
editor: vim
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
remote:
- server: local_1
host: 127.0.0.1
port: 6080
tls: true
- server: local_2
host: 127.0.0.1
port: 8080