feat: add ability to sync charts + use offline install for pxc-operator
diff --git a/roles/upload_helm_chart/README.md b/roles/upload_helm_chart/README.md
new file mode 100644
index 0000000..8a33d3e
--- /dev/null
+++ b/roles/upload_helm_chart/README.md
@@ -0,0 +1,7 @@
+# `upload_helm_chart`
+
+This role takes a Helm chart and uploads it from Atmosphere to the remote
+system which is running the Helm commands.
+
+Since we bundle all of the Helm charts into the Ansible collection, we need
+to upload the chart to the remote system before we can install it.
diff --git a/roles/upload_helm_chart/meta/main.yml b/roles/upload_helm_chart/meta/main.yml
new file mode 100644
index 0000000..626ff8f
--- /dev/null
+++ b/roles/upload_helm_chart/meta/main.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.
+
+galaxy_info:
+  author: VEXXHOST, Inc.
+  description: Upload helm charts to remote system
+  license: Apache-2.0
+  min_ansible_version: 5.5.0
+  standalone: false
+  platforms:
+    - name: Ubuntu
+      versions:
+        - focal
diff --git a/roles/upload_helm_chart/tasks/main.yml b/roles/upload_helm_chart/tasks/main.yml
new file mode 100644
index 0000000..7f3f230
--- /dev/null
+++ b/roles/upload_helm_chart/tasks/main.yml
@@ -0,0 +1,7 @@
+- name: Upload Helm chart
+  ansible.builtin.copy:
+    src: "{{ upload_helm_chart_src }}"
+    dest: "{{ upload_helm_chart_dest }}"
+    owner: root
+    group: root
+    mode: 0644