diff --git a/templates/group-apparmor-tpl.yaml b/templates/group-apparmor-tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..22aa796f7462f12f62a891f6dc4f5d6a09ed538f
--- /dev/null
+++ b/templates/group-apparmor-tpl.yaml
@@ -0,0 +1,74 @@
+job_name: AppArmor tests on {{release_version}} {{pretty}} {{image_date}}
+{% include 'common-boot-tpl.yaml' %}
+
+  - test:
+      timeout:
+        minutes: 180
+      namespace: system
+      name: apparmor-tests
+      definitions:
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/sanity-check.yaml
+          name: sanity-check
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor.yaml
+          name: apparmor
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-basic-profiles.yaml
+          name: apparmor-basic-profiles
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-chaiwala-system.yaml
+          name: apparmor-chaiwala-system
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-dbus.yaml
+          name: apparmor-dbus
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-folks.yaml
+          name: apparmor-folks
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-functional-demo.yaml
+          name: apparmor-functional-demo
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-gstreamer1-0.yaml
+          name: apparmor-gstreamer1-0
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-pulseaudio.yaml
+          name: apparmor-pulseaudio
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-tumbler.yaml
+          name: apparmor-tumbler
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-utils.yaml
+          name: apparmor-utils
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-geoclue.yaml
+          name: apparmor-geoclue
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: apparmor/apparmor-tracker.yaml
+          name: apparmor-tracker
diff --git a/templates/group-common-tpl.yaml b/templates/group-common-tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0fda66f9b00dad8f808e2b678455b89e692c9767
--- /dev/null
+++ b/templates/group-common-tpl.yaml
@@ -0,0 +1,109 @@
+job_name: Common tests on {{release_version}} {{pretty}} {{image_date}}
+{% include 'common-boot-tpl.yaml' %}
+
+  - test:
+      timeout:
+        minutes: 180
+      namespace: system
+      name: common-tests
+      definitions:
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/sanity-check.yaml
+          name: sanity-check
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/boot-no-crashes.yaml
+          name: boot-no-crashes
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/boot-performance.yaml
+          name: boot-performance
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: dbus/dbus-installed-tests.yaml
+          name: dbus-installed-tests
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: dbus/check-dbus-services.yaml
+          name: check-dbus-services
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: dbus/dbus-dos-reply-time.yaml
+          name: dbus-dos-reply-time
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/cgroups-resource-control.yaml
+          name: cgroups-resource-control
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/connman.yaml
+          name: connman
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/connman-new-supplicant.yaml
+          name: connman-new-supplicant
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/polkit-parsing.yaml
+          name: polkit-parsing
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/firewall.yaml
+          name: firewall
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/gettext-i18n.yaml
+          name: gettext-i18n
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/glib-gio-fs.yaml
+          name: glib-gio-fs
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/grilo.yaml
+          name: grilo
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/gstreamer1-0-decode.yaml
+          name: gstreamer1-0-decode
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/gupnp-services.yaml
+          name: gupnp-services
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/librest.yaml
+          name: librest
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/libsoup.yaml
+          name: libsoup
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/tracker-indexing-local-storage.yaml
+          name: tracker-indexing-local-storage
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/tumbler-thumbnailing.yaml
+          name: tumbler-thumbnailing
diff --git a/templates/group-folks-tpl.yaml b/templates/group-folks-tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b80342272bca2183d8f768b799df76d6529c2a94
--- /dev/null
+++ b/templates/group-folks-tpl.yaml
@@ -0,0 +1,54 @@
+job_name: Folks tests on {{release_version}} {{pretty}} {{image_date}}
+{% include 'common-boot-tpl.yaml' %}
+
+  - test:
+      timeout:
+        minutes: 180
+      namespace: system
+      name: folks-tests
+      definitions:
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/sanity-check.yaml
+          name: sanity-check
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/create-abstract-sync-database.yaml
+          name: create-abstract-sync-database
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/folks-alias-persistence.yaml
+          name: folks-alias-persistence
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/folks-eds.yaml
+          name: folks-eds
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/folks-extended-info.yaml
+          name: folks-extended-info
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/folks-metacontacts.yaml
+          name: folks-metacontacts
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/folks-metacontacts-antilinking.yaml
+          name: folks-metacontacts-antilinking
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/folks-search.yaml
+          name: folks-search
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: folks/folks-telepathy.yaml
+          name: folks-telepathy
diff --git a/templates/group-modules-tpl.yaml b/templates/group-modules-tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b5a905444facd780b88c8f55ef322c290b81df77
--- /dev/null
+++ b/templates/group-modules-tpl.yaml
@@ -0,0 +1,54 @@
+job_name: Modules tests on {{release_version}} {{pretty}} {{image_date}}
+{% include 'common-boot-tpl.yaml' %}
+
+  - test:
+      timeout:
+        minutes: 180
+      namespace: system
+      name: modules-tests
+      definitions:
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/sanity-check.yaml
+          name: sanity-check
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/boot-no-crashes.yaml
+          name: boot-no-crashes
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: modules/canterbury.yaml
+          name: canterbury
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: modules/didcot.yaml
+          name: didcot
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: modules/frome.yaml
+          name: frome
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: modules/newport.yaml
+          name: newport
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: modules/rhosydd.yaml
+          name: rhosydd
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: modules/ribchester.yaml
+          name: ribchester
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: modules/traprain.yaml
+          name: traprain
diff --git a/templates/group-sdk-tpl.yaml b/templates/group-sdk-tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8c4be8017f25e9713df2cba98ab16f357b68e954
--- /dev/null
+++ b/templates/group-sdk-tpl.yaml
@@ -0,0 +1,39 @@
+job_name: SDK tests on {{release_version}} {{pretty}} {{image_date}}
+{% include 'common-boot-tpl.yaml' %}
+
+  - test:
+      timeout:
+        minutes: 180
+      namespace: system
+      name: sdk-tests
+      definitions:
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/sanity-check.yaml
+          name: sanity-check
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: sdk/folks-sync-only.yaml
+          name: folks-sync-only
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: sdk/sdk-code-analysis-tools.yaml
+          name: sdk-code-analysis-tools
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: sdk/sdk-debug-tools.yaml
+          name: sdk-debug-tools
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: sdk/sdk-performance-tools.yaml
+          name: sdk-performance-tools
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: sdk/telepathy-ring.yaml
+          name: telepathy-ring
diff --git a/templates/minimal-tpl.yaml b/templates/minimal-tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6965cb8ecead847345332de04173165cfa7632b2
--- /dev/null
+++ b/templates/minimal-tpl.yaml
@@ -0,0 +1,2 @@
+job_name: Simple boot tests on {{release_version}} {{pretty}} {{image_date}}
+{% include 'common-boot-tpl.yaml' %}
diff --git a/templates/profiles.yaml b/templates/profiles.yaml
index faaa16715e87f4294362d14f504d6ea0185cb7dc..26740a8f4ed2977e09587c11ca952917463b19df 100644
--- a/templates/profiles.yaml
+++ b/templates/profiles.yaml
@@ -13,6 +13,12 @@ main-profile:
     image_variant: collabora
     baseurl: "https://images.apertis.org"
     bundle_stream: "/public/personal/apertis-validator/"
+    boot_method: grub
+    boot_commands:
+      - ramdisk
+    needs_dtb: false
+    arch: amd64
+    visibility: public
 
 profiles:
   - name: apertis-17.12-daily-minnowboard-max-minimal
diff --git a/templates/sqlite-tpl.yaml b/templates/sqlite-tpl.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aa9933a81e5555f814596cb7651d5304fca96afc
--- /dev/null
+++ b/templates/sqlite-tpl.yaml
@@ -0,0 +1,20 @@
+job_name: Sqlite tests on {{release_version}} {{pretty}} {{image_date}}
+
+{% include 'common-boot-tpl.yaml' %}
+
+  - test:
+      timeout:
+        minutes: 130
+      namespace: system
+      name: sdk-tests
+      definitions:
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/sanity-check.yaml
+          name: sanity-check
+        - repository: https://git.apertis.org/git/apertis-tests.git
+          revision: master
+          from: git
+          path: common/sqlite.yaml
+          name: sqlite