Skip to content
This repository has been archived by the owner on Nov 1, 2019. It is now read-only.

Commit

Permalink
Merge pull request #21 from MrKaKisen/development (1.3-stable release)
Browse files Browse the repository at this point in the history
1.3-stable release
  • Loading branch information
vilhelmprytz authored Apr 22, 2018
2 parents 05423a3 + ed4421d commit 33b7830
Show file tree
Hide file tree
Showing 29 changed files with 1,084 additions and 291 deletions.
5 changes: 0 additions & 5 deletions .travis.yml

This file was deleted.

16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
Version 1.3 (Status: RELEASED)
* Upgrade scripts now check for "github_branch" to download correct latest version file.
* Upgrade scripts now return different exit codes depending on issue (dev versions will no longer crash the daemon due to unsupported version)
* Complete visual overhaul of nafsdmctl (looks a lot nicer)
* New development mode, allowing latest commit to always be installed on master and slave (not set version numbers).
* Slave: development functions are now enabled using the config.conf instead of adding files.
* Developer mode introduced in version 1.2.5-stable has been renamed to "skipVersionCheck"
* nafsdmctl: now has remove by domain and remove by ID functions
* nafsdmctl: now has status/start/stop/restart functions for the webinterface
* Slaves now report last connection time to master (nafsdmctl can show a table of which slaves has connected recently)
* nafscli logviewer no longer throws a traceback message on exit (using CTRL+C)
* Rewrote most log messages for both master and slave
* Ability to enable or disable nafsdm upgrades on start (if turned off, you will have to use nafscli upgrade) on slave daemon
* nafscli status now has -a argument which shows the full systemd status of the nafsdm daemon
* (minor): Update all copyright notices to 2018

Version 1.2.5 (Status: RELEASED)
* Added nafscli for the slave, a command-line interface
* Added developer mode for both Slave and Master (disables version checking)
Expand Down
11 changes: 0 additions & 11 deletions Jenkinsfile

This file was deleted.

50 changes: 23 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,54 @@
# nafsdm
**Current status: STABLE, version 1.2.5-stable**
**Current status: STABLE, version 1.3-stable**

Manages DNS nodes and makes sure domains are saved in the slaves configs. Runs on Python and SSH.

*nafsdm stands for "not advanced, fast, simple dns manager"*

# Prerequisites & Compatibility
Before installing nafsdm, make sure you have at least one master and one slave. The master needs to have SSH open (at least a firewall that only allows your slave IP's) and all slaves need to have bind already configured (**nafsdm DOES NOT install bind for you**)
Before installing nafsdm, make sure you have at least one bind master and one slave already configured. The master needs to have SSH open (at least a firewall that only allows your slave IP's) and all slaves need to have bind already configured (**nafsdm DOES NOT install bind for you**)

nafsdm is tested to work with the following operating systems:
nafsdm is tested to work on the following operating systems:

* Debian 8, 9 (7 should work fine)
* Ubuntu 16.04.2 (old versions like 14.04 should also work fine, but may lack systemd)
* CentOS 7

# Installation
To install, you will need at least one slave and one master. All slaves will connect to the master (make sure firewall allows SSH connections from all slaves)
nafsdm currently works with:

nafsdm has installation scripts for both master and slaves.
* bind9 (or 'named' on CentOS)

## Master installation
Connect to your master server, and download the installation script.
# Installation
Installing nafsdm can be done using the guide below.

`wget https://raw.githubusercontent.com/MrKaKisen/nafsdm/master/setupMaster.sh`
Before installing, make sure you do not have any existing installation of nafsdm (the installer will not upgrade current installations)

The file also needs to be executable.
## Master installation
Connect to your master server and initiate the installation script.

`chmod +x setupMaster.sh`
`bash <(curl -s https://raw.githubusercontent.com/MrKaKisen/nafsdm/master/setupMaster.sh)`

Now run the installer. The installer will guide you through the steps.
Follow the steps in the installation.

`./setupMaster.sh`
If the above command fails, you can also manually download the script and execute it (using for example wget).

Once it's finished, run the master daemon once, as it will generate keys (as the installer says).
Once it's finished, run the master once, as it will generate keys (the installer also reminds you of this).

`nafsdm-master`

Now, copy the SSH key contents somewhere to your computer as it will be needed on the slaves later on (as the output says).
Now, copy the SSH key contents somewhere to your computer as it will be needed on the slaves later on.

`cat /home/master-nafsdm/.ssh/nafsdm_rsa` (this will print the key)

The master installation is now finished and should be ready to use. You can use `nafsdmctl` to add/remove domains.
The master installation is now finished and should be ready to use. You can use `nafsdmctl` to add/remove domains or check the status of connected daemons.

## Slave installation
You will have to perform these steps on every slave you would like to install this on.
Connect to your slave and download the installation script.
Connect to your slave and initiate the installation script.

`wget https://raw.githubusercontent.com/MrKaKisen/nafsdm/master/setupSlave.sh`
`bash <(curl -s https://raw.githubusercontent.com/MrKaKisen/nafsdm/master/setupSlave.sh)`

The file also need to be executable.

`chmod +x setupSlave.sh`

Now run the slave installer. The installer will guide you through the steps.

`./setupSlave.sh`
Follow the steps in the installation.

Once it's finished, you can open up the config with your editor of choice (example below uses nano) to set it up correctly.

Expand All @@ -75,13 +69,15 @@ Here is an explanation of what every option is.

`nodeName` = name of this node

Once that's done, you can paste over the SSH key you saved earlier to the slave. Paste it in to the file mentioned below.
The development section isn't something you should edit unless you're absolutely sure of what you're doing.

Once you've updated the config, you can paste over the SSH key you saved earlier to the slave. Paste it in to the file mentioned below.

`nano /home/slave-nafsdm/.ssh/master_key`

The key also needs to have correct permissions.

`chmod 600 /home/slave-nafsdm/.ssh/master_key` (nafsdm will NOT work if the correct permissions are not used)
`chmod 600 /home/slave-nafsdm/.ssh/master_key` (nafsdm will **NOT** work if the correct permissions are not used)

You're done! You should now be able to start the slave (if everything is correctly configured).

Expand Down
2 changes: 1 addition & 1 deletion TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
(remove completely from list when finished/solved)

## High Priority
* Rework nafsdmctl (make it look nicer)
* nafsdmctl webinterface enable and disable

## Lower Priority
* rework the master
Expand Down
Loading

0 comments on commit 33b7830

Please sign in to comment.