diff --git a/part00-getting-ready/ansible-learning-rollback.yml b/part00-getting-ready/ansible-learning-rollback.yml new file mode 100644 index 0000000..65fd616 --- /dev/null +++ b/part00-getting-ready/ansible-learning-rollback.yml @@ -0,0 +1,22 @@ +--- +- name: Revert devops Account + hosts: all + become: true + gather_facts: False + tasks: + - name: Remove ssh key + authorized_key: + user: devops + key: "{{ lookup('file', lookup('env', 'HOME') + '/.ssh/id_rsa.pub') }}" + state: absent + + - name: Remove account + user: + name: devops + state: absent + remove: yes + + - name: Remove sudo access + file: + path: /etc/sudoers.d/devops + state: absent diff --git a/part00-getting-ready/ansible.cfg b/part00-getting-ready/ansible.cfg index 2b2829f..ca7f88a 100644 --- a/part00-getting-ready/ansible.cfg +++ b/part00-getting-ready/ansible.cfg @@ -1,6 +1,7 @@ [defaults] inventory = inventory remote_user = devops + [privilege_escalation] become = true become_user = root diff --git a/part01-create-user/create-user.yml b/part01-create-user/create-user.yml index 5e5691c..bb227a9 100644 --- a/part01-create-user/create-user.yml +++ b/part01-create-user/create-user.yml @@ -1,6 +1,7 @@ --- - hosts: all become: true + gather_facts: False vars: the_user: "devops" @@ -8,7 +9,7 @@ - name: create-user user: name: "{{ the_user }}" - groups: root,wheel + groups: root shell: /bin/bash state: present create_home: yes @@ -20,9 +21,16 @@ ssh_key_bits: 2048 ssh_key_file: .ssh/id_rsa + - name: Copy local SSH public key to target + authorized_key: + user: "{{ the_user }}" + state: present + manage_dir: yes + key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}" + - name: set password user: name: "{{ the_user }}" password: "password" password_expire_min: 14 - password_expire_max: 60 + password_expire_max: 60 \ No newline at end of file diff --git a/part02-update-linux/ansible.cfg b/part02-update-linux/ansible.cfg new file mode 100644 index 0000000..b22c534 --- /dev/null +++ b/part02-update-linux/ansible.cfg @@ -0,0 +1,7 @@ +[defaults] +inventory = inventory + +[privilage_esclation] +become=True +become_method=sudo +become_user=root \ No newline at end of file diff --git a/part02-update-linux/update-linux/README.md b/part02-update-linux/update-linux/README.md index ae2cf2d..cf50323 100644 --- a/part02-update-linux/update-linux/README.md +++ b/part02-update-linux/update-linux/README.md @@ -20,6 +20,9 @@ Including an example of how to use your role (for instance, with variables passe ansible-playbook play.yml [ --limit server-ip ] +Testing: + ansible-playbook update-linux/tests/test.yml -i update-linux/tests/inventory -u $(whoami) --ask-become-pass + ## License MIT diff --git a/part02-update-linux/update-linux/meta/main.yml b/part02-update-linux/update-linux/meta/main.yml index edfde8f..dd3a7dc 100644 --- a/part02-update-linux/update-linux/meta/main.yml +++ b/part02-update-linux/update-linux/meta/main.yml @@ -16,8 +16,4 @@ galaxy_info: - dnf - yum -dependencies: - - apt - - apt-get - - dnf - - yum +dependencies: [] \ No newline at end of file diff --git a/part02-update-linux/update-linux/tests/inventory b/part02-update-linux/update-linux/tests/inventory index 878877b..05614f6 100644 --- a/part02-update-linux/update-linux/tests/inventory +++ b/part02-update-linux/update-linux/tests/inventory @@ -1,2 +1 @@ -localhost - +localhost ansible_connection=local \ No newline at end of file diff --git a/part02-update-linux/update-linux/tests/test.yml b/part02-update-linux/update-linux/tests/test.yml index 28fb777..d0fdaef 100644 --- a/part02-update-linux/update-linux/tests/test.yml +++ b/part02-update-linux/update-linux/tests/test.yml @@ -1,5 +1,31 @@ --- - hosts: localhost + become: true remote_user: root - roles: - - update-linux + gather_facts: true + + tasks: + - name: Mock update for RedHat Family - yum + debug: + msg: "Would update all packages on RedHat using yum" + when: + - ansible_os_family == 'RedHat' + - ansible_pkg_mgr == 'yum' + + - name: Mock update for RedHat Family - dnf + debug: + msg: "Would update all packages on RedHat using dnf" + when: + - ansible_os_family == 'RedHat' + - ansible_pkg_mgr == 'dnf' + + - name: Mock update for Debian Family + debug: + msg: "Would update all packages on Debian using apt" + when: + - ansible_os_family == 'Debian' + + handlers: + - name: reboot_machine + debug: + msg: "Handler would reboot machine if needed" diff --git a/part08-create-cronjob/ansible-learning.yml b/part08-create-cronjob/ansible-learning.yml index 9ed1aab..84ab377 100644 --- a/part08-create-cronjob/ansible-learning.yml +++ b/part08-create-cronjob/ansible-learning.yml @@ -2,6 +2,9 @@ - hosts: Servers gather_facts: no become: yes + vars: + job_path: "/usr/local/bin/check-memory.sh" + log_path: "/var/log/check-memory.log" roles: - - create-cronjob + - create-cronjob \ No newline at end of file diff --git a/part08-create-cronjob/ansible.cfg b/part08-create-cronjob/ansible.cfg new file mode 100644 index 0000000..b372660 --- /dev/null +++ b/part08-create-cronjob/ansible.cfg @@ -0,0 +1,7 @@ +[defaults] +inventory = inventories + +[privilage_esclation] +become=True +become_method=sudo +become_user=root \ No newline at end of file diff --git a/part08-create-cronjob/create-cronjob/tasks/configure.yml b/part08-create-cronjob/create-cronjob/tasks/configure.yml index a869f82..60fa607 100644 --- a/part08-create-cronjob/create-cronjob/tasks/configure.yml +++ b/part08-create-cronjob/create-cronjob/tasks/configure.yml @@ -1,3 +1,9 @@ +- name: Copy memory check script to remote host + copy: + src: files/check-memory.sh + dest: "{{ job_path }}" + mode: '0755' + - name: Install cronjob cron: name: Check host memory @@ -7,5 +13,4 @@ month: "*" weekday: "*" job: "{{ job_path }} >> {{ log_path }} 2>&1" - user: root - + user: root \ No newline at end of file diff --git a/part08-create-cronjob/create-cronjob/tasks/main.yml b/part08-create-cronjob/create-cronjob/tasks/main.yml index 29a5e30..61fd929 100644 --- a/part08-create-cronjob/create-cronjob/tasks/main.yml +++ b/part08-create-cronjob/create-cronjob/tasks/main.yml @@ -1 +1 @@ -- include: configure.yml +- include_tasks: configure.yml \ No newline at end of file diff --git a/part08-create-cronjob/create-cronjob/vars/main.yml b/part08-create-cronjob/create-cronjob/vars/main.yml deleted file mode 100644 index 235bf0d..0000000 --- a/part08-create-cronjob/create-cronjob/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -log_path: "/home/rojin/Desktop/cron.log" -job_path: "/home/rojin/Desktop/check-memory.sh" diff --git a/part11-redis-install/ansible.cfg b/part11-redis-install/ansible.cfg new file mode 100644 index 0000000..b372660 --- /dev/null +++ b/part11-redis-install/ansible.cfg @@ -0,0 +1,7 @@ +[defaults] +inventory = inventories + +[privilage_esclation] +become=True +become_method=sudo +become_user=root \ No newline at end of file diff --git a/part11-redis-install/redis-install/tasks/main.yml b/part11-redis-install/redis-install/tasks/main.yml index 8407849..35a1f83 100644 --- a/part11-redis-install/redis-install/tasks/main.yml +++ b/part11-redis-install/redis-install/tasks/main.yml @@ -1,3 +1,3 @@ -- include: apt_update.yml -- include: install.yml -- include: configure.yml +- include_tasks: apt_update.yml +- include_tasks: install.yml +- include_tasks: configure.yml \ No newline at end of file diff --git a/part12-rabbitmq-install/ansible.cfg b/part12-rabbitmq-install/ansible.cfg new file mode 100644 index 0000000..b372660 --- /dev/null +++ b/part12-rabbitmq-install/ansible.cfg @@ -0,0 +1,7 @@ +[defaults] +inventory = inventories + +[privilage_esclation] +become=True +become_method=sudo +become_user=root \ No newline at end of file diff --git a/part12-rabbitmq-install/rabbitmq-install/tasks/main.yml b/part12-rabbitmq-install/rabbitmq-install/tasks/main.yml index 8407849..35a1f83 100644 --- a/part12-rabbitmq-install/rabbitmq-install/tasks/main.yml +++ b/part12-rabbitmq-install/rabbitmq-install/tasks/main.yml @@ -1,3 +1,3 @@ -- include: apt_update.yml -- include: install.yml -- include: configure.yml +- include_tasks: apt_update.yml +- include_tasks: install.yml +- include_tasks: configure.yml \ No newline at end of file diff --git a/part13-zabbix-agent-install/ansible.cfg b/part13-zabbix-agent-install/ansible.cfg new file mode 100644 index 0000000..b372660 --- /dev/null +++ b/part13-zabbix-agent-install/ansible.cfg @@ -0,0 +1,7 @@ +[defaults] +inventory = inventories + +[privilage_esclation] +become=True +become_method=sudo +become_user=root \ No newline at end of file diff --git a/part13-zabbix-agent-install/zabbix-agent-install/tasks/main.yml b/part13-zabbix-agent-install/zabbix-agent-install/tasks/main.yml index fdb17cf..bca1e74 100644 --- a/part13-zabbix-agent-install/zabbix-agent-install/tasks/main.yml +++ b/part13-zabbix-agent-install/zabbix-agent-install/tasks/main.yml @@ -1,3 +1,3 @@ --- -- include: install.yml -- include: configure.yml +- include_tasks: install.yml +- include_tasks: configure.yml diff --git a/part14-tomcat-install/ansible.cfg b/part14-tomcat-install/ansible.cfg new file mode 100644 index 0000000..b372660 --- /dev/null +++ b/part14-tomcat-install/ansible.cfg @@ -0,0 +1,7 @@ +[defaults] +inventory = inventories + +[privilage_esclation] +become=True +become_method=sudo +become_user=root \ No newline at end of file diff --git a/part14-tomcat-install/inventories/hosts b/part14-tomcat-install/inventories/hosts new file mode 100644 index 0000000..0e0c999 --- /dev/null +++ b/part14-tomcat-install/inventories/hosts @@ -0,0 +1,2 @@ +[Servers] +test ansible_host=127.0.0.1 \ No newline at end of file diff --git a/part14-tomcat-install/main.yml b/part14-tomcat-install/main.yml new file mode 100644 index 0000000..5c5db68 --- /dev/null +++ b/part14-tomcat-install/main.yml @@ -0,0 +1,10 @@ +--- +- hosts: Servers + gather_facts: no + become: yes + vars: + tomcat_url: "https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz" + tomcat_path: "/opt/apache-tomcat-9.0.50" + + tasks: + - include_tasks: tomcat-playbook.yml \ No newline at end of file diff --git a/part14-tomcat-install/vars-main.yml b/part14-tomcat-install/vars-main.yml deleted file mode 100644 index df6d317..0000000 --- a/part14-tomcat-install/vars-main.yml +++ /dev/null @@ -1,2 +0,0 @@ -tomcat_url: "https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz" -tomcat_path: "/opt/apache-tomcat-9.0.50"