YetiCloud Control Setup#

The YetiCloud control is a single-binary executable that renders the dashboard, runs agentless jobs, and manages the yeti-core agents from a central location.

Installation#

The dashboard can be installed through your system's package manager with the appropriate package, or as a pre-compiled binary. Both are available from YetiCloud.

Package Installation#

To install from a package, simply install the package as you would any other package:

# RHEL / Fedora / CentOS
yum localinstall <path_to_package>

# Ubuntu / Debian
apt install ./<path_to_package>

Manual Installation#

Alternatively you can install the pre-compiled binary manually:

sudo tar -xf <path_to_tar> -C /

If you are using systemd, be sure to copy the yeti-control.service file to your systemd units directory:

cp -f yeti-control.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable yeti-control
systemctl start yeti-control

Configuring the Dashboard#

Dashboard configuration can be accoplished in two ways: a file called yeti-control.yaml or environment variables. While we strongly encourage you to use a configuration file, there are situations (such as containers) where using environment variables are preferred.

Below is a refernce yeti-control.yaml showcasing all possible options, their default values, and the equivelent environment variables for each:

# yeti-control.yaml


server:
  # use HTTPS for transport; will use HTTP when set to false
  https: true
  # location of your private and public SSL certs
  https_cert: certs/yeticloud.cert
  https_key: certs/yeticloud.pem
  # bind to 0.0.0.0 or 127.0.0.1
  host: 0.0.0.0
  # port to run SSL web service
  port: 8443
db:
  # Redis network protocol or UNIX socket
  network: tcp
  # Redis address
  address: localhost:6379
  # Redis DB instance
  db: 0
  # max tries to connect to Redis until panic
  max_retries: 20
  # password for Redis database
  password: ""
app:
  # account_key to access yeticloud
  account_key: yeticloud
  # enable debugging and tracing
  development: false
  # enable auto-register for new yeti stacks
  register: true
  # agent directory to run agentless workloads
  agent_dir: /usr/lib/yeticloud/yeti-core
  # upload automation plan directory
  upload_dir: "./uploads"
metrics:
  # run prometheus metrics on a different listening address and port
  host: 0.0.0.0
  port: 8080

NOTE: Any changes to the yeti-control.yaml file require a service restart; changes to plan files do not.

Next Steps#

Now that the dashboard is up and running, its time to give it some work to do.