Compare commits

...

8 Commits

13 changed files with 201 additions and 170 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.vscode/

View File

@@ -1,6 +1,7 @@
- hosts: all
- name: Delete installation playbook
hosts: all
gather_facts: true
become:
true
roles:
- delete_installation
- delete_installation

View File

@@ -1,5 +1,18 @@
### Distro vars
klnagent_distrib_local_folder: "/tmp"
kesl_distrib_local_folder: "/tmp"
klnagent_distrib_remote_folder: "/tmp"
kesl_distrib_remote_folder: "/tmp"
kesl_rpm_package_name: "kesl_red.rpm"
kesl_deb_package_name: "kesl_deb.deb"
klnagent_rpm_package_name: "klnagent64-14.0.0-4646.x86_64.rpm"
klnagent_deb_package_name: "klnagent64_14.0.0-4646_amd64.deb"
kesl_answer_file_path: "/tmp/kesl.ini"
klnagent_answer_file_path: "/tmp/klnagent.ini"
kesl_version: "11.4"
### KLNAGENT vars as defined at https://support.kaspersky.com/KSC/14.2/ru-RU/199693.htm
KLNAGENT_SERVER: "" #* Input KSC to connect
KLNAGENT_SERVER: "192.168.103.12" #* Input KSC to connect
KLNAGENT_AUTOINSTALL: "1" #*
EULA_ACCEPTED: "1" #*
KLNAGENT_PROXY_USE: "0"

View File

@@ -1,7 +1,8 @@
---
all:
vars:
ansible_user: marker
#ansible_become_password:
children:
debian:
hosts:

View File

@@ -1,6 +1,7 @@
- hosts: all
- name: Installing only kesl
hosts: all
gather_facts: true
become:
true
roles:
- kesl
- kesl

View File

@@ -1,6 +1,7 @@
- hosts: servers
- name: Installing klnagent playbook
hosts: all
gather_facts: true
become:
true
roles:
- klnagent
- klnagent

View File

@@ -1,41 +1,43 @@
- name: Debian delete pkgs
block:
- name: "Remove previous agent installations"
apt:
name: klnagent64
state: absent
- name: "Remove previous kesl installations"
apt:
name: kesl
state: absent
- name: Debian delete pkgs
when: ansible_facts['os_family'] == 'Debian'
- name: RHEL delete pkgs
block:
- name: "Remove previous agent installations"
dnf:
- name: "Remove previous klnagent installations"
ansible.builtin.apt:
name: klnagent64
state: absent
- name: "Remove previous kesl installations"
dnf:
ansible.builtin.apt:
name: kesl
state: absent
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
- name: "Deleting previous configs from agent"
file:
- name: RHEL delete pkgs
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
block:
- name: "Remove previous agent installations"
ansible.builtin.yum:
name: klnagent64
state: absent
- name: "Remove previous kesl installations"
ansible.builtin.yum:
name: kesl
state: absent
- name: Clear /opt/kaspersky/klnagent64
ansible.builtin.file:
path: "/opt/kaspersky/klnagent64"
state: absent
- file:
- name: Clear /var/opt/kasperksy/klnagent64
ansible.builtin.file:
path: "/var/opt/kasperksy/klnagent64"
state: absent
- name: "Deleting previous configs from kesl"
file:
- name: "Deleting previous configs from /opt/kaspersky/kesl"
ansible.builtin.file:
path: "/opt/kaspersky/kesl"
state: absent
- file:
- name: "Deleting previous configs from /var/opt/kaspersky/kesl"
ansible.builtin.file:
path: "/var/opt/kaspersky/kesl"
state: absent
state: absent

View File

@@ -1,9 +1,9 @@
- name: reload kesl #
service:
- name: Reload kesl
ansible.builtin.service:
name: "kesl"
state: reloaded
- name: restart kesl #
service:
- name: Restart kesl
ansible.builtin.service:
name: "kesl"
state: restarted
state: restarted

View File

@@ -1,54 +1,46 @@
- name: Install KESL to RedHat like OS
block:
- name: "Getting kesl install package to temporary folder"
copy:
src: "/tmp/kesl_red.rpm"
dest: "/tmp"
mode: 0755
- name: "Installing kesl package"
yum:
name: /tmp/kesl_red.rpm
- name: "Deleting distros"
file:
path: "/tmp/klnagent_red.rpm"
state: absent
- name: Install KESL to RedHat like OS
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
- name: Install KESL to Debian like OS
block:
- name: "Getting kesl install package to temporary folder"
copy:
src: "/tmp/kesl_deb.deb"
dest: "/tmp"
mode: 0755
- name: "Installing kesl package"
apt:
deb: /tmp/kesl_deb.deb
- name: "Deleting distros"
file:
path: "/tmp/kesl_deb.deb"
state: absent
ansible.builtin.copy:
src: "{{ kesl_distrib_local_folder }}/{{ kesl_rpm_package_name }}"
dest: "{{ kesl_distrib_remote_folder }}"
mode: "0755"
- name: Installing perl-File-Copy package
ansible.builtin.yum:
name: perl-File-Copy
- name: Installing kesl package
ansible.builtin.yum:
name: "{{ kesl_distrib_remote_folder }}/{{ kesl_rpm_package_name }}"
disable_gpg_check: true
- name: Install KESL to Debian like OS
when: ansible_facts['os_family'] == 'Debian'
block:
- name: Getting kesl install package to temporary folder
ansible.builtin.copy:
src: "{{ kesl_distrib_local_folder }}/{{ kesl_deb_package_name }}"
dest: "{{ kesl_distrib_remote_folder }}"
mode: "0755"
- name: "Installing kesl package"
ansible.builtin.apt:
deb: "{{ kesl_distrib_remote_folder }}/{{ kesl_deb_package_name }}"
- name: Creating answer file for kesl
ansible.builtin.template:
src: kesl.j2
dest: "{{ kesl_answer_file_path }}"
mode: "0644"
- block:
- name: "Creating answer file for kesl"
become: true
template:
src: kesl.j2
dest: /tmp/kesl.ini
mode: 0644
- name: Run configuring kesl
ansible.builtin.command: "/opt/kaspersky/kesl/bin/kesl-setup.pl --autoinstall={{ kesl_answer_file_path }}"
changed_when: false
notify: Restart kesl
- name: "Run configuring kesl"
become: true
shell: "/opt/kaspersky/kesl/bin/kesl-setup.pl --autoinstall=/tmp/kesl.ini"
args:
executable: /bin/bash
notify: restart kesl
- name: "Ensure kesl service is enabled"
become: true
service:
name: kesl
enabled: yes
state: started
- name: Ensure kesl service is enabled and restarted
ansible.builtin.service:
name: kesl
enabled: true
state: restarted

View File

@@ -1,12 +1,24 @@
EULA_AGREED{% if EULA_AGREED %}={{ EULA_AGREED }}{% endif %}
PRIVACY_POLICY_AGREED{% if PRIVACY_POLICY_AGREED %}={{ PRIVACY_POLICY_AGREED }}{% endif %}
USE_KSN{% if USE_KSN %}={{ USE_KSN }}{% endif %}
LOCALE{% if LOCALE %}={{ LOCALE }}{% endif %}
INSTALL_LICENSE{% if INSTALL_LICENSE %}={{ INSTALL_LICENSE }}{% endif %}
UPDATER_SOURCE{% if UPDATER_SOURCE %}={{ UPDATER_SOURCE }}{% endif %}
PROXY_SERVER{% if PROXY_SERVER %}={{ PROXY_SERVER }}{% endif %}
UPDATE_EXECUTE{% if UPDATE_EXECUTE %}={{ UPDATE_EXECUTE }}{% endif %}
KERNEL_SRCS_INSTALL{% if KERNEL_SRCS_INSTALL %}={{ KERNEL_SRCS_INSTALL }}{% endif %}
ADMIN_USER{% if ADMIN_USER %}={{ ADMIN_USER }}{% endif %}
CONFIGURE_SELINUX{% if CONFIGURE_SELINUX %}={{ CONFIGURE_SELINUX }}{% endif %}
USE_GUI{% if USE_GUI %}={{ USE_GUI }}{% endif %}
{% if EULA_AGREED %}EULA_AGREED={{ EULA_AGREED }}{% endif %}
{% if PRIVACY_POLICY_AGREED %}PRIVACY_POLICY_AGREED={{ PRIVACY_POLICY_AGREED }}{% endif %}
{% if USE_KSN %}USE_KSN={{ USE_KSN }}{% endif %}
{% if LOCALE %}LOCALE={{ LOCALE }}{% endif %}
{% if INSTALL_LICENSE %}INSTALL_LICENSE={{ INSTALL_LICENSE }}{% endif %}
{% if UPDATER_SOURCE %}UPDATER_SOURCE={{ UPDATER_SOURCE }}{% endif %}
{% if PROXY_SERVER %}PROXY_SERVER={{ PROXY_SERVER }}{% endif %}
{% if UPDATE_EXECUTE %}UPDATE_EXECUTE={{ UPDATE_EXECUTE }}{% endif %}
{% if KERNEL_SRCS_INSTALL %}KERNEL_SRCS_INSTALL={{ KERNEL_SRCS_INSTALL }}{% endif %}
{% if ADMIN_USER %}ADMIN_USER={{ ADMIN_USER }}{% endif %}
{% if CONFIGURE_SELINUX %}CONFIGURE_SELINUX={{ CONFIGURE_SELINUX }}{% endif %}
{% if USE_GUI %}USE_GUI={{ USE_GUI }}{% endif %}

View File

@@ -1,9 +1,10 @@
- name: reload klnagent #
service:
name: "klnagent64"
---
- name: Reload klnagent #
ansible.builtin.service:
name: klnagent64
state: reloaded
- name: restart klnagent #
service:
name: "klnagent64"
- name: Restart klnagent #
ansible.builtin.service:
name: klnagent64
state: restarted

View File

@@ -1,57 +1,48 @@
- block:
- name: "Remove previous agent installations"
apt:
name: klnagent64
state: absent
---
- name: Installing RPM to RedHat Like
when: ansible_facts['os_family'] == 'RED' or ansible_facts['os_family'] == 'RedHat'
block:
- name: Getting klnagent install package to temporary folder
ansible.builtin.copy:
src: "{{ klnagent_distrib_local_folder }}/{{ klnagent_rpm_package_name }}"
dest: "{{ klnagent_distrib_remote_folder }}"
mode: "0755"
- name: Installing klnagent package
ansible.builtin.yum:
name: "{{ klnagent_distrib_remote_folder }}/{{ klnagent_rpm_package_name }}"
disable_gpg_check: true
- name: "Deleting previous distros from tmp"
file:
path: "/tmp/klnagent"
state: absent
- name: "Deleting previous configs from agent"
file:
path: "/opt/kaspersky/klnagent64"
state: absent
- file:
path: "/var/opt/kasperksy/klnagent64"
state: absent
- name: Installing DEB to Debian Like
when: ansible_facts['os_family'] == 'Debian'
block:
- name: Getting klnagent install package to temporary folder
ansible.builtin.copy:
src: "{{ klnagent_distrib_local_folder }}/{{ klnagent_deb_package_name }}"
dest: "{{ klnagent_distrib_remote_folder }}"
mode: "0755"
- name: Installing klnagent package
ansible.builtin.apt:
deb: "{{ klnagent_distrib_remote_folder }}/{{ klnagent_deb_package_name }}"
- name: "Getting klnagent install package to temporary folder"
copy:
src: "/tmp/klnagent"
dest: "/tmp"
mode: 0755
- name: Creating answer file for klnagent
become: true
ansible.builtin.template:
src: klnagent.j2
dest: "{{ klnagent_answer_file_path }}"
mode: "0644"
- name: "Installing klnagent package"
apt:
deb: /tmp/klnagent/klnagent64_11.0.0-38_amd64.deb
- name: Run configuring klnagent
become: true
ansible.builtin.command: /opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl
environment:
KLAUTOANSWERS: "{{ klnagent_answer_file_path }}"
notify: restart klnagent
changed_when: false
- name: "Deleting distros"
file:
path: "/tmp/klnagent"
state: absent
- block:
- name: "Creating answer file for klnagent"
become: true
template:
src: klnagent.j2
dest: /tmp/klnagent.ini
mode: 0644
- name: "Run configuring klnagent"
become: true
shell: "/opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl"
args:
executable: /bin/bash
environment:
KLAUTOANSWERS: /tmp/klnagent.ini
notify: restart klnagent
- name: "Ensure klnagent service is enabled"
become: true
service:
name: klnagent64
enabled: yes
state: started
- name: Ensure klnagent service is enabled and restarted
become: true
ansible.builtin.service:
name: klnagent64
enabled: true
state: restarted

View File

@@ -1,16 +1,31 @@
KLNAGENT_SERVER{% if KLNAGENT_SERVER %}={{ KLNAGENT_SERVER }}{% endif %}
KLNAGENT_AUTOINSTALL{% if KLNAGENT_AUTOINSTALL %}={{ KLNAGENT_AUTOINSTALL }}{% endif %}
EULA_ACCEPTED{% if EULA_ACCEPTED %}={{ EULA_ACCEPTED }}{% endif %}
KLNAGENT_PROXY_USE{% if KLNAGENT_PROXY_USE %}={{ KLNAGENT_PROXY_USE }}{% endif %}
KLNAGENT_PROXY_ADDRESS{% if KLNAGENT_PROXY_ADDRESS %}={{ KLNAGENT_PROXY_ADDRESS }}{% endif %}
KLNAGENT_PROXY_LOGIN{% if KLNAGENT_PROXY_LOGIN %}={{ KLNAGENT_PROXY_LOGIN }}{% endif %}
KLNAGENT_PROXY_PASSWORD{% if KLNAGENT_PROXY_PASSWORD %}={{ KLNAGENT_PROXY_PASSWORD }}{% endif %}
KLNAGENT_VM_VDI{% if KLNAGENT_VM_VDI %}={{ KLNAGENT_VM_VDI }}{% endif %}
KLNAGENT_VM_OPTIMIZE{% if KLNAGENT_VM_OPTIMIZE %}={{ KLNAGENT_VM_OPTIMIZE }}{% endif %}
KLNAGENT_TAGS{% if KLNAGENT_TAGS %}={{ KLNAGENT_TAGS }}{% endif %}
KLNAGENT_UDP_PORT{% if KLNAGENT_UDP_PORT %}={{ KLNAGENT_UDP_PORT }}{% endif %}
KLNAGENT_PORT{% if KLNAGENT_PORT %}={{ KLNAGENT_PORT }}{% endif %}
KLNAGENT_SSLPORT{% if KLNAGENT_SSLPORT %}={{ KLNAGENT_SSLPORT }}{% endif %}
KLNAGENT_USESSL{% if KLNAGENT_USESSL %}={{ KLNAGENT_USESSL }}{% endif %}
KLNAGENT_GW_MODE{% if KLNAGENT_GW_MODE %}={{ KLNAGENT_GW_MODE }}{% endif %}
KLNAGENT_GW_ADDRESS{% if KLNAGENT_GW_ADDRESS %}={{ KLNAGENT_GW_ADDRESS }}{% endif %}
{% if KLNAGENT_SERVER %}KLNAGENT_SERVER={{ KLNAGENT_SERVER }}{% endif %}
{% if KLNAGENT_AUTOINSTALL %}KLNAGENT_AUTOINSTALL={{ KLNAGENT_AUTOINSTALL }}{% endif %}
{% if EULA_ACCEPTED %}EULA_ACCEPTED={{ EULA_ACCEPTED }}{% endif %}
{% if KLNAGENT_PROXY_USE %}KLNAGENT_PROXY_USE={{ KLNAGENT_PROXY_USE }}{% endif %}
{% if KLNAGENT_PROXY_ADDR %}KLNAGENT_PROXY_ADDR={{ KLNAGENT_PROXY_ADDR }}{% endif %}
{% if KLNAGENT_PROXY_LOGIN %}KLNAGENT_PROXY_LOGIN={{ KLNAGENT_PROXY_LOGIN }}{% endif %}
{% if KLNAGENT_PROXY_PASSWORD %}KLNAGENT_PROXY_PASSWORD={{ KLNAGENT_PROXY_PASSWORD }}{% endif %}
{% if KLNAGENT_VM_VDI %}KLNAGENT_VM_VDI={{ KLNAGENT_VM_VDI }}{% endif %}
{% if KLNAGENT_VM_OPTIMIZE %}KLNAGENT_VM_OPTIMIZE={{ KLNAGENT_VM_OPTIMIZE }}{% endif %}
{% if KLNAGENT_TAGS %}KLNAGENT_TAGS={{ KLNAGENT_TAGS }}{% endif %}
{% if KLNAGENT_UDP_PORT %}KLNAGENT_UDP_PORT={{ KLNAGENT_UDP_PORT }}{% endif %}
{% if KLNAGENT_PORT %}KLNAGENT_PORT={{ KLNAGENT_PORT }}{% endif %}
{% if KLNAGENT_SSLPORT %}KLNAGENT_SSLPORT={{ KLNAGENT_SSLPORT }}{% endif %}
{% if KLNAGENT_USESSL %}KLNAGENT_USESSL={{ KLNAGENT_USESSL }}{% endif %}
{% if KLNAGENT_GW_MODE %}KLNAGENT_GW_MODE={{ KLNAGENT_GW_MODE }}{% endif %}
{% if KLNAGENT_GW_ADDRESS %}KLNAGENT_GW_ADDRESS={{ KLNAGENT_GW_ADDRESS }}{% endif %}