diff --git a/manifests/init.pp b/manifests/init.pp
new file mode 100644
index 0000000000000000000000000000000000000000..8345e96ec17f995800e184ac5fe1fdbecbc5806b
--- /dev/null
+++ b/manifests/init.pp
@@ -0,0 +1,28 @@
+# @summary A short summary of the purpose of this class
+#
+# A description of what this class does
+#
+# @example
+#   include vacceval
+class vacceval {
+  firewalld_service {'Allow http in the liu Zone':
+    ensure  => present,
+    zone    => 'liu',
+    service => 'http',
+  }
+  firewalld_service {'Allow https in the liu Zone':
+    ensure  => present,
+    zone    => 'liu',
+    service => 'https',
+  }
+  firewalld_service {'Allow http in the public Zone':
+    ensure  => present,
+    zone    => 'public',
+    service => 'http',
+  }
+  firewalld_service {'Allow https in the public Zone':
+    ensure  => present,
+    zone    => 'public',
+    service => 'https',
+  }
+}
diff --git a/manifests/site.pp b/manifests/site.pp
deleted file mode 100644
index 46051439bf15b916fe068f596061a95c92189b59..0000000000000000000000000000000000000000
--- a/manifests/site.pp
+++ /dev/null
@@ -1,5 +0,0 @@
-node default {
-  exec { "Test ":
-    command => '/bin/echo Hello World > /tmp/hello.txt'
-  }
-}
diff --git a/pdk.yaml b/pdk.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4bef4bd0f902390cfeb13e968d1879c74963b50e
--- /dev/null
+++ b/pdk.yaml
@@ -0,0 +1,2 @@
+---
+ignore: []
diff --git a/spec/classes/vacceval_spec.rb b/spec/classes/vacceval_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..2a8c5e8abea88c34d6af97720875c2d9d3d57c7e
--- /dev/null
+++ b/spec/classes/vacceval_spec.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe 'vacceval' do
+  on_supported_os.each do |os, os_facts|
+    context "on #{os}" do
+      let(:facts) { os_facts }
+
+      it { is_expected.to compile }
+    end
+  end
+end