Automated deployment of Rio/OS using SSHKit.
This is an opinionated tool like ceph-deploy and not a general purpose devOps tool like chef, Habitat, Ansible.
Ofcourse recipes in chef, puppet, ansible, habitat can be created as well.
- Ruby 2.5.x
- sshkit
- rake
- Linux
The install instructions require the Rio/OS private registry SSH RSA public CA certicate for accessing the software to be installed.
Contact sales@rio.company for requesting access to the private registry.
Download the attachment rioos_registry_ca.crt
from your email into $HOME/Downloads
This isn't packaged as gem
yet. So yeah, a tiny-tiny bit ugly :).
git clone https://github.com/rioadvancement/autorio
cd autorio
mv ~/Downloads/rioos_registry_ca.crt autorio
Edit autorio/config.yaml
This sections differs for each of the site. Refer rio.digital/docs for the configuration parameter explanation.
MY_IP_ADDRESS: "192.168.2.47"
version: "2.0.0-rc5"
RIOOS_REPO: "get.rioos.xyz"
RIOOS_REPO_USER: "rioosadmin"
RIOOS_REPO_PASSWORD: "team4rio"
RIOOS_REGISTRY: "registry.rioos.xyz:5000"
RIOOS_HOME: "/var/lib/rioos"
RIOOS_CONFIG_HOME: "/var/lib/rioos/config"
POWERDNS_HOST: "console.rioos.xyz"
POWERDNS_DOMAIN: "rioosbox.com"
API_SERVER: "https://console.rioos.xyz:7443"
WATCH_SERVER: "https://console.rioos.xyz:8443"
Parameter | Default value | Modify |
---|---|---|
version | 2.0.0-rc5 | Required |
MY_IP_ADDRESS | 192.168.1.199 | Required |
RIOOS_REPO | get.rioos.xyz | Default |
RIOOS_REPO_USER | rioosadmin | Default |
RIOOS_REPO_PASSWORD | team4rio | Default |
RIOOS_REGISTRY | registry.rioos.xyz:5000 | Default |
RIOOS_HOME: | /var/lib/rioos | Default |
RIOOS_CONFIG_HOME | /var/lib/rioos/config | Default |
POWERDNS_HOST | console.rioos.xyz | Required |
POWERDNS_DOMAIN | rioosbox.com | Required |
API_SERVER | https://console.rioos.xyz:7443 | Required |
WATCH_SERVER | https://console.rioos.xyz:8443 | Required |
Modify the `parameters marked Required
Example
Parameter | Modify examples | Modify |
---|---|---|
version | 2.0.0-rc5, 2.0.0-rc6, 2.0.0 | Required |
MY_IP_ADDRESS | 192.168.1.188 | Required |
POWERDNS_HOST | 192.1681.188 | Required |
POWERDNS_DOMAIN | rioosbox.com | Required |
API_SERVER | https://192.1681.188:7443 | Required |
WATCH_SERVER | https://192.1681.188:8443 | Required |
Change the details of the master server and the access details.
SSH
master:
107.151.141.124:
user: "root"
ssh: "/home/ram/.ssh/id_rsa.pub"
PASSWORD
The access to the server can be performed using password
as well.
master:
107.151.141.124:
user: "root"
password: "sucker#4punch"
Multiple servers can be provided and installed.
master:
107.151.141.124:
user: "root"
ssh: "/home/ram/.ssh/id_rsa.pub"
107.109.141.100:
user: "root"
password: "sucker_punch_5"
106.151.141.124:
user: "root"
ssh: "/home/ram/.ssh/id_rsa.pub"
console.sucker.punch:
user: "root"
ssh: "/home/ram/.ssh/id_rsa.pub"
In the above example, SSH
is attempted as follows.
root@107.151.141.124 using /home/ram/.ssh/id_rsa.pub
root@107.109.141.100 using password sucker_punch_5
root@106.151.141.124 using /home/ram/.ssh/id_rsa.pub
root@console.sucker.punch using /home/ram/.ssh/id_rsa.pub
nodelet:
107.152.143.242:
user: "root"
ssh: "/home/ram/.ssh/id_rsa.pub"
storlet:
107.152.143.242:
user: "tesstor1"
ssh: "/home/ram/.ssh/id_rsa.pub"
To execute the commands the config.yaml
is edited and rioos_registry_ca.crt
is available in autorio
directory.
Shows the version you are about to install
rake version
- Master
- Nodelet
- Storlet
rake deploy[pre, master/nodelet/storlet]
where
pre
is to setup prequestiesmaster/nodelet/storlet
is the type of installation.
cd autorio
bundle install
rake deploy[pre,master]
Gather the credentials generated in master.
Spread them to nodelet and storlet to connect with the master.
rake gather
Spread the credentials generated in master to nodelet and storlet
rake spread[nodelet]
rake spread[storlet]
Digitalcloud
rake deploy[,nodelet]
Containers
rake deploy[pre,nodelet]
rake deploy[,storlet]
The last two versions including the current can be cleaned.
rake clean[pre,master]
Use clean to revert a lower version.