DevOps

From Noisebridge Wiki
Jump to navigation Jump to search
Noisebridge | About | Visit | 272 | Manual | Contact | Guilds | Stuff | Events | Projects | Meetings | Donate E
Resources | Where to find things | Network | AV | Audio | Library | Servers | Printers | Sustenance E
Servers | DevOps | Pegasus | Unicorn | Shed | Brony | Secretaribot | lemp10 V · T · E

Ansible[edit]

Ansible is used for infrastructure deployment. More information about Noisebridge's use of Ansible can be found at Ansible and a quick overview of Ansible at Ansible/Quickstart.

https://github.com/noisebridge/ansible

Caddy[edit]

https://caddyserver.com/

Caddy is a webserver with https on BY DEFAULT and it is VERY PROUD of this fact.

Playbook Documentation[edit]

(e.g. how to deploy caddy with ansible, not how to use caddy)

The ansible playbook for caddy

Caddy Configuration[edit]

Tutorial/Primer

Caddy configuration file documentation

cli interface, flags and stuff

Noisebridge configuration[edit]

The majority of entries in caddy.yml handle redirects from other noisebridte-ish domains like noisebridge.com to noisebridge.net.

apps like mailman, pipermail with http[s] endpoints are also configured.

Directives[edit]

A list of directives seen in noisebridge caddy ansible playbook and their definitions.

prometheus
a metric reporting system.
gzip
serve sites from zipped archives
log
logging configuration
tls
override https default intentionally
redir
sends the client an HTTP redirect status code if the URL matches the specified pattern. It is also possible to make a redirect conditional.
root
specifies the root of the site. This is very useful, in fact required, if the root (/) directory of the website is not the same as where Caddy is being executed from.
index
sets the list of file names that are used as "index" files. When a directory path is requested instead of a specific file, the directory is checked for existing index files. The first matching file name is served.
header
manipulate response headers.
fastcgi
proxies requests to a FastCGI server.
rewrite
request one resource but actually be served another without an HTTP redirect. Rewrites are invisible to the client.

Plugins[edit]

cgi
generate dynamic content on your website by means of command line scripts

molecule[edit]

"Molecule aids in the development and testing of Ansible roles."

https://github.com/ansible/molecule

why are there two instances, default and alternate?

coredns[edit]

https://coredns.io/

Ansible houses files which contain Noisebridge's dns configuration.

Prometheus[edit]

System monitoring and time series database.

https://prometheus.io/

Playbook configuration[edit]

playbook configuration for prometheus

Noisebridge[edit]

Prometheus is configured to log metrics for various groups of services. As different groups are involved, there is prometheus config in different group_vars files.

node, caddy, and coredns, smartpi

Q: Why is the web_listen_address "127.0.0.1:9090" instead of "localhost:9090" as lower in the file?

mysql (percona)[edit]

Percona is a distribution of MySQL which includes features from MySQL Enterprise edition like availability, availability, security, etc.

Ansible[edit]

As Percona is a mysql distribution, it makes use of the ansible role.

Percona[edit]

the database name is noisebridge_mediawiki

Noisebridge[edit]

Percona is used to serve noisebridge's mediawiki instance.

Grafana[edit]

Grafana is a " tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More" github

playbook

The config in grafana.yml is specific to directories, hosts, databases, credentials and various authentications.


node exporter[edit]

A basic metrics exporter for prometheus

playbook

[1]