--- /dev/null
+extends: default
+
+rules:
+  braces:
+    max-spaces-inside: 1
+    level: error
+  brackets:
+    max-spaces-inside: 1
+    level: error
+  line-length: disable
+  truthy: disable
 
 ---
 timesync: {}
 chrony:
-  servers: "{{ timesync.servers | default([hostvars[groups.infrastructure[0]].cluster_ip]) }}" # chronyd's NTP servers
-  slewclock: "{{ timesync.slewclock | default(false) }}" # chronyd's makestep property
-  timezone: "{{ timesync.timezone | default('Universal') }}" # Timezone name according to tz database
+  servers: "{{ timesync.servers | default([hostvars[groups.infrastructure[0]].cluster_ip]) }}"  # chronyd's NTP servers
+  slewclock: "{{ timesync.slewclock | default(false) }}"  # chronyd's makestep property
+  timezone: "{{ timesync.timezone | default('Universal') }}"  # Timezone name according to tz database
   makestep: '1 -1'
-  maxjitter: 10 # Max allowed jitter if using infra as time source as it may by unstable due to pretending stratum 1 time source
+  maxjitter: 10  # Max allowed jitter if using infra as time source as it may by unstable due to pretending stratum 1 time source
   initstepslew: 30
   conf:
     RedHat:
 
--- /dev/null
+---
+dependency:
+  name: galaxy
+driver:
+  name: docker
+lint:
+  name: yamllint
+platforms:
+  - name: infra_host
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - infrastructure
+  - name: node0
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - kubernetes
+provisioner:
+  name: ansible
+  lint:
+    name: ansible-lint
+  env:
+    ANSIBLE_ROLES_PATH: ../../../../test/roles
+verifier:
+  name: testinfra
+  lint:
+    name: flake8
+  options:
+    v: 1
 
--- /dev/null
+---
+- name: Converge infrastructure hosts
+  hosts: infrastructure
+  roles:
+    - chrony
+
+- name: Converge kubernetes hosts
+  hosts: kubernetes
+  roles:
+    - chrony
 
--- /dev/null
+---
+- name: Setup all hosts for playing chrony role
+  hosts: all
+
+  roles:
+    - prepare-chrony
 
--- /dev/null
+---
+dependency:
+  name: galaxy
+driver:
+  name: docker
+lint:
+  name: yamllint
+platforms:
+  - name: infra_host-ubuntu
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-ubuntu}:${PREBUILD_DISTRO_VERSION:-18.04}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - infrastructure
+  - name: node0-ubuntu
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-ubuntu}:${PREBUILD_DISTRO_VERSION:-18.04}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - kubernetes
+provisioner:
+  name: ansible
+  lint:
+    name: ansible-lint
+  env:
+    ANSIBLE_ROLES_PATH: ../../../../test/roles
+  playbooks:
+    prepare: ../default/prepare.yml
+    converge: ../default/playbook.yml
+verifier:
+  name: testinfra
+  lint:
+    name: flake8
 
--- /dev/null
+---
+- name: Install required packages
+  package:
+    name: "{{ item }}"
+    state: present
+  loop: "{{ packages }}"
 
--- /dev/null
+---
+packages:
+  - chrony
+  - tzdata