Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .github/workflows/tests_role_ravendb_node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,19 @@ jobs:
- name: Run Debian unsecured scenario
working-directory: roles/ravendb_node
run: molecule test -s unsecured


- name: Run Debian-11 unsecured scenario
working-directory: roles/ravendb_node
run: molecule test -s debian11

- name: Run Debian-12 unsecured scenario
working-directory: roles/ravendb_node
run: molecule test -s debian12

- name: Run Debian-13 unsecured scenario
working-directory: roles/ravendb_node
run: molecule test -s debian13

- name: Run Debian update scenario
working-directory: roles/ravendb_node
run: molecule test -s update
Expand Down
16 changes: 16 additions & 0 deletions roles/ravendb_node/molecule/debian11/converge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
- name: Unsecured
hosts: all
tasks:
- name: "Include ravendb_node"
include_role:
name: ravendb.ravendb.ravendb_node
vars:
ravendb_state: present
ravendb_version: latest
ravendb_version_minor: 6.2
ravendb_release_channel: stable
ravendb_arch: linux-x64
ravendb_settings_preset: default
ravendb_settings_override:
Logs.Mode: "Information"
32 changes: 32 additions & 0 deletions roles/ravendb_node/molecule/debian11/molecule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
dependency:
name: galaxy
driver:
name: docker
port_bindings:
'8080': 80
'38888': 38888
'44443': 443
platforms:
- name: debian-11
image: docker.io/geerlingguy/docker-debian11-ansible:latest
privileged: true
command: /sbin/init
volumes:
- '/sys/fs/cgroup:/sys/fs/cgroup:rw'
tmpfs:
- /run
- /tmp
cgroupns_mode: host
provisioner:
name: ansible
log: true
scenario:
name: debian11
test_sequence:
- destroy
- create
- prepare
- converge
- verify
verifier:
name: ansible
11 changes: 11 additions & 0 deletions roles/ravendb_node/molecule/debian11/prepare.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
- name: Prepare
hosts: all
become: true
gather_facts: yes
tasks:
- name: Ensure adduser present
ansible.builtin.apt:
name: adduser
state: present
update_cache: yes
when: ansible_facts.os_family | lower == 'debian'
65 changes: 65 additions & 0 deletions roles/ravendb_node/molecule/debian11/verify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
- name: Verify
hosts: all
gather_facts: false
tasks:

- name: Load settings.json
become: true
slurp:
src: "/etc/ravendb/settings.json"
register: settings_file

- name: Decode and parse settings.json
set_fact:
settings: "{{ settings_file['content'] | b64decode | from_json }}"

- name: Assert that settings override was applied
ansible.builtin.assert:
that:
- settings['Logs.Mode'] == "Information"

- name: Assert it's unsecured
ansible.builtin.assert:
that:
- settings['ServerUrl'] is not regex('^https:')

- name: Get service status
become: true
ansible.builtin.systemd:
name: ravendb.service
state: started
register: service_status

- name: Assert service state
ansible.builtin.assert:
that:
- service_status.status['ActiveState'] == 'active'

- name: Check if can get RavenDB studio HTML
ansible.builtin.uri:
url: http://localhost:8080/studio/index.html

- name: Get databases
ansible.builtin.uri:
url: http://localhost:8080/databases
register: databases

- name: Set random DB name
set_fact:
db_name: "db{{ 1000000 | random }}"

- name: Create a database
ansible.builtin.uri:
url: "http://localhost:8080/admin/databases?name={{ db_name }}&replicationFactor=1"
method: PUT
body_format: json
body: |
{
"DatabaseName": "{{ db_name }}",
"Settings": {},
"Disabled": false,
"Encrypted": false,
"Topology": { "DynamicNodesDistribution": false }
}
status_code: 201
16 changes: 16 additions & 0 deletions roles/ravendb_node/molecule/debian12/converge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
- name: Unsecured
hosts: all
tasks:
- name: "Include ravendb_node"
include_role:
name: ravendb.ravendb.ravendb_node
vars:
ravendb_state: present
ravendb_version: latest
ravendb_version_minor: 6.2
ravendb_release_channel: stable
ravendb_arch: linux-x64
ravendb_settings_preset: default
ravendb_settings_override:
Logs.Mode: "Information"
32 changes: 32 additions & 0 deletions roles/ravendb_node/molecule/debian12/molecule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
dependency:
name: galaxy
driver:
name: docker
port_bindings:
'8080': 80
'38888': 38888
'44443': 443
platforms:
- name: debian-12
image: docker.io/geerlingguy/docker-debian12-ansible:latest
privileged: true
command: /usr/sbin/init
volumes:
- '/sys/fs/cgroup:/sys/fs/cgroup:rw'
tmpfs:
- /run
- /tmp
cgroupns_mode: host
provisioner:
name: ansible
log: true
scenario:
name: debian12
test_sequence:
- destroy
- create
- prepare
- converge
- verify
verifier:
name: ansible
11 changes: 11 additions & 0 deletions roles/ravendb_node/molecule/debian12/prepare.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
- name: Prepare
hosts: all
become: true
gather_facts: yes
tasks:
- name: Ensure adduser present
ansible.builtin.apt:
name: adduser
state: present
update_cache: yes
when: ansible_facts.os_family | lower == 'debian'
65 changes: 65 additions & 0 deletions roles/ravendb_node/molecule/debian12/verify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
- name: Verify
hosts: all
gather_facts: false
tasks:

- name: Load settings.json
become: true
slurp:
src: "/etc/ravendb/settings.json"
register: settings_file

- name: Decode and parse settings.json
set_fact:
settings: "{{ settings_file['content'] | b64decode | from_json }}"

- name: Assert that settings override was applied
ansible.builtin.assert:
that:
- settings['Logs.Mode'] == "Information"

- name: Assert it's unsecured
ansible.builtin.assert:
that:
- settings['ServerUrl'] is not regex('^https:')

- name: Get service status
become: true
ansible.builtin.systemd:
name: ravendb.service
state: started
register: service_status

- name: Assert service state
ansible.builtin.assert:
that:
- service_status.status['ActiveState'] == 'active'

- name: Check if can get RavenDB studio HTML
ansible.builtin.uri:
url: http://localhost:8080/studio/index.html

- name: Get databases
ansible.builtin.uri:
url: http://localhost:8080/databases
register: databases

- name: Set random DB name
set_fact:
db_name: "db{{ 1000000 | random }}"

- name: Create a database
ansible.builtin.uri:
url: "http://localhost:8080/admin/databases?name={{ db_name }}&replicationFactor=1"
method: PUT
body_format: json
body: |
{
"DatabaseName": "{{ db_name }}",
"Settings": {},
"Disabled": false,
"Encrypted": false,
"Topology": { "DynamicNodesDistribution": false }
}
status_code: 201
16 changes: 16 additions & 0 deletions roles/ravendb_node/molecule/debian13/converge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
- name: Unsecured
hosts: all
tasks:
- name: "Include ravendb_node"
include_role:
name: ravendb.ravendb.ravendb_node
vars:
ravendb_state: present
ravendb_version: latest
ravendb_version_minor: 6.2
ravendb_release_channel: stable
ravendb_arch: linux-x64
ravendb_settings_preset: default
ravendb_settings_override:
Logs.Mode: "Information"
32 changes: 32 additions & 0 deletions roles/ravendb_node/molecule/debian13/molecule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
dependency:
name: galaxy
driver:
name: docker
port_bindings:
'8080': 80
'38888': 38888
'44443': 443
platforms:
- name: debian-13
image: docker.io/geerlingguy/docker-debian13-ansible:latest
privileged: true
command: /usr/sbin/init
volumes:
- '/sys/fs/cgroup:/sys/fs/cgroup:rw'
tmpfs:
- /run
- /tmp
cgroupns_mode: host
provisioner:
name: ansible
log: true
scenario:
name: debian13
test_sequence:
- destroy
- create
- prepare
- converge
- verify
verifier:
name: ansible
11 changes: 11 additions & 0 deletions roles/ravendb_node/molecule/debian13/prepare.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
- name: Prepare
hosts: all
become: true
gather_facts: yes
tasks:
- name: Ensure adduser present
ansible.builtin.apt:
name: adduser
state: present
update_cache: yes
when: ansible_facts.os_family | lower == 'debian'
Loading