______ __ __ _______ ______ _______ ______
/ \| \ | \ \ / \| \ / \
| ▓▓▓▓▓▓\ ▓▓ | ▓▓ ▓▓▓▓▓▓▓\ ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\ ▓▓▓▓▓▓\
| ▓▓__| ▓▓ ▓▓ | ▓▓ ▓▓__| ▓▓ ▓▓ | ▓▓ ▓▓__| ▓▓ ▓▓__| ▓▓
| ▓▓ ▓▓ ▓▓ | ▓▓ ▓▓ ▓▓ ▓▓ | ▓▓ ▓▓ ▓▓ ▓▓ ▓▓
| ▓▓▓▓▓▓▓▓ ▓▓ | ▓▓ ▓▓▓▓▓▓▓\ ▓▓ | ▓▓ ▓▓▓▓▓▓▓\ ▓▓▓▓▓▓▓▓
| ▓▓ | ▓▓ ▓▓__/ ▓▓ ▓▓ | ▓▓ ▓▓__/ ▓▓ ▓▓ | ▓▓ ▓▓ | ▓▓
| ▓▓ | ▓▓\▓▓ ▓▓ ▓▓ | ▓▓\▓▓ ▓▓ ▓▓ | ▓▓ ▓▓ | ▓▓
\▓▓ \▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓\▓▓ \▓▓
Node Agent
This daemon allows makes the node it is installed on a part of the cluster.
As a result, the node becomes a compute resource that can be used to run containers
at the request of the aurora-daemon running on the master node. \
- Linux system or WSL-2 with golang 1.19.X to compile the code
- Debian Linux or any linux environment with docker and docker swarm installed and systemctl
- Open internal network interface protected from all external communication, this is usually available as an option for most
Virtual Private Serverproviders like Digital Ocean and Vultr
Edit the contents of in resources/settings.yml substituting what is required and copy this to the etc/aurora directory
provider: DOCKER-SWARM
profile-directory: /etc/aurora # Path on file system to good stuff
listen-address: 0.0.0.0
advertise-address: ${SECURED-IP-ADDRESS-HERE}
host: 0.0.0.0
port: 2700Alternatively, if you would like your configuration to be embedded into the binary then you can leave the changes in
resources/settings.yml then you can compile it and run without the config path flag.
On a computer with the desired golang compiler for the target architecture running linux , you can compile the golang source code by running ./full_build.sh
This might be x86_64, RISC-V, or ARM-64.
This will result into a tar-ball with the target architecture for your servers that you can transfer using
scp aurora-agent.tar.gz hostname@IP-ADDRESS:~
tar -xvf aurora-agent.tar.gz
sudo chmod +x aurora-agent
sudo mv aurora-agent /usr/local/bin/Create a new group and user
sudo groupadd --systemctl aurora
sudo useradd -s /sbin/nologin --system -g aurora auroraCreate a systemd file
sudo nano /etc/systemd/system/aurora-agent.serviceAdd the following lines
[Unit]
Description=Aurora Service [Daemon]
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=aurora
Group=aurora
ExecStart=/usr/local/bin/aurora-agent --mode=run --config=/etc/aurora/config.yml
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
TimeoutStopSec=5
Restart=on-failure
SyslogIdentifier=aurora-agent
[Install]
WantedBy=multi-user.target Save and close the file when you are finished
Next, reload the system daemon with the following command
sudo systemctl daemon-reload
sudo systemctl start aurora-agent
sudo systemctl enable aurora-agentAnd check to see if the daemon is running
sudo systemctl status aurora-agentThen the last thing is to add aurora user to the docker user group
sudo usermod -aG docker auroraUsing the Aurora CLI client you can register the node with the following command
aurora-client nodes:create ${NODE_NAME} --cluster=${CLUSTER_NAME} --address=${IP-ADDRESS} --provider=${PROVIDER} --description=${DESCRIPTION}The default cluster name is default and the provider currently supported is DOCKER.
You can check if the setup went ok by running the command:
aurora-client nodes:list --cluster=${CLUSTER_NAME}Everything should be running ok now
To use the PaaS you can check out Aurora CLI which can be used on your developer work station. \
- Docker Swarm Integration
- Kubernetes Integration
- Podman Integration
- Agent Node Stats
- Scheduled container checks