What You Received

🎊 If everything went well, you can look up the IP address of your newly provisioned instance by entering the command hostname -I. Then, connect to its web interface using your browser. Once you accept the self-signed certificate, the project's README will appear as an interactive webpage.

The machine is also equipped with the following features:

  • A front-end web proxy configured for self-signed and Let's Encrypt certificates.
  • The application can be updated via the payload.
  • Up-to-date system packages with automatic upgrades.
  • The locale, time, and cron job system packages are preconfigured.
  • DNS resolvers that support DNSsec are in place.
  • The SSH server is configured for maximum security.
  • A firewall with crowdsourced blocklists.
  • A node_exporter and blackbox_exporter service service that delivers system metrics.
  • A preloaded Prometheus service with all essential rules and alerts.
  • A preloaded Alertmanager service that notifies you about unusual events and system and service conditions.
  • A complete, ready-to-use backup system becomes available when you attach the backup controller, as described in Section Add Backup Controller. You've absolutely got to check this out!

There is a growing list of modules available for activation.

Now, let's take a look at the costs. Mio aims to provide maintenance-free driving by leaving you with only a few simple files to manage. The only ones that really matter to you. Let's review all the files in our project to determine who owns each one.

Project File Listing

In this example, the hostname miodocs and its related files appear in bold.

Owner File Description
mio & you .gitignore Contains untrackable files
mio .ssh/config.d/miodocs.conf SSH Host config
mio .ssh/config.d/zzz-defaults.conf SSH config defaults
mio .ssh/known_hosts Fingerprints of instances and services
mio conf/accounts/files/root/.gnupg/gpg-agent.conf GnuPG agent config file
mio conf/accounts/files/root/.gnupg/gpg.conf GnuPG config file
mio & you conf/accounts/files/root/.ssh/authorized_keys Addition ssh keys
you conf/alertmanager/files/MAIL_FROM Alertmanagers email account
you conf/alertmanager/files/MAIL_HOST Alertmanagers email account
you conf/alertmanager/files/MAIL_TO Alertmanagers email account
you conf/alertmanager/files/MAIL_USER Alertmanagers email account
you conf/alertmanager/files/WWW_URL Alertmanagers email account
you conf/alertmanager/files/mail.pw.pass Alertmanagers email account
you conf/app/files/app.service Application serive file
you conf/app/files/home/bin/app.deploy Application installer script
you conf/domain/files-miodocs/FQDN Full Qualified Domain name
you conf/domain/files/site.conf Frontend proxy config
you conf/hostname/files-miodocs/HOST_NAME Instance hostname
you conf/hostname/files/DOMAIN_NAME Domain name (persistent)
you conf/hostname/files/PROJECT_NAME Project name (persistent)
you conf/mio.mk Module selection
you conf/packages/files/app.conf Additional system packages
you conf/prometheus/files/WWW_URL External URL to Prometheus
you conf/prometheus/files/scrapes/probe.d/miodocs.yml Probe Enpoints
mio manifest Tracks state of all components

The features-to-cost ratio is outstanding! Most files will likely never be touched. The bold lines represent files corresponding to an instance. As your project grows, the number of files will likely increase. Therefore, configure your instances on a per-class basis to delegate ownership and reduce maintenance. Automate as much as possible!

Of course, it takes some manual labor to get that low. You also need to store your identity and the repository.

To get the full picture, take a look at: What's Next?

It's great to still have you around. Enjoy the rest of your read!