GithubHelp home page GithubHelp logo

philsc / lobsters-ansible Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lobsters/lobsters-ansible

0.0 2.0 0.0 196 KB

Ansible playbook for lobste.rs

License: Other

Shell 13.14% Vim Script 25.32% Ruby 2.96% Rust 27.48% Python 31.10%

lobsters-ansible's Introduction

Lobste.rs Ansible Playbook

Ansible playbook for lobste.rs.

Lobsters is a technology-focused link aggregation site.

To run:

$ ansible-playbook -K prod.yml

When working on test:

$ ansible-playbook --inventory=inventories/test.ini -K prod.yml

Playbooks

backup          - TODO: backup site.
prod            - deploy to production.
restore         - TODO: restore from backup.

Inventory

The following host groups are available:

backup          - backup, archive, and log server.
console         - serial console access.  Used to start, stop, and debug
                  a host.
db              - SQL server.
dns             - authoritative DNS.
mx*             - incoming email.
search          - search middleware (Elasticsearch).
smtp*           - outgoing email.
www*            - http over SSL.

groups marked with an asterisk (*) use public SSL certificates.

The following variables are available:

backup_server   - database dump, log, static file, and email backup.
console_server  - serial console (for grub), installer (with live cd),
                  reverse DNS, and SSH key management.
db_server       - SQL server.
dns_server      - authoritative DNS server.
mx_server       - incoming mail server.
search_server   - search middleware.
smtp_server     - outgoing mail server.
www_server      - http.

When a host group has more than one hostname, the _server variable contains the authoritative name for the hosted sevice.

This playbook tries not to distinguish between host variables and group variables.

https://docs.ansible.com/ansible/latest/intro_inventory.html

Tags

The following tags can be used to limit tasks in a playbook:

pkg             - install operating system packages (deb or rpm).
user            - create or revoke system administrator accounts
                  and public SSH keys.

A role name can be used as a tag. When given, the tasks in that role will be run.

https://docs.ansible.com/ansible/latest/playbooks_tags.html

Roles

mariadb         - SQL database.
lobsters        - web application.
nginx           - http proxy and SSL termination.
sysadm          - accounts and ssh shell acess for system administrators.
postfix         - MX and smtp server.
unicorn         - Rack/Ruby FastCGI server.

https://docs.ansible.com/ansible/latest/playbooks.html https://docs.ansible.com/ansible/latest/playbooks_reuse_roles.html

SSH Keys

To use this playbook, you'll need an account in the sysadm role along with an SSH key pair.

$ ssh-keygen
<++> ~/.ssh/config
Host lobsters.xen.prgmr.com
  IdentityAgent none
  IdentityFile ~/.ssh/id_rsa-lobste.rs
  IdentitiesOnly yes

Host lobsters.console.xen.prgmr.com
  IdentityAgent none
  IdentityFile ~/.ssh/id_rsa-lobste.rs
  IdentitiesOnly yes
  User lobsters
<-->

lobsters-ansible's People

Contributors

alanpost avatar bbuccianti avatar hmadison avatar jstoja avatar pushcx avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.