doc: updated README.md
This commit is contained in:
parent
da45c7c409
commit
742be4fd8d
1 changed files with 13 additions and 65 deletions
78
README.md
78
README.md
|
@ -15,6 +15,7 @@ thoroughly reviewed it, especially the system hardening and security tweaks that
|
||||||
- ***gaming***: gaming on linux, e.g. Steam and Heroic Games Launcher.
|
- ***gaming***: gaming on linux, e.g. Steam and Heroic Games Launcher.
|
||||||
- ***security***: security-related softwares and tweaks, e.g. applying custom system limits, installing an antivirus.
|
- ***security***: security-related softwares and tweaks, e.g. applying custom system limits, installing an antivirus.
|
||||||
- ***server***: common tooling for servers, e.g. monitoring, altering, firewall rules.
|
- ***server***: common tooling for servers, e.g. monitoring, altering, firewall rules.
|
||||||
|
- ***workstation***: tooling and configuration for an X11 graphical workstation.
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
@ -84,8 +85,6 @@ Execute a command using the Python wrapper that activates the virtualenv, e.g. `
|
||||||
#### docker
|
#### docker
|
||||||
*build*: build all docker images available in `/images`, e.g. `task docker:build`
|
*build*: build all docker images available in `/images`, e.g. `task docker:build`
|
||||||
|
|
||||||
*push*: push built images to docker hub, e.g. `task docker:push`
|
|
||||||
|
|
||||||
#### module:<module_name>
|
#### module:<module_name>
|
||||||
Directly execute a Python module located in `collections/ansible_collections/nullified/infrastructure/plugins/modules` with its default configuration
|
Directly execute a Python module located in `collections/ansible_collections/nullified/infrastructure/plugins/modules` with its default configuration
|
||||||
(typically the path to a test YAML file). Used only for debugging purpose.
|
(typically the path to a test YAML file). Used only for debugging purpose.
|
||||||
|
@ -98,6 +97,9 @@ Useful to ensure playbooks behave as expected using a Docker container.
|
||||||
#### test:modules
|
#### test:modules
|
||||||
Run Ansible's sanity tests on each collections declared in `collections/ansible_collections`.
|
Run Ansible's sanity tests on each collections declared in `collections/ansible_collections`.
|
||||||
|
|
||||||
|
#### nosey
|
||||||
|
Run `noseyparker`, a tool that aims to find potential data leak such as passwords and security token.
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
```shell
|
```shell
|
||||||
# encrypt vault
|
# encrypt vault
|
||||||
|
@ -119,70 +121,16 @@ cd nullified/infrastructure/roles
|
||||||
task venv -- ansible-galaxy collection init tooling
|
task venv -- ansible-galaxy collection init tooling
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
## Advanced Configuration
|
||||||
|
### Global variables
|
||||||
|
Global variables are defined in `inventory/group_vars/all/vars.yml` and are used in multiple roles and playbooks.
|
||||||
|
`dns.type`: what type of DNS configuration should be performed; also works as a selector for type related parameters;
|
||||||
|
`dns.default`: default type of DNS configuration to setup; will use the corresponding `dns.<type>` dictionary retrieve corresponding data;
|
||||||
|
`dns.udp`: IP addresses for basic DNS configuration;
|
||||||
|
`dns.dot`: IP addresses for DNS-over-TLS configuration;
|
||||||
|
`dns.doh`: IP addresses and HTTPS addresses for DNS-over-HTTPS configuration;
|
||||||
|
|
||||||
## Cheatsheet
|
## Notes
|
||||||
### Ansible usage
|
|
||||||
```shell
|
|
||||||
# validate files
|
|
||||||
ansible-playbook --syntax-check <file>
|
|
||||||
|
|
||||||
# gather facts of a docker container
|
|
||||||
ansible <target> -m setup
|
|
||||||
```
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# handlers
|
|
||||||
# invoked by a task through `notify`, executed only if caller triggered a state change; runs at the end of the play in the order they are declared;
|
|
||||||
|
|
||||||
# -> force handlers to run:
|
|
||||||
- name: execute all handlers
|
|
||||||
meta: flush_handlers
|
|
||||||
```
|
|
||||||
|
|
||||||
***runtime grouping***
|
|
||||||
```yaml
|
|
||||||
name: coin
|
|
||||||
hosts: all
|
|
||||||
gather_facts: true
|
|
||||||
tasks:
|
|
||||||
- name: group by OS
|
|
||||||
group_by:
|
|
||||||
key: "{{ ansible_facts.distribution }}"
|
|
||||||
```
|
|
||||||
|
|
||||||
***builtin vars***
|
|
||||||
- hostvars: {hostname => kvp_vars, ...},
|
|
||||||
- inventory_hostname(_short)?: name of current host,
|
|
||||||
- group_names: list of groups assigned to current host,
|
|
||||||
- groups: {groupname => [hostX, ...], ...},
|
|
||||||
- ansible_check_mode: isRunningInCheckMode ?,
|
|
||||||
- ansible_play_batch: list inventory hostnames active in current batch,
|
|
||||||
- ansibble_play_hosts: ist inventory hostnames active in current play,
|
|
||||||
|
|
||||||
### Python modules
|
|
||||||
***argument options***
|
|
||||||
> *NOTE*
|
|
||||||
> Ansible Up and Running, page 503
|
|
||||||
|
|
||||||
- *default*: default value if arg is required,
|
|
||||||
- *choices*: list of possible values for an array arg,
|
|
||||||
- *deprecated_aliases*: deprecate aliases; `dict(name, version, date, collection_name)`,
|
|
||||||
- *aliases*: aliases for given argument,
|
|
||||||
- *type*: arg type,
|
|
||||||
- *elements*: set type of list elements if arg is array,
|
|
||||||
- *fallback*: tuple of a lookup function and a list to pass to it,
|
|
||||||
- *no_log*: mask arg value in logs for sensitive data,
|
|
||||||
- *options*: complex args; create list of suboptions,
|
|
||||||
- *mutually_exclusive*: list of mutually exclusive suboptions,
|
|
||||||
- *required_together*: list of names of sub options,
|
|
||||||
- *required_one_of*: list of required mutually exclusive suboptions,
|
|
||||||
- *required_if*: sequence of sequences,
|
|
||||||
- *required_by*: dic mapping option names to seqs of option names
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Notes / Todo
|
|
||||||
***dir layout***
|
***dir layout***
|
||||||
- collections: ansible root dir for all collections to reside in;
|
- collections: ansible root dir for all collections to reside in;
|
||||||
- images: docker images, mostly used for ansible-test / molecule;
|
- images: docker images, mostly used for ansible-test / molecule;
|
||||||
|
|
Loading…
Add table
Reference in a new issue