Hyperling 8e4247fd58
Hosts Variable Refactor, User Name Refactor, Metasploit, Brave on Fedora, Aliases (#19)
* Add Brave to Fedora (DNF).

* First attempt to add metasploit installer.

* Fix check for Linux and macOS to use System, not Distro.

* Add more memorable aliases for msfconsole.

* Telegraf is attemping to install doube-time since hosts match both localhost and hostname.

* Add missing pipe.

* Attempt to fix flatpak play no longer being able to find user_ling var. Don't see anything in the dev branch which would have changed this behavior though.

* Add note for future removal.

* Use general gather for all groups. Move user variables to it.

* Feodra Workstation succeeds now! Add newline to end of file.

* First attempt at doing host variables via local files.

* Try using ini as lookup.

* Remove "-" typo.

* Add an initial gather even though it may not have all values properly populated on a machine's first run.

* Fix typo in ignore.

* Try default values.

* Try defaults without quotes.

* Add a section header. Add a default back.

* Rename section to global.

* Add workstation provision file. Change variables to require true. Only load config file if hosts is not being used.

* Put flags back on Dell so that programs are not removed while configuring files.

* Add provision config read to workstation.

* Go ahead and force config files for hosts. Only affects dev branch until PR. Start making miner and server files.

* Change {{}} to (()) in comments to avoid undefined variable error.

* Attempt to modify existing task groups instead of moving all tasks to one large group.

* Try to use blocks.

* Name blocks and remove redundant calls.

* Do the bare minimum for miner and server so the variables are at least defined.

* Ensure Server and Miner look at their own files.

* Test how block variables are handled.

* Are the variables true Booleans, not strings??

* Change exits to tests so we can see which ones work.

* Add more tests.

* Add the test results.

* Add config_dir for plays to use when making any config files.

* Move provision config dir.

* Add results of test.

* Remove the exit. Fix the blocks' whens.

* Do provision after starting, that way all facts exist.

* Fix all "true"'s.

* Adjust variable checks for provision_config changes.

* Change gui to wrk. Add aliases to cat files.

* Comment entire hosts file.

* Add localhost,

* Try localhost rather than host file group.

* Fix typo in "prov_dir".

* Add newline to end of file.

* Add newline to end of file.

* Add newline to end of file.

* Debug variable. Should be getting set but receiving errors on Fedora.

* Add newline to end of file.

* Fix debug property, var not name.

* Fix show-config. Change show-config-all to only hit active files, not backups.

* Uncomment commented workstation.

* Add commands to edit files.

* Attempt to fix gitlab installer variables.

* Attempt to fix gitlab play variable.

* Replacing `ling` for `{{ user }}`.

* Remove TODO.

* Remove `config_dir` and move provision config back near top.

* `user_root` is not needed, already moved to /usr/local/etc/.

* Add value for running anything at all. This allows user to set up files before first run.

* Reduce the check frequency,

* Ensure files are printed in correct order. Also add a newline between each.

* Only send file if it exists, and then remove it if it sends successfully.

* Always set the destination variables.

* Only run the scp for systems without sshfs. Forgot that system variables were shared between the two, and do not want to scp the files to themselves then delete the files from the mount.
2021-12-05 18:08:51 -06:00

59 lines
1.9 KiB
YAML

---
# Jobs relating to the ansible user.
- name: General | Cron | Ansible | Create Subscriber Job
cron:
user: ansible
name: "Ansible Sync"
minute: "*/30"
job: "sudo {{ ansible_pull_exec.stdout }} -o -U https://github.com/Hyperling/ansible.git --checkout {{ branch }}"
state: present
disabled: no
- name: General | Cron | Ansible | Create Forced Weekly Subscriber Job
cron:
user: ansible
name: "Ansible Weekly Forced Sync"
special_time: weekly
job: "{{ user_root.home }}/bin/scm.sh"
state: present
disabled: no
- name: General | Cron | Ansible | Create Heartbeat Job
cron:
user: ansible
name: "Create Heartbeat Report"
minute: "*/15"
job: "neofetch --stdout | sudo tee {{ heartbeat_report }}; sudo chmod 777 {{ heartbeat_report }}"
state: present
disabled: no
- name: General | Cron | Ansible | Enable Secure Copy Reports
cron:
user: ansible
name: "{{ item.name }}"
minute: "05,20,35,50"
job: "ls {{ item.src }} 2>/dev/null 1>&2 && sudo scp {{ item.src }} {{ item.dest }} && sudo sh -c 'rm -rfv {{ item.src }}'"
state: present
disabled: no
loop:
- { name: 'Ansible Pull Report', src: '{{ ansible_pull_report }}', dest: '{{ ansible_pull_report_scp }}' }
- { name: 'Heartbeat Report', src: '{{ heartbeat_report }}', dest: '{{ heartbeat_report_scp }}' }
- { name: 'Lynis Report', src: '{{ lynis_report }}', dest: '{{ lynis_report_scp }}' }
- { name: 'NMap Report', src: '{{ nmap_report }}', dest: '{{ nmap_report_scp }}' }
when: not leet_drive_details.stat.exists
- name: General | Cron | Ansible | Disable Secure Copy Reports
cron:
user: ansible
name: "{{ item.name }}"
job: "As a wise man once said, I'm disabled."
state: absent
#disabled: yes
loop:
- { name: 'Ansible Pull Report' }
- { name: 'Heartbeat Report' }
- { name: 'Lynis Report' }
- { name: 'NMap Report' }
when: leet_drive_details.stat.exists