# Default value is to allow redeploy
 redeploy_k8s_env: yes
 
-# Distribute offline rpm repository
-# Default value is to distribute rpm
-deploy_rpm_repository: yes
+# Distribute offline software package (rpm,apt) repository
+deploy_package_repository: yes
 
 # Offline solution is deploying app specific rpm repository and requires some name
 # also for k8s cluster
 
 ---
 - name: Perform common environment setup for nodes
-  hosts: infrastructure, kubernetes
-  tasks:
-    - name: Setup resolv.conf
-      lineinfile:
-        line: "nameserver {{ hostvars[groups.infrastructure[0]].cluster_ip }}"
-        path: /etc/resolv.conf
-        state: present
-        insertbefore: BOF
-      become: yes
-    - name: Add application offline rpm repository
-      yum_repository:
-        name: "{{ app_name }}"
-        file: "{{ app_name | lower }}"
-        description: "{{ app_name }} offline repository"
-        baseurl: "{{ 'http://repo.infra-server/rhel' if 'infrastructure' not in group_names else 'file://' + app_data_path + '/pkg/rhel' }}"
-        gpgcheck: no
-        enabled: yes
-      when: deploy_rpm_repository
-      become: yes
-
-- name: Setup firewall
   hosts: infrastructure, kubernetes
   roles:
+    - package-repository
     - role: firewall
       vars:
         state: disable
 
--- /dev/null
+---
+deploy_package_repository: true
 
--- /dev/null
+---
+- name: Setup resolv.conf for node to find package repository by name from infra
+  lineinfile:
+    line: "nameserver {{ hostvars[groups.infrastructure[0]].cluster_ip }}"
+    path: /etc/resolv.conf
+    state: present
+    insertbefore: BOF
+  become: true
+
+- name: Add application offline package repository
+  yum_repository:
+    name: "{{ app_name }}"
+    file: "{{ app_name | lower }}"
+    description: "{{ app_name | upper }} offline repository"
+    baseurl: "{{ 'http://repo.infra-server/rhel' if 'infrastructure' not in group_names else 'file://' + app_data_path + '/pkg/rhel' }}"
+    gpgcheck: false
+    enabled: true
+  when: deploy_package_repository
+  become: true