diff --git a/.yamllint b/.yamllint
new file mode 100644
index 0000000000000000000000000000000000000000..cca80e2e16c9ee5298e8a5bcf9f77c130fdc3d8e
--- /dev/null
+++ b/.yamllint
@@ -0,0 +1,19 @@
+---
+
+extends: default
+
+rules:
+  comments-indentation:
+    level: warning
+  document-start:
+    level: error
+  empty-lines:
+    max: 1
+  empty-values:
+    forbid-in-flow-mappings: true
+    forbid-in-block-mappings: true
+  line-length:
+    level: warning
+  octal-values:
+    forbid-implicit-octal: true
+    level: warning
diff --git a/tsm-archive/meta/main.yml b/tsm-archive/meta/main.yml
index 24b0e7d3446d80506a543c9f475b20af2fcad780..81ae41114d4b2fa5ceb8731591eeeda1ca83295a 100644
--- a/tsm-archive/meta/main.yml
+++ b/tsm-archive/meta/main.yml
@@ -1,3 +1,4 @@
 ---
+
 dependencies:
   - role: tsm/tsm-client
diff --git a/tsm-archive/tasks/main.yml b/tsm-archive/tasks/main.yml
index 0c490f0c31711d326d6dabd3ba7bb4ce2225332e..01c0ea817841ed4bdeb2238bb005879b2165ee99 100644
--- a/tsm-archive/tasks/main.yml
+++ b/tsm-archive/tasks/main.yml
@@ -2,8 +2,8 @@
 # file: tsm-archive/tasks/main.yml
 
 - name: ensure deployment of our config
-  template: src=dsm.sys.j2 dest=/opt/tivoli/tsm/client/ba/bin/dsm.sys
+  template:
+    src: dsm.sys.j2
+    dest: /opt/tivoli/tsm/client/ba/bin/dsm.sys
   tags:
     - tsm
-    - config
-
diff --git a/tsm-backup/defaults/main.yml b/tsm-backup/defaults/main.yml
index 6e60e6c9387e3e328753c6386a1288f360fd7242..416cf8c66d10fb9528c89bce1c2c5b578eebd9c9 100644
--- a/tsm-backup/defaults/main.yml
+++ b/tsm-backup/defaults/main.yml
@@ -1,4 +1,5 @@
 ---
+
 tsm_backup_domains: ['/']
 tsm_backup_virtual: []
 tsm_backup_includes: []
diff --git a/tsm-backup/meta/main.yml b/tsm-backup/meta/main.yml
index 24b0e7d3446d80506a543c9f475b20af2fcad780..81ae41114d4b2fa5ceb8731591eeeda1ca83295a 100644
--- a/tsm-backup/meta/main.yml
+++ b/tsm-backup/meta/main.yml
@@ -1,3 +1,4 @@
 ---
+
 dependencies:
   - role: tsm/tsm-client
diff --git a/tsm-backup/tasks/main.yml b/tsm-backup/tasks/main.yml
index 2c838b3962d26c73d89b79df996ed5a5c4c71d04..05ecc2532c4f60d1f224d589982e51a7071c7c38 100644
--- a/tsm-backup/tasks/main.yml
+++ b/tsm-backup/tasks/main.yml
@@ -2,28 +2,31 @@
 # file: tsm-backup/tasks/main.yml
 
 - name: ensure systemd service file is available
-  copy: src=dsmc.service dest=/etc/systemd/system/dsmc.service
+  copy:
+    src: dsmc.service
+    dest: /etc/systemd/system/dsmc.service
   notify:
     - reload systemd service files
   tags:
     - tsm
-    - config
-    - service
 
 - meta: flush_handlers
 
 - name: ensure deployment of our config
-  template: src=dsm.sys.j2 dest=/opt/tivoli/tsm/client/ba/bin/dsm.sys
+  template:
+    src: dsm.sys.j2
+    dest: /opt/tivoli/tsm/client/ba/bin/dsm.sys
   notify:
     - restart tsm service
   tags:
     - tsm
-    - config
 
 - name: ensure tsm service is enabled and running
-  service: name=dsmc enabled=yes state=started
+  service:
+    name: dsmc
+    enabled: true
+    state: started
   tags:
     - tsm
-    - service
 
 - meta: flush_handlers
diff --git a/tsm-client/handlers/main.yml b/tsm-client/handlers/main.yml
index 1ac72ff09f26a8b5bac0add8b2a088efb705757f..d11cc062fdc98d3cf96349081a6d10ce914d58a9 100644
--- a/tsm-client/handlers/main.yml
+++ b/tsm-client/handlers/main.yml
@@ -3,4 +3,3 @@
 
 - name: update apt cache
   apt: update_cache=yes
-
diff --git a/tsm-client/tasks/main.yml b/tsm-client/tasks/main.yml
index 26fb073b8d976142c4c1c81fdd8218c6a8f676b1..5b17025b231f235962f698a9c9db4e2a86331027 100644
--- a/tsm-client/tasks/main.yml
+++ b/tsm-client/tasks/main.yml
@@ -2,30 +2,32 @@
 # file: tsm-client/tasks/main.yml
 
 - name: ensure apt https transport is available
-  apt: name=apt-transport-https state=present
+  apt:
+    name: apt-transport-https
+    state: present
   when: tsm_repo|truncate(5, True, '') == "https"
   tags:
     - tsm
-    - repos
-    - packages
 
 - name: ensure repo key is in keyring
-  apt_key: data="{{ lookup('file', tsm_repo_pubkey) }}" state=present
+  apt_key:
+    data: "{{ lookup('file', tsm_repo_pubkey) }}"
+    state: present
   tags:
     - tsm
-    - repos
 
 - name: ensure repo is activated
-  apt_repository: repo="deb [arch=amd64] {{ tsm_repo }}" state=present
+  apt_repository:
+    repo: "deb [arch=amd64] {{ tsm_repo }}"
+    state: present
   notify:
     - update apt cache
   tags:
     - tsm
-    - repos
 
 - meta: flush_handlers
 
-- name: ensure the tsm packages are installed 
+- name: ensure the tsm packages are installed
   apt:
     name:
       - gskssl64
@@ -35,30 +37,41 @@
     state: present
   tags:
     - tsm
-    - packages
 
 - name: ensure there is a log directory
-  file: state=directory path=/var/log/dsm owner=root group=root mode=0750
+  file:
+    state: directory
+    path: /var/log/dsm
+    owner: root
+    group: root
+    mode: '0750'
   tags:
     - tsm
-    - config
 
 - name: ensure special dsmc script is in place
-  copy: src=dsmc dest=/usr/local/bin/dsmc mode=0755 owner=root group=root
+  copy:
+    src: dsmc
+    dest: /usr/local/bin/dsmc
+    mode: '0755'
+    owner: root
+    group: root
   tags:
     - tsm
-    - config
 
 - name: ensure special dsmcert script is in place
-  copy: src=dsmcert dest=/usr/local/bin/dsmcert mode=0755 owner=root group=root
+  copy:
+    src: dsmcert
+    dest: /usr/local/bin/dsmcert
+    mode: '0755'
+    owner: root
+    group: root
   tags:
     - tsm
-    - config
 
 - name: ensure tls anchor certificate is configured
+  # yamllint disable-line rule:line-length
   command: dsmcert -add -server "T-TeleSec GlobalRoot Class 2" -file /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem
   args:
     creates: /opt/tivoli/tsm/client/ba/bin/dsmcert.kdb
   tags:
     - tsm
-    - config