Installation
There are several approaches to install Siren CLI
- Using a pre-compiled binary
- Installing with package manager
- Installing from source
- Using the Docker image
- Using the Helm Chart
Binary (Cross-platform)
Download the appropriate version for your platform from releases page. Once downloaded, the binary can be run from anywhere.
You don’t need to install it into a global location. This works well for shared hosts and other systems where you don’t have a privileged account.
Ideally, you should install it somewhere in your PATH for easy use. /usr/local/bin
is the most probable location.
macOS
siren
is available via a Homebrew Tap, and as downloadable binary from the releases page:
brew install goto/tap/siren
To upgrade to the latest version:
brew upgrade siren
Check for installed siren version
siren version
Linux
siren
is available as downloadable binaries from the releases page. Download the .deb
or .rpm
from the releases page and install with sudo dpkg -i
and sudo rpm -i
respectively.
Windows
siren
is available via scoop, and as a downloadable binary from the releases page:
scoop bucket add siren https://github.com/goto/scoop-bucket.git
To upgrade to the latest version:
scoop update siren
Building from source
Prerequisites
Siren requires the following dependencies:
- Golang (version 1.21 or above)
- Git
Build
Run either of the following commands to clone and compile Siren from source
git clone git@github.com:goto/siren.git (Using SSH Protocol) Or
git clone https://github.com/goto/siren.git (Using HTTPS Protocol)
Install all the golang dependencies
make setup
Build siren binary file
make build
Init server config. Customise with your local configurations.
make config
Run database migrations
$ siren server migrate -c config.yaml
Start siren server
$ siren server start -c config.yaml
Initialize client configurations
$ siren config init
Use the Docker image
We provide ready to use Docker container images. To pull the latest image:
docker pull gotocompany/siren:latest
To pull a specific version:
docker pull gotocompany/siren:v0.5.1
Use the Helm chart
Siren can be installed in Kubernetes using the Helm chart from https://github.com/goto/charts.
Ensure that the following requirements are met:
- Kubernetes 1.14+
- Helm version 3.x is installed
Add gotocompany chart repository to Helm:
helm repo add gotocompany https://goto.github.io/charts/
You can update the chart repository by running:
helm repo update
And install it with the helm command line:
helm install my-release gotocompany/siren
Verifying the installation
To verify if Siren is properly installed, run siren --help
on your system. You should see help output. If you are executing it from the command line, make sure it is on your PATH or you may get an error about Siren not being found.
$ siren --help
Dockerized dependencies
You will notice there is a docker-compose.yaml
file contains all dependencies that you need to bootstrap Siren. Inside, it has postgresql
as a main storage, cortex ruler
and cortex alertmanager
as monitoring provider, and minio
as a backend storage for cortex
.