summaryrefslogtreecommitdiff
path: root/ansible/roles
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles')
-rw-r--r--ansible/roles/adcs01/tasks/cleanup.yaml3
-rw-r--r--ansible/roles/adcs01/tasks/init.yaml18
-rw-r--r--ansible/roles/adcs01/tasks/install_software.yaml3
-rw-r--r--ansible/roles/adcs01/tasks/join_domain.yaml13
-rw-r--r--ansible/roles/adcs01/tasks/main.yaml40
-rw-r--r--ansible/roles/adcs01/tasks/reboot.yaml3
-rw-r--r--ansible/roles/adcs01/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/adcs01/tasks/setup_adcs.yaml7
-rw-r--r--ansible/roles/adcs01/tasks/setup_adcs_esc.yaml8
-rw-r--r--ansible/roles/dc01/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/mssql01/tasks/cleanup.yaml3
-rw-r--r--ansible/roles/mssql01/tasks/init.yaml9
-rw-r--r--ansible/roles/mssql01/tasks/install_software.yaml3
-rw-r--r--ansible/roles/mssql01/tasks/join_domain.yaml13
-rw-r--r--ansible/roles/mssql01/tasks/main.yaml34
-rw-r--r--ansible/roles/mssql01/tasks/reboot.yaml3
-rw-r--r--ansible/roles/mssql01/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/mssql01/tasks/setup_mssql.yaml7
18 files changed, 172 insertions, 1 deletions
diff --git a/ansible/roles/adcs01/tasks/cleanup.yaml b/ansible/roles/adcs01/tasks/cleanup.yaml
new file mode 100644
index 0000000..0e59407
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/cleanup.yaml
@@ -0,0 +1,3 @@
+- name: execute cleanup.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\cleanup.ps1
diff --git a/ansible/roles/adcs01/tasks/init.yaml b/ansible/roles/adcs01/tasks/init.yaml
new file mode 100644
index 0000000..418bb5d
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/init.yaml
@@ -0,0 +1,18 @@
+- name: execute init.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\init.ps1
+
+- name: create C:\Program Files\WindowsPowerShell\Modules\ADCSTemplate
+ win_file:
+ path: C:\Program Files\WindowsPowerShell\Modules\ADCSTemplate
+ state: directory
+
+- name: upload ADCSTemplate module
+ ansible.builtin.copy:
+ src: ../../../files/adcs/ADCSTemplate
+ dest: C:\Program Files\WindowsPowerShell\Modules\ADCSTemplate
+
+- name: upload adcs templates
+ ansible.builtin.copy:
+ src: ../../../files/adcs/templates
+ dest: C:\setup
diff --git a/ansible/roles/adcs01/tasks/install_software.yaml b/ansible/roles/adcs01/tasks/install_software.yaml
new file mode 100644
index 0000000..a5018a8
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/install_software.yaml
@@ -0,0 +1,3 @@
+- name: execute install-software.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\install-software.ps1
diff --git a/ansible/roles/adcs01/tasks/join_domain.yaml b/ansible/roles/adcs01/tasks/join_domain.yaml
new file mode 100644
index 0000000..6736ba2
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/join_domain.yaml
@@ -0,0 +1,13 @@
+- name: join domain
+ ansible.windows.win_domain_membership:
+ dns_domain_name: "{{ main_domain_name }}"
+ domain_admin_user: "{{ main_domain_name }}\\Administrator"
+ domain_admin_password: "{{ default_win_password }}"
+ state: domain
+ register: domain_state
+
+- name: reboot
+ win_reboot:
+ reboot_timeout: 3600
+ when: domain_state.reboot_required
+
diff --git a/ansible/roles/adcs01/tasks/main.yaml b/ansible/roles/adcs01/tasks/main.yaml
new file mode 100644
index 0000000..e3f8923
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/main.yaml
@@ -0,0 +1,40 @@
+- name: wait for winrm to be available
+ ansible.builtin.wait_for:
+ host: "{{ ansible_host }}"
+ port: "{{ ansible_port }}"
+ timeout: 300
+ delegate_to: localhost
+
+- name: execute init.ps1
+ import_tasks: init.yaml
+
+- name: set hostname
+ import_tasks: set_hostname.yaml
+
+- name: reboot after hostname change
+ import_tasks: reboot.yaml
+
+- name: join domain and reboot
+ import_tasks: join_domain.yaml
+
+- name: execute setup-adcs.ps1
+ import_tasks: setup_adcs.yaml
+
+- name: reboot after adcs setup
+ import_tasks: reboot.yaml
+
+- name: pause 5 minutes for adcs setup to complete
+ pause:
+ minutes: 5
+
+- name: execute setup-adcs-esc.ps1
+ import_tasks: setup_adcs_esc.yaml
+
+- name: reboot after adcs esc setup
+ import_tasks: reboot.yaml
+
+- name: execute install-software.ps1
+ import_tasks: install_software.yaml
+
+- name: execute cleanup.ps1
+ import_tasks: cleanup.yaml
diff --git a/ansible/roles/adcs01/tasks/reboot.yaml b/ansible/roles/adcs01/tasks/reboot.yaml
new file mode 100644
index 0000000..a7266d0
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/reboot.yaml
@@ -0,0 +1,3 @@
+- name: reboot
+ win_reboot:
+ reboot_timeout: 3600
diff --git a/ansible/roles/adcs01/tasks/set_hostname.yaml b/ansible/roles/adcs01/tasks/set_hostname.yaml
new file mode 100644
index 0000000..141268d
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/set_hostname.yaml
@@ -0,0 +1,2 @@
+- name: set hostname
+ win_shell: Rename-Computer -NewName "{{ main_adcs01_hostname }}" -Force
diff --git a/ansible/roles/adcs01/tasks/setup_adcs.yaml b/ansible/roles/adcs01/tasks/setup_adcs.yaml
new file mode 100644
index 0000000..9c6140e
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/setup_adcs.yaml
@@ -0,0 +1,7 @@
+- name: setup adcs
+ ansible.windows.win_powershell:
+ script: C:\scripts\setup-adcs.ps1
+ parameters:
+ DomainName: "{{ main_domain_name }}"
+ Username: "Administrator"
+ Password: "{{ default_win_password }}"
diff --git a/ansible/roles/adcs01/tasks/setup_adcs_esc.yaml b/ansible/roles/adcs01/tasks/setup_adcs_esc.yaml
new file mode 100644
index 0000000..352d698
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/setup_adcs_esc.yaml
@@ -0,0 +1,8 @@
+- name: setup adcs templates
+ win_command: powershell.exe -ExecutionPolicy Bypass -File C:\scripts\setup-adcs-esc.ps1 -DomainName "{{ main_domain_name }}"
+ become: yes
+ become_method: runas
+ become_user: "{{ main_domain_name }}\\Administrator"
+ vars:
+ ansible_become_password: "{{ default_win_password }}"
+
diff --git a/ansible/roles/dc01/tasks/set_hostname.yaml b/ansible/roles/dc01/tasks/set_hostname.yaml
index 5ad01b2..282d0cd 100644
--- a/ansible/roles/dc01/tasks/set_hostname.yaml
+++ b/ansible/roles/dc01/tasks/set_hostname.yaml
@@ -1,2 +1,2 @@
- name: set hostname
- ansible.windows.win_shell: Rename-Computer -NewName "{{ main_dc01_hostname }}" -Force
+ win_shell: Rename-Computer -NewName "{{ main_dc01_hostname }}" -Force
diff --git a/ansible/roles/mssql01/tasks/cleanup.yaml b/ansible/roles/mssql01/tasks/cleanup.yaml
new file mode 100644
index 0000000..0e59407
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/cleanup.yaml
@@ -0,0 +1,3 @@
+- name: execute cleanup.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\cleanup.ps1
diff --git a/ansible/roles/mssql01/tasks/init.yaml b/ansible/roles/mssql01/tasks/init.yaml
new file mode 100644
index 0000000..a75d6cc
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/init.yaml
@@ -0,0 +1,9 @@
+- name: execute init.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\init.ps1
+
+- name: copy mssql installer
+ ansible.builtin.copy:
+ src: files/SQL2019-SSEI-Expr.exe
+ dest: C:\setup\SQL2019-SSEI-Expr.exe
+
diff --git a/ansible/roles/mssql01/tasks/install_software.yaml b/ansible/roles/mssql01/tasks/install_software.yaml
new file mode 100644
index 0000000..a5018a8
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/install_software.yaml
@@ -0,0 +1,3 @@
+- name: execute install-software.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\install-software.ps1
diff --git a/ansible/roles/mssql01/tasks/join_domain.yaml b/ansible/roles/mssql01/tasks/join_domain.yaml
new file mode 100644
index 0000000..6736ba2
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/join_domain.yaml
@@ -0,0 +1,13 @@
+- name: join domain
+ ansible.windows.win_domain_membership:
+ dns_domain_name: "{{ main_domain_name }}"
+ domain_admin_user: "{{ main_domain_name }}\\Administrator"
+ domain_admin_password: "{{ default_win_password }}"
+ state: domain
+ register: domain_state
+
+- name: reboot
+ win_reboot:
+ reboot_timeout: 3600
+ when: domain_state.reboot_required
+
diff --git a/ansible/roles/mssql01/tasks/main.yaml b/ansible/roles/mssql01/tasks/main.yaml
new file mode 100644
index 0000000..3822369
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/main.yaml
@@ -0,0 +1,34 @@
+- name: wait for winrm to be available
+ ansible.builtin.wait_for:
+ host: "{{ ansible_host }}"
+ port: "{{ ansible_port }}"
+ timeout: 300
+ delegate_to: localhost
+
+- name: execute init.ps1
+ import_tasks: init.yaml
+
+- name: set hostname
+ import_tasks: set_hostname.yaml
+
+- name: reboot after hostname change
+ import_tasks: reboot.yaml
+
+- name: join domain and reboot
+ import_tasks: join_domain.yaml
+
+- name: execute setup-mssql.ps1
+ import_tasks: setup_mssql.yaml
+
+- name: reboot after mssql setup
+ import_tasks: reboot.yaml
+
+- name: pause 5 minutes for mssql setup to complete
+ pause:
+ minutes: 5
+
+- name: execute install-software.ps1
+ import_tasks: install_software.yaml
+
+- name: execute cleanup.ps1
+ import_tasks: cleanup.yaml
diff --git a/ansible/roles/mssql01/tasks/reboot.yaml b/ansible/roles/mssql01/tasks/reboot.yaml
new file mode 100644
index 0000000..a7266d0
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/reboot.yaml
@@ -0,0 +1,3 @@
+- name: reboot
+ win_reboot:
+ reboot_timeout: 3600
diff --git a/ansible/roles/mssql01/tasks/set_hostname.yaml b/ansible/roles/mssql01/tasks/set_hostname.yaml
new file mode 100644
index 0000000..de974a4
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/set_hostname.yaml
@@ -0,0 +1,2 @@
+- name: set hostname
+ win_shell: Rename-Computer -NewName "{{ main_mssql01_hostname }}" -Force
diff --git a/ansible/roles/mssql01/tasks/setup_mssql.yaml b/ansible/roles/mssql01/tasks/setup_mssql.yaml
new file mode 100644
index 0000000..4602242
--- /dev/null
+++ b/ansible/roles/mssql01/tasks/setup_mssql.yaml
@@ -0,0 +1,7 @@
+- name: setup mssql
+ ansible.windows.win_powershell:
+ script: C:\scripts\setup-mssql.ps1
+ parameters:
+ DomainName: "{{ main_domain_name }}"
+ SvcUsername: svc_mssql01
+ SvcPassword: "{{ default_win_svc_password }}"