More README updates to read(?)

This commit is contained in:
2019-08-31 02:47:50 -04:00
parent 8619d41265
commit 2bebf584f8
11 changed files with 208 additions and 74 deletions

39
ansible/roles/README.md Normal file
View File

@@ -0,0 +1,39 @@
# Roles
Some simple Ansible roles created with `ansible-galaxy init <role> --offline` command
klips/ansible/roles/...
-- core - Role to configure a new host with basic authentication / package settings
-- docker - Role to install docker, docker-compose, configure docker user group
-- nginx - Role to install and configure a new nginx webserver on a host
All of these roles assume you are using the apt package manager, and running a Debian / Ubuntu system.
core
------------
A simple role for configuring a set of packages / settings on a new Ubuntu host using Ansible.
Packages Added / Configured
- Git
-- Configure / set user name and email
- SSH
-- MOTD (Template, replacable, displayed on login.)
-- PAM (Template, replacable, authusers file to bypass)
-- authusers (Add users to file to bypass PAM settings)
- Vim
-- Install Vim
-- Run https://github.com/shaunrd0/klips/scripts/setup-vim.sh
docker
------------
A simple role for installing Docker and Docker Compose on a new Ubuntu host using Ansible.
nginx
------------
A simple role for installing and configuring nginx on a new Ubuntu host using Ansible. Supports templates for index.html and custom nginx.conf

View File

@@ -1,38 +1,73 @@
Role Name
core
=========
A brief description of the role goes here.
A simple role for configuring a set of packages / settings on a new Ubuntu host using Ansible.
Packages Added / Configured
- Git
-- Configure / set user name and email
- SSH
-- MOTD (Template, replacable, displayed on login.)
-- PAM (Template, replacable, authusers file to bypass)
-- authusers (Add users to file to bypass PAM settings)
- Vim
-- Install Vim
-- Run https://github.com/shaunrd0/klips/scripts/setup-vim.sh
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Expects that the host is using apt package manager, and running a Debian / Ubuntu system.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Found in `.../roles/core/defaults/main.yml`
```
---
packages: [git, vim, ssh]
ssh_port: 22
auth_methods: "publickey,keyboard-interactive"
git_email: "user@domain.com"
git_name: "First Last"
hostname: "localhost"
domain_name: "www.localhost.com"
```
Dependencies
------------
Basic package installation variable -
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
packages - A list of packages to install when running core configuration. Add package to this list and it will be installed on your new host. Further configuration will need to be done manually, unless the role is modified otherwise.
SSH Configuration Variables -
ssh_port - The port to configure SSH to listen on
auth_methods - Authentication methods to allow SSH base configuration to use. Otherwise, specify a match within the sshd_config
MOTD Configuration Variables -
hostname - The hostname of the box you are using, used in the MOTD for a host-specific greeting, so you know which host you are logged into when glancing between terminals.
domain_name - The domain name, if available, associated with this host.
Git Configuration Variables -
git_email - Email address to configure with Git
git_name - Full name to configure with Git (First Last || Shaun Reed)
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
After configuring the appropriate variables in `.../defaults/main.yml`, create the following play.yml and run `ansible-playbook play.yml` after setting the correct hosts in your `/etc/ansible/hosts` file.
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
```
---
- hosts: core
become: yes
roles:
- core
```
License
-------
Feel free to rename play.yml, hosts group name, etc. Just be sure it reflects to your settings in the related files.
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -2,8 +2,8 @@
packages: [git, vim, ssh]
ssh_port: 22
auth_methods: "publickey,keyboard-interactive"
git_email: "user@domain.com"
git_name: "First Last"
hostname: "localhost"
domain_name: "www.localhost.com"
git_email: "user@domain.com"
git_name: "First Last"

View File

@@ -1,38 +1,36 @@
Role Name
docker
=========
A brief description of the role goes here.
A simple role for installing Docker and Docker Compose on a new Ubuntu host using Ansible.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Expects that the host is using apt package manager, and running a Debian / Ubuntu system.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Found in `.../roles/docker/defaults/main.yml`
```
---
docker_users: [user1, user2]
```
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
docker_users - A list of users to configure / add to the docker group
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
After setting the users to configure with Docker in `.../defaults/main.yml`, create the following play.yml and run `ansible-playbook play.yml` after setting the correct hosts in your `/etc/ansible/hosts` file.
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
```
---
- hosts: docker-host
become: yes
roles:
- docker
```
License
-------
Feel free to rename play.yml, hosts group name, etc. Just be sure it reflects to your settings in the related files.
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -1,38 +1,45 @@
Role Name
nginx
=========
A brief description of the role goes here.
A simple role for installing and configuring nginx on a new Ubuntu host using Ansible. Supports templates for index.html and custom nginx.conf
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Expects that the host is using apt package manager, and running a Debian / Ubuntu system.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Found in `.../roles/nginx/defaults/main.yml`
```
---
domain_name: "localhost"
nginx_root_dir: "/var/www/html/"
index_files: "index.html index.htm"
```
Dependencies
------------
NGINX Configuration Variables -
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
domain_name - Domain name to be used in nginx.conf, default value is the same as nginx base package default setting (localhost)
nginx_root_dir - The directory to point the default nginx server to
index_files - The files / types to be checked for content in our root directory
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
After configuring the approprate variables in `.../defaults/main.yml`, create the following play.yml and run `ansible-playbook play.yml` after setting the correct hosts in your `/etc/ansible/hosts` file.
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
```
---
- hosts: nginx-server
become: yes
roles:
- nginx
```
License
-------
Feel free to rename play.yml, hosts group name, etc. Just be sure it reflects to your settings in the related files.
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -1,6 +1,4 @@
---
# defaults file for /etc/ansible/roles/nginx
#
domain_name: "localhost"
nginx_root_dir: "/var/www/html/"
index_files: "index.html index.htm"

View File

@@ -1,3 +0,0 @@
---
- name: Start and enable nginx service
service: name=nginx state=restarted enabled=yes