Skip to content

Latest commit

 

History

History
53 lines (40 loc) · 1.77 KB

INSTALL.md

File metadata and controls

53 lines (40 loc) · 1.77 KB

Installation

Prerequisites

  • A running CloudStack setup, with at least one shared network, dns records should be published for. Cloudstack-management should also be configured for publishing events via AMQP. See: CloudStack AMQP Events The doc/envvars.md covers the environment variables for configuring the CloudStack and RabbitMQ bindings.

  • A running RabbitMQ (single or clustered). Consider to firewall this, also the initial guest-user should be replaced for obvious reasons.

  • An authoritative Nameserver (tested: bind9) for the DNS Zone(s) configured for the shared network(s).

  • The possiblity to add/remove the respective A, AAAA, optinally PTR records via nsupdate. The doc/acs-amq-dnsupdate.md gives an Example for a working setup.

Daemon setup

That's the easist step. The daemon only glues messages and nsupdate together. See also doc/schema.md.

Python 3 is a requirement. Tested under Ubuntu 20.04 LTS

apt install python3-dnspython
# pip3 install pip # unsure, if necessary
pip install cs
pip install logging
pip install pika

-- NOTE

Pika Version > 1.x is required

--

git clone https://github.com/pussy-hosting/cloudstack-rabbitmq-dnsconsumer.git
cd cloudstack-rabbitmq-dnsconsumer
install -m 0755 -u root -g root bin/acs-amq-dnsupdate.py /usr/local/bin
install -m 0644 -u root -g root systemd/acs-amq-dnsupdate.service /etc/systemd/system
install -m 0640 -u root -g root conf/acs-amq-dnsupdate /etc/default
install -m 0640 -u root -g root conf/acs-amq-dnsupdate.json /etc
vi /etc/default/acs-amq-dnsupdate
vi /etc/acs-amq-dnsupdate.json
systemctl daemon-reload
systemctl enable --now acs-amq-dnsupdate