71 lines
1.8 KiB
YAML
71 lines
1.8 KiB
YAML
---
|
|
- name: user check
|
|
delegate_to: localhost
|
|
block:
|
|
|
|
- name: show user vars
|
|
debug:
|
|
msg:
|
|
- "User email:"
|
|
- "{{ jenkins_user}}"
|
|
- "Jenkins Group:"
|
|
- "{{ jenkins_group}}"
|
|
- "SERVER_SUBNET_GROUP:"
|
|
- "{{ SERVER_SUBNET_GROUP }}"
|
|
- "subnet_group_check:"
|
|
- "{{ subnet_group_check }}"
|
|
- "Host IP:"
|
|
- "{{ ansible_ssh_host }}"
|
|
|
|
# Create venv Folder
|
|
- name: create ip venv folder
|
|
file:
|
|
path: "{{ ip_check_folder }}"
|
|
state: directory
|
|
#mode: '0755'
|
|
|
|
# Copy venv files
|
|
- name: copy ip venv files
|
|
copy:
|
|
src: subnet_check/
|
|
dest: "{{ ip_check_folder }}"
|
|
#mode: 0644
|
|
|
|
- name: extract venv
|
|
unarchive:
|
|
src: /var/jenkins_home/ansible-files/programs/ip_check_venv.tar.gz
|
|
dest: "{{ ip_check_folder }}"
|
|
#mode: 0644
|
|
|
|
## build venv
|
|
## commenting and using pre-made archived env to save time
|
|
#- name: build venv
|
|
# pip:
|
|
# virtualenv: "{{ ip_check_folder }}/venv"
|
|
# requirements: "{{ ip_check_folder }}/requirements.txt"
|
|
# virtualenv_command: python3 -m venv
|
|
# state: present
|
|
|
|
# check if IP is restricted
|
|
- name: check for restricted IP
|
|
shell: "{{ ip_check_folder }}/venv/bin/python {{ ip_check_folder }}/ip_check.py {{ ansible_ssh_host }}"
|
|
args:
|
|
chdir: "{{ ip_check_folder }}"
|
|
register: restricted_ip_check
|
|
|
|
- name: display output of this
|
|
debug:
|
|
msg:
|
|
- "{{ restricted_ip_check.cmd }}"
|
|
- "{{ restricted_ip_check.stdout_lines }}"
|
|
|
|
- name: end play if not admin
|
|
when: restricted_ip_check.stdout_lines[0] | bool
|
|
block:
|
|
|
|
- name: display warning
|
|
debug:
|
|
msg: "Warning: Your user account is not authorized to run playbooks on this subnet."
|
|
- meta: end_play
|
|
|
|
... |