Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/docker #90

Open
wants to merge 427 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
427 commits
Select commit Hold shift + click to select a range
08e938c
Revert note in inventory multi file
nuriel77 Nov 25, 2018
92a6ed9
Allow 1 retry on failed docker image download
nuriel77 Nov 25, 2018
9e10d09
Improve docker image task retry
nuriel77 Nov 25, 2018
9373344
Task to create deployer user when multinode setup
nuriel77 Nov 25, 2018
a0fb393
Type in file name to ignore
nuriel77 Nov 25, 2018
f3ed30a
Add the ssh hosts template file
nuriel77 Nov 25, 2018
cb64545
Make any errors fatal for any node
nuriel77 Nov 26, 2018
ace0fdd
Config multi-node certificates
nuriel77 Nov 26, 2018
fecb4ba
Add doc edits
nuriel77 Nov 26, 2018
dde5108
Avoid register node again, uninstall multi node user
nuriel77 Nov 26, 2018
4e848d4
Don't force overwrite initial service node json
nuriel77 Nov 26, 2018
e01200f
Update iric version
nuriel77 Nov 26, 2018
3701dd0
Apply https config support in multi node setup
nuriel77 Nov 26, 2018
59db061
Fix iric operate on remote nodes
nuriel77 Nov 26, 2018
04212f7
Support multi node setup with certbot
nuriel77 Nov 27, 2018
30acd42
Remove PoW limitation by default for native IRI, only open consul por…
nuriel77 Nov 27, 2018
3a17ab0
Consul ports per cluster node, and uninstall
nuriel77 Nov 27, 2018
a478fd9
Fix redirect with URI and supress ansible warnings
nuriel77 Nov 27, 2018
8e88ec0
Add note in doc about load balancer
nuriel77 Nov 27, 2018
3a1413e
Nginx add logging, add port to logs
nuriel77 Nov 27, 2018
8f6dc14
Ensure iptables rule at top of the chain
nuriel77 Nov 27, 2018
ac47ce2
Remove duplicate log line, add epel-release install step
nuriel77 Nov 28, 2018
746ae48
Allow to add additional flag to certbot
nuriel77 Nov 28, 2018
5824515
Allow to use master node to download docker images from
nuriel77 Nov 28, 2018
516f17f
Force picking first name of nodes in inventory-multi
nuriel77 Nov 29, 2018
5b5d27b
Restart consul-template too after certbot runs
nuriel77 Nov 29, 2018
3f2dd15
Updated lb docs
nuriel77 Nov 29, 2018
d057eab
Corrections in doc
nuriel77 Nov 29, 2018
d57b37b
Edited doc loadbalancer
nuriel77 Nov 29, 2018
3aa1382
Add prerequisites in lb doc
nuriel77 Nov 29, 2018
7ab84ec
Edit loadbalancer doc
nuriel77 Nov 29, 2018
25d1011
Add load balancer diagram
nuriel77 Nov 29, 2018
a17619f
Corrent image URL
nuriel77 Nov 29, 2018
d96ea48
Move diagram below overview
nuriel77 Nov 29, 2018
ce016c2
Only restart consul-template if exists
nuriel77 Nov 29, 2018
c44f70f
Update cache on apt docker install and add debian to supported OS in …
nuriel77 Nov 30, 2018
a553308
Fix installation of packages for Debian
nuriel77 Nov 30, 2018
895db4a
Fix dependencies, missing rsync
nuriel77 Nov 30, 2018
23be87d
Missing uuid-runtime in debian
nuriel77 Nov 30, 2018
47eae08
Edit doc lb
nuriel77 Nov 30, 2018
521320a
Edit doc correct spelling
nuriel77 Dec 1, 2018
881022e
Video link in docs
nuriel77 Dec 4, 2018
b8d08c9
New donations address
nuriel77 Dec 12, 2018
2720096
Allow peering and stick table, configure lb algos
Dec 12, 2018
d78c6c3
Merge branch 'feat/docker' of github.com:nuriel77/iri-playbook into f…
Dec 12, 2018
1b70d0e
Add tool to control services with consul
Dec 12, 2018
6314c02
Added lbreg install and edit consul readme
Dec 14, 2018
0f7e561
Simplify installation doc
nuriel77 Dec 14, 2018
ef5073d
Fix file->copy
nuriel77 Dec 14, 2018
7adbdd5
Edit docs, fix table
nuriel77 Dec 14, 2018
65a5adc
Added links to docs
nuriel77 Dec 14, 2018
ec49463
Correct example
nuriel77 Dec 14, 2018
b6337cf
Merge branch 'feat/docker' of github.com:nuriel77/iri-playbook into f…
nuriel77 Dec 14, 2018
6e627a4
Rename carriota->deviota
nuriel77 Dec 16, 2018
be8d89d
Merge branch 'feat/docker' of github.com:nuriel77/iri-playbook into f…
nuriel77 Dec 16, 2018
229ae3d
fix spelling mistake
nuriel77 Dec 16, 2018
922b974
Make haproxy deny regex configurable in environment file
nuriel77 Dec 16, 2018
6cab75d
Add passing environment variable to docker haproxy
nuriel77 Dec 16, 2018
26025f3
Add hostname on haproxy test in script
nuriel77 Dec 22, 2018
021e8f6
Reqs doc
nuriel77 Dec 22, 2018
90ac5c7
IRI Version bump
nuriel77 Dec 23, 2018
f17e9b0
Check POW via new features output
nuriel77 Dec 23, 2018
d5f7d12
nbctl remove reverse dns entries, logging
nuriel77 Dec 25, 2018
ae745a3
Make remove reverse optional
nuriel77 Dec 25, 2018
c8ad673
Show more lines on getNodeInfo
nuriel77 Dec 25, 2018
5d46282
Set equal or larger than version check on PoW
nuriel77 Dec 25, 2018
5529ba1
Fix node_check script and version checks
nuriel77 Dec 25, 2018
5cb7c76
Requirements OS in doc
nuriel77 Dec 28, 2018
db2c837
Remove DevIota Field
nuriel77 Dec 28, 2018
35f3230
Remove another field entry
nuriel77 Dec 28, 2018
3bddd59
Merge pull request #101 from nuriel77/feat/docker-remove-field
nuriel77 Dec 28, 2018
82f0c7d
Change window size in install options
nuriel77 Dec 28, 2018
a05cd67
Correct syntax in install node script
nuriel77 Dec 28, 2018
7af1438
Correct link in full node installer
nuriel77 Dec 28, 2018
1282bf3
Add ansible version check
nuriel77 Dec 28, 2018
6b89a0a
Set random hostname and container name for haproxy test container
nuriel77 Dec 31, 2018
f1174de
Use real peer name for peer config
nuriel77 Jan 3, 2019
1d0928e
Increase consul health check interval
nuriel77 Jan 3, 2019
252665d
Update to 1.6.0 and include local snapshot support
nuriel77 Jan 11, 2019
c3f2136
Fix tag in iri image pull
nuriel77 Jan 11, 2019
14b2953
Fix silly RELEASE tag issue
nuriel77 Jan 11, 2019
413641b
Install iritop
nuriel77 Jan 12, 2019
81716a3
Install iritop and deps, add to iric
nuriel77 Jan 12, 2019
fe530b3
ADd custom metrics db directory size for node-exporter
nuriel77 Jan 12, 2019
e341239
Tag node exporter systemd file task
nuriel77 Jan 12, 2019
e30478a
Missing file
nuriel77 Jan 12, 2019
b0a2d5c
Change tag for node exporter config
nuriel77 Jan 12, 2019
3f5b7e3
Remove all new stuff from db dir on new db d/l
nuriel77 Jan 12, 2019
debdea0
Use different python lib to compare versions in iric
nuriel77 Jan 12, 2019
401dd58
Force d/l new iritop files
nuriel77 Jan 12, 2019
2ca0e38
Don't display message before iritop
nuriel77 Jan 12, 2019
67026a9
Fix menu for iric
nuriel77 Jan 12, 2019
5aff9be
Add message before db download
nuriel77 Jan 13, 2019
3d320b4
Only allow once instance of iric, add tip to db d/l
nuriel77 Jan 13, 2019
31de54d
Change defaults for iri.ini
nuriel77 Jan 13, 2019
916d6a0
Only show consul-template restart failure if service is installed
nuriel77 Jan 14, 2019
991dc81
Fix iric exec after update pid check
nuriel77 Jan 17, 2019
3fccadf
Fix iric pid file path
nuriel77 Jan 17, 2019
d3f5fa9
Add preflight checks
nuriel77 Jan 18, 2019
2be7521
Use correct variable for find command
nuriel77 Jan 20, 2019
faaefec
Add tag scripts to haproxy certbox script
nuriel77 Jan 20, 2019
33fa362
Update version, note in iric menu item
nuriel77 Jan 20, 2019
456c8f8
Fix how snapshot state DB is bootstrapped
nuriel77 Jan 25, 2019
e44a777
Update nbctl script, support python3
nuriel77 Jan 25, 2019
694e651
Adapt to snapshot files/db in docs
nuriel77 Jan 26, 2019
d8cb9e8
Get configured username when rerun only
nuriel77 Feb 16, 2019
ac1b1cf
Make chown iri dir traverse any symlinks
nuriel77 Feb 18, 2019
11a8b31
Added panel db size to dashboard
nuriel77 Feb 19, 2019
f0e56c2
Change dbsize text in legend
nuriel77 Feb 19, 2019
e88e8d2
Bump iri version
nuriel77 Feb 21, 2019
a5ac812
Correct way to reload nginx container
nuriel77 Mar 14, 2019
78d66e0
Added missing variable to function - domains to renew
nuriel77 Apr 4, 2019
56b4d93
IRI Version bump
nuriel77 Apr 10, 2019
1fedc53
Avoid deprecation notice from pyyaml
nuriel77 Apr 18, 2019
a3d275b
Update to use pyyaml safe_load
nuriel77 Apr 18, 2019
e8ef152
Merge branch 'feat/docker' of github.com:nuriel77/iri-playbook into f…
nuriel77 Apr 19, 2019
4aefede
IRIC update version
nuriel77 Apr 19, 2019
a737a09
Improve download db menu cancel and empty string
nuriel77 Apr 19, 2019
47ec7a8
Allow for easier configuration, image, testnet
nuriel77 Apr 20, 2019
21d018a
Improvements to download db function
nuriel77 Apr 25, 2019
0bdb289
Also check for empty custom db url
nuriel77 Apr 25, 2019
a65589a
Edit docs not to delete spent-addresses unless corruption
nuriel77 Apr 25, 2019
29792b6
Add locale for scripts
nuriel77 Jun 10, 2019
ce3d969
Make sure haproxy.pem gets updated if for any reason it hasn't
nuriel77 Jun 14, 2019
edcc6d5
Use/host network (#109)
nuriel77 Jun 16, 2019
aa51cc4
Wrap values with double quotes
nuriel77 Jun 16, 2019
b3aff4d
Docker/images syntax (#110)
nuriel77 Jun 16, 2019
b691edf
Fix tags always, fix locale on centos
nuriel77 Jun 16, 2019
4d500c9
Fix admin user name grep before final message window
nuriel77 Jun 16, 2019
a1f1675
Diff output message for reboot
nuriel77 Jun 16, 2019
8a48920
Upgrade/grafana docker (#111)
nuriel77 Jun 16, 2019
da90e18
Add cadvisor and node exporter to iric
nuriel77 Jun 16, 2019
663f0f9
Bump Ansible min version requirement
nuriel77 Jun 17, 2019
8cadb33
Bump iri version
nuriel77 Jun 17, 2019
2baf06b
Update defaults in iric for legacy nodes
nuriel77 Jun 20, 2019
03ed65b
Confirm run installer if installation already detected
nuriel77 Jun 21, 2019
62682ab
Also check installation confirm if rerun or not
nuriel77 Jun 21, 2019
7c9af91
Use explicit boolean value for testnet flag
nuriel77 Jun 23, 2019
5be94c8
Use more permissive regex to find different bind lines in haproxy cfg
nuriel77 Jun 29, 2019
bc2f1e1
Missing /haproxy.pem file in bind line
nuriel77 Jun 29, 2019
2446472
Docker upgrade/haproxy2.0 (#114)
nuriel77 Jun 30, 2019
9ea08d2
Add ufw logging option
nuriel77 Jul 1, 2019
7ff79ef
Remove INSTALL_OPTIONS redundancy
nuriel77 Jul 1, 2019
aa726bd
Don't wait for alertmanager on update monitoring
nuriel77 Jul 1, 2019
b4eef09
Rename variable, also add grafana optional wait
nuriel77 Jul 1, 2019
bdd65f6
Remove UDP, rename variable for TCP peering (#108)
nuriel77 Jul 10, 2019
53acd30
Work around for version detect
nuriel77 Jul 10, 2019
c4f6f65
Set correct tags upgrade systemd file
nuriel77 Jul 10, 2019
ea86fa5
Bump version for iric
nuriel77 Jul 10, 2019
7302377
Bump version for iri
nuriel77 Jul 10, 2019
021a95e
Fix neighbor menu for new 1.8.0 IRI output
nuriel77 Jul 11, 2019
0d54c6a
Add support for custom updates (#116)
nuriel77 Jul 12, 2019
bddde0d
Add notification about possible iric updated
nuriel77 Jul 12, 2019
4bcf558
Remove redundant export of SYSCONFIG_FILE
nuriel77 Jul 12, 2019
af08bce
Data collection feature added
nuriel77 Jul 13, 2019
27cb5bd
Remote temp test file from data collector
nuriel77 Jul 13, 2019
b2c66d7
Docs update
nuriel77 Jul 15, 2019
4dbde60
Add debian to check
nuriel77 Jul 25, 2019
d52417a
Improve ssh config doc, remove nginx uninstall
nuriel77 Aug 7, 2019
81b0713
correct ssh password doc
nuriel77 Aug 7, 2019
9971036
Add success exit status code to systemd
nuriel77 Aug 8, 2019
afce6e3
Force docker cleanup exit 0 in ExecStartPre
nuriel77 Aug 8, 2019
fb95790
Debian 10 support
nuriel77 Aug 9, 2019
5ee09b9
Increase neighbor listing window
nuriel77 Aug 22, 2019
6aacf31
Fix print support python3
nuriel77 Aug 22, 2019
790427c
Fix total neighbor count
nuriel77 Aug 22, 2019
e74bbbe
Remove test json neighbor list
nuriel77 Aug 27, 2019
cde00ce
Upgrade Grafana
nuriel77 Aug 31, 2019
620db78
Fix path to grafana server sysconfig file
nuriel77 Aug 31, 2019
1e7d0f3
Fix syntax for journald MB->M
nuriel77 Sep 1, 2019
b1b0e4b
Bump iri version
nuriel77 Sep 7, 2019
3c84fb1
Rename wrong file to grep
nuriel77 Sep 13, 2019
2c9b419
Remove GIT_OPTIONS branch var
nuriel77 Sep 30, 2019
189f3ec
Upgrade monitoring versions, cpu share options, docker cleanup
nuriel77 Oct 14, 2019
1ba9f5f
Add extra comment docker cleanup
nuriel77 Oct 14, 2019
981bd74
Increase cpu shares for cadvisor
nuriel77 Oct 14, 2019
82de583
Alertmanager extra cpu shares
nuriel77 Oct 14, 2019
8be2699
Improve docker cleanup of imgs and vols
nuriel77 Oct 14, 2019
90771ef
Correct message delete
nuriel77 Oct 14, 2019
e9cf469
Update documentation
nuriel77 Oct 15, 2019
12a126a
Pull IRI image if it was cleaned by prune
nuriel77 Oct 18, 2019
e8f932c
Ensure tag is present as it gets wiped by prune
nuriel77 Oct 18, 2019
a35c18d
Move tag read outside of if stanza
nuriel77 Oct 18, 2019
b96bc9e
Support CentOS 8 (#117)
nuriel77 Oct 22, 2019
8fd40a8
Update docs centos 8
nuriel77 Oct 22, 2019
eb87f33
Add soft link to python3, hide warning dnf install
nuriel77 Oct 23, 2019
23c3b77
Remove warn attr
nuriel77 Oct 23, 2019
782a69f
Remove warn attr in firewalld
nuriel77 Oct 23, 2019
669dd13
Support certbot host network, fixes centos 8 nft/limitation
nuriel77 Oct 24, 2019
ba4e7ab
Update iric version to force install certbot script
nuriel77 Oct 24, 2019
ff896f4
Bump iri install version
nuriel77 Oct 24, 2019
7110249
Support firewalld in certbot script
nuriel77 Oct 24, 2019
d98eb87
Fix missing ubuntu/deb docker install task
nuriel77 Oct 29, 2019
2d74585
Upgrade/node exporter (#118)
nuriel77 Nov 1, 2019
a13e0aa
Remove/nelson (#119)
nuriel77 Nov 2, 2019
a955086
Cosmetic improvements to iric
nuriel77 Nov 2, 2019
8a30b0e
Adding iotacaddy (#120)
nuriel77 Nov 13, 2019
9e92642
Inverse default build on master
nuriel77 Nov 13, 2019
6520c1b
Add /proc security, boolean syntax, warn: no
nuriel77 Nov 15, 2019
2564f6a
Bump monitoring versions, improve custom updates
nuriel77 Nov 18, 2019
73250e3
Sort all potential updates, bump iric version
nuriel77 Nov 18, 2019
e2b087d
Add comment removal of custom update
nuriel77 Nov 18, 2019
8dbf388
Fix wrong variable for custom update
nuriel77 Nov 18, 2019
8d3418b
Add notice rerun old update
nuriel77 Nov 18, 2019
fa109ab
Update iritop, use static file
nuriel77 Nov 20, 2019
e7996ed
Upgrade grafana to 6.5.0
nuriel77 Nov 25, 2019
ba6893e
Grafana bump version
nuriel77 Dec 7, 2019
447b166
typo
nuriel77 Dec 12, 2019
c755aea
Typo
nuriel77 Dec 14, 2019
93697ec
Support hornet
nuriel77 Dec 16, 2019
3d53851
Allow skip jre data from node info
nuriel77 Dec 20, 2019
ee35bb9
Yaml safe load
nuriel77 Dec 25, 2019
7b98561
Disable remount warnings
nuriel77 Dec 25, 2019
5c7ef69
Remount no warn arg on right task
nuriel77 Dec 25, 2019
60d15f5
Remove grafana upgrade script
nuriel77 Dec 25, 2019
c826897
Skip all upgrades on first install
nuriel77 Dec 25, 2019
7773296
Add/gilt (#121)
nuriel77 Dec 26, 2019
458b8e0
Refactor iric, report iri update
nuriel77 Dec 26, 2019
490c8e1
Full path to custom updates
nuriel77 Dec 26, 2019
cc452c7
Bump iri version, fix handler
nuriel77 Dec 30, 2019
e7fb6e3
Fix handlers
nuriel77 Dec 30, 2019
8e3ca57
Fix pip dep
nuriel77 Dec 30, 2019
3522c65
Fix handlers
nuriel77 Dec 30, 2019
8463c31
New nbctl update support hornet neighbor config
nuriel77 Jan 5, 2020
2dbbd0f
Allow no tcp:// in neighbors - nbctl
nuriel77 Jan 5, 2020
01c258e
Bump iri version
nuriel77 Jan 5, 2020
f9fa2cc
Don't check tcp on neighbors
nuriel77 Jan 5, 2020
82b9984
Fix nbctl
nuriel77 Jan 5, 2020
cca9a28
Bump version for iric
nuriel77 Jan 5, 2020
7680a7b
Wait for no apt managers
nuriel77 Jan 16, 2020
407e952
Hide grep stdout on motd check
nuriel77 Jan 22, 2020
b5e55cc
Show correct pip version for missing pkgs
nuriel77 Jan 23, 2020
ab90fb1
Add lsb core to centos7 init
nuriel77 Jan 25, 2020
934c5c1
Add lsb core for centos8
nuriel77 Jan 25, 2020
1aac2f0
Add dir to PATH
nuriel77 Jan 25, 2020
b4b8b22
Don't ask for confirmation twice
nuriel77 Jan 25, 2020
05fd0af
Change var name, add to first test
nuriel77 Jan 25, 2020
b335584
Bump license year
nuriel77 Feb 4, 2020
59507c5
Install as user
nuriel77 Feb 10, 2020
41c03a7
Bump iric version to force update scripts
nuriel77 Mar 4, 2020
6449036
Support TLSv1.2 only
nuriel77 Mar 21, 2020
b94b936
Bump iri version
nuriel77 Mar 23, 2020
3aab12b
Only ref root dir directly
nuriel77 Apr 8, 2020
e9a93c5
Remove cruft
nuriel77 Apr 29, 2020
3eebeb0
Fix remove neighbor
nuriel77 May 5, 2020
d0cd04d
Update changes for 1.8.6
nuriel77 May 27, 2020
e7e996b
Merge branch 'feat/docker' of github.com:nuriel77/iri-playbook into f…
nuriel77 May 27, 2020
39f7881
Find python binary for nbctl
nuriel77 Jun 11, 2020
54658b4
Pip3 centos7
nuriel77 Jul 4, 2020
1cb5630
Update docs
nuriel77 Jul 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ site.retry
_site/
.*.swp
group_vars/all/z-*.yml
inventory-multi
custom_updates/*.completed
gilt.dev.yml
roles/docker
roles/haproxy
roles/nginx
roles/monitoring
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018 Nuriel Shem-Tov
Copyright (c) 2020 Nuriel Shem-Tov

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
100 changes: 8 additions & 92 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# IOTA IRI Fullnode Ansible Playbook

[![Documentation Status](https://readthedocs.org/projects/iri-playbook/badge/?version=master)](http://iri-playbook.readthedocs.io/en/master/?badge=master)
[![Documentation Status](https://readthedocs.org/projects/iri-playbook/badge/?version=feat-docker)](http://iri-playbook.readthedocs.io/en/master/?badge=feat-docker)

This playbook will install and configure the IOTA full node. In addition:

Expand All @@ -11,12 +11,11 @@ This playbook will install and configure the IOTA full node. In addition:
- Configure firewalls
- `iric` configuration tool
- HAProxy for Wallet/API connections
- Optional: [Nelson](https://github.com/SemkoDev/nelson.cli) and [CarrIOTA Field](https://github.com/SemkoDev/field.cli)
- Monitoring for IRI + Graphs amazing work of [Chris Holliday](https://github.com/crholliday/iota-prom-exporter)

For a "click-'n-go" installation see: [Getting Started Quickly](http://iri-playbook.readthedocs.io/en/master/getting-started-quickly.html#getting-started-quickly)
For installation see [Getting Started Quickly](https://iri-playbook.readthedocs.io/en/feat-docker/getting-started-quickly.html#getting-started-quickly)

For the full tutorial use the [Wiki](http://iri-playbook.readthedocs.io/en/master/index.html)*
Documentation at [Wiki](http://iri-playbook.readthedocs.io/en/feat-docker/index.html)

## Screenshots Monitoring
![graph_a](https://raw.githubusercontent.com/crholliday/iota-prom-exporter/master/images/top_new.png)
Expand All @@ -27,97 +26,14 @@ For the full tutorial use the [Wiki](http://iri-playbook.readthedocs.io/en/maste


## Requirements
A redhat/centos or debian/ubuntu node where you want to have the node running on.

Latest Ansible installation for your distribution (http://docs.ansible.com/ansible/latest/intro_installation.html)
Requirements can be found [here](https://iri-playbook.readthedocs.io/en/feat-docker/requirements.html)

Playbook was tested with:
- Ansible>=2.4
- Ubuntu 16.04
- Ubuntu 17.04
- CentOS 7.4
## Installation for Development



Please feel free to contribute.


### Configure host
This playbook can be installed locally or on a remote host (given you have SSH access to it)

If you want to install to a remote host, edit the `inventory` and set the name and IP accordingly (i.e. hostname FQDN)




### Configure options
In `groups_vars/all/*.yml` you will find files with some configuration options and comments.

Important value to edit is the `iotapm_nginx_password` in the `group_vars/all/iotapm.yml`. Set a strong password.

To edit the password and/or add more users refer to the wiki link up in this README doc.


Edit other options if you want to tweak anything (most importantly check the latest IRI version and edit accordingly).



## Run playbook

Simply run:
```sh
ansible-playbook -i inventory -v site.yml
```


### Installing Specific Roles

You can install a specific role (or skip) by using:
Enter the branch you are testing on and run the installer:
```sh
--tags=first-role-name,second-role-name or --skip-tags=rolename,etc
BRANCH="dev-branch"; GIT_OPTIONS="-b $BRANCH" bash <(curl -s "https://raw.githubusercontent.com/nuriel77/iri-playbook/$BRANCH/fullnode_install.sh")
```

For example, to skip the monitoring role:
```sh
ansible-playbook -i inventory -v site.yml --skip-tags=monitoring_role
```

To find available roles run `grep "\- .*_role$" roles/*/tasks/main.yml`:
```sh
# grep "\- .*_role$" roles/*/tasks/main.yml
roles/iotapm/tasks/main.yml: - iotapm_role
roles/iri/tasks/main.yml: - iri_role
roles/monitoring/tasks/main.yml: - monitoring_role
```

Note that some roles are dependant on other roles having been installed. For example, the monitoring_role depends on iri_role.

Specifying tags or skipping tags is mostly handy when upgrading a role.


### Reinstall or Reconfigure
To re-install iri (this will remove any existing database) or for example to install a different version after having edited the version in the `groups_vars/all/*.yml` file:

First, if you already have iri running:
```sh
sudo systemctl stop iri
```

Then:
```sh
ansible-playbook -i inventory -v site.yml -e "remove_iri_workdir=1"
```

### Overwrite/Update Configuration Files

#### Configuration Files
By default the playbook will not overwrite essential configuration files which have already been deployed, as this might discard values configured by the user.

In order to overwrite or update configuration files, the extra environment variable "overwrite=true" can be set i.e. `-e overwrite=true` when running the playbook.

This will backup existing configuration files with a timestamp.

#### Variable Files
The playbook has a directory `group_vars/all/` with a collection of variable files. These are used by the playbook. Variables can be overriden using the `-e somevar=someval` argument when running the playbook.

Another way to override the variables declared in `group_vars/all/` files is to create a new "override" file. Since the variable files are processed alphabetically, you can create a file called `group_vars/all/zzz-override.yml` and any variable declared in it will override any previously declared variable.
Please feel free to contribute.
16 changes: 16 additions & 0 deletions custom_updates/0.12.0_updates.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash

# This update will install and configure iotacaddy

export NEWT_COLORS='
window=,
'

if ! (whiptail --title "Updates" \
--yesno "There has been a new service added called IOTA Caddy to perform more efficient PoW. This update will install IOTA Caddy and route all the 'attachToTangle' requests from HAProxy/IRI to IOTA Caddy.\n\nThis update will overwrite any manual changes you might have done to HAProxy configuration.\n\n(Note: if you choose 'no', you will always be able to add this feature later by running 'cd /opt/iri-playbook && /usr/bin/ansible -v site.yml -i inventory --tags=iotacaddy_role,loadbalancer_role -e overwrite=yes -e iotacaddy_enabled=yes'. To persist the update, best configure 'iotacaddy_enabled: yes' in '/opt/iri-playbook/group_vars/all/z-installer-override.yml'\n\nWould you like to apply the new update now?" \
24 78) then
grep -q ^iotacaddy_enabled /opt/iri-playbook/group_vars/all/z-installer-override.yml || echo "iotacaddy_enabled: no" >> /opt/iri-playbook/group_vars/all/z-installer-override.yml
exit
fi

cd /opt/iri-playbook && /usr/bin/ansible-playbook -v site.yml -i inventory --tags=iotacaddy_role,loadbalancer_role -e overwrite=yes
5 changes: 5 additions & 0 deletions custom_updates/0.12.3_updates.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

cd /opt/iri-playbook && git pull && ansible-playbook -i inventory site.yml -v --tags=local_deps
test -e /usr/bin/pip2 && /usr/bin/pip2 install python-gilt
test -e /usr/bin/pip3 && /usr/bin/pip3 install python-gilt
5 changes: 5 additions & 0 deletions custom_updates/0.9.4_updates.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Custom updates for iric version 0.9.3

# Cleanup old port variable
sed -i '/^IRI_TCP_PORT/d' "$SYSCONFIG_FILE"
5 changes: 5 additions & 0 deletions custom_updates/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Custom Updates

This directory is used to place custom updates.

These are to be executed by an iric upgrade in order to run some custom updates on the node.
Loading