Initial commit with basic Molecule

Change-Id: If55c8b62cb219e575857ba5395a48ddac5973e01
diff --git a/roles/helm/tasks/debian.yml b/roles/helm/tasks/debian.yml
new file mode 100644
index 0000000..f6004b0
--- /dev/null
+++ b/roles/helm/tasks/debian.yml
@@ -0,0 +1,34 @@
+# Copyright (c) 2022 VEXXHOST, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+- name: add apt key
+  ansible.builtin.apt_key:
+    url: "{{ helm_repository_apt_key }}"
+    state: present
+
+- name: configure version pinning
+  ansible.builtin.template:
+    src: apt-preferences.j2
+    dest: /etc/apt/preferences.d/helm
+    mode: 0644
+
+- name: Add package repository
+  ansible.builtin.apt_repository:
+    repo: "deb {{ helm_repository_url }} all main"
+    state: present
+
+- name: Install packages
+  ansible.builtin.apt:
+    name: ["helm"]
+    install_recommends: false
diff --git a/roles/helm/tasks/main.yml b/roles/helm/tasks/main.yml
new file mode 100644
index 0000000..d8cadc2
--- /dev/null
+++ b/roles/helm/tasks/main.yml
@@ -0,0 +1,26 @@
+# Copyright (c) 2022 VEXXHOST, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+- name: Gather operating system facts
+  ansible.builtin.setup:
+    gather_subset:
+      - min
+
+- name: Install packages using operating system specific process
+  ansible.builtin.include_tasks: "{{ ansible_os_family | lower }}.yml"
+
+- name: install helm diff
+  kubernetes.core.helm_plugin:
+    plugin_path: https://github.com/databus23/helm-diff
+    state: present
diff --git a/roles/helm/tasks/redhat.yml b/roles/helm/tasks/redhat.yml
new file mode 100644
index 0000000..260a645
--- /dev/null
+++ b/roles/helm/tasks/redhat.yml
@@ -0,0 +1,24 @@
+# Copyright (c) 2022 VEXXHOST, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+- name: Add package repository
+  ansible.builtin.yum:
+    name: "https://harbottle.gitlab.io/harbottle-main/{{ ansible_distribution_major_version }}/x86_64/harbottle-main-release.rpm"
+    disable_gpg_check: true
+    state: present
+
+- name: Install packages
+  ansible.builtin.yum:
+    name: helm
+    state: present