Use fluxcd instead of vanilla helm
diff --git a/roles/openstack_helm_designate/meta/main.yml b/roles/openstack_helm_designate/meta/main.yml
index ed691c4..a5b4d47 100644
--- a/roles/openstack_helm_designate/meta/main.yml
+++ b/roles/openstack_helm_designate/meta/main.yml
@@ -21,9 +21,3 @@
     - name: Ubuntu
       versions:
         - focal
-
-dependencies:
-  - role: helm_repository
-    vars:
-      helm_repository_name: "{{ openstack_helm_designate_chart_repo_name }}"
-      helm_repository_repo_url: "{{ openstack_helm_designate_chart_repo_url }}"
diff --git a/roles/openstack_helm_designate/tasks/main.yml b/roles/openstack_helm_designate/tasks/main.yml
index 4ba7c7e..155f891 100644
--- a/roles/openstack_helm_designate/tasks/main.yml
+++ b/roles/openstack_helm_designate/tasks/main.yml
@@ -16,18 +16,64 @@
   ansible.builtin.include_role:
     name: openstack_helm_endpoints
   vars:
-    openstack_helm_endpoints_repo_name: "{{ openstack_helm_designate_chart_repo_name }}"
-    openstack_helm_endpoints_repo_url: "{{ openstack_helm_designate_chart_repo_url }}"
-    openstack_helm_endpoints_chart: "{{ openstack_helm_designate_chart_name }}"
+    openstack_helm_endpoints_repo_name: openstack-helm
+    openstack_helm_endpoints_repo_url: https://tarballs.opendev.org/openstack/openstack-helm/
+    openstack_helm_endpoints_chart: designate
 
 - name: Deploy Helm chart
-  kubernetes.core.helm:
-    name: "{{ openstack_helm_designate_chart_name }}"
-    chart_ref: "{{ openstack_helm_designate_chart_repo_name }}/{{ openstack_helm_designate_chart_name }}"
-    chart_version: 0.2.7
-    release_namespace: openstack
-    kubeconfig: /etc/kubernetes/admin.conf
-    values: "{{ _openstack_helm_designate_values | combine(openstack_helm_designate_values, recursive=True) }}"
+  kubernetes.core.k8s:
+    state: present
+    definition:
+      - apiVersion: source.toolkit.fluxcd.io/v1beta2
+        kind: HelmRepository
+        metadata:
+          name: openstack-helm
+          namespace: openstack
+        spec:
+          interval: 60s
+          url: https://tarballs.opendev.org/openstack/openstack-helm/
+
+      - apiVersion: v1
+        kind: Secret
+        metadata:
+          name: atmosphere-designate
+          namespace: openstack
+        stringData:
+          values.yaml: "{{ _openstack_helm_designate_values | combine(openstack_helm_designate_values, recursive=True) | to_nice_yaml }}"
+
+      - apiVersion: helm.toolkit.fluxcd.io/v2beta1
+        kind: HelmRelease
+        metadata:
+          name: designate
+          namespace: openstack
+        spec:
+          interval: 60s
+          chart:
+            spec:
+              chart: designate
+              version: 0.2.7
+              sourceRef:
+                kind: HelmRepository
+                name: openstack-helm
+          install:
+            disableWait: true
+          upgrade:
+            disableWait: true
+          valuesFrom:
+            - kind: Secret
+              name: atmosphere-designate
+            - kind: Secret
+              name: percona-xtradb
+              valuesKey: root
+              targetPath: endpoints.oslo_db.auth.admin.password
+            - kind: Secret
+              name: rabbitmq-designate-default-user
+              valuesKey: username
+              targetPath: endpoints.oslo_messaging.auth.admin.username
+            - kind: Secret
+              name: rabbitmq-designate-default-user
+              valuesKey: password
+              targetPath: endpoints.oslo_messaging.auth.admin.password
 
 - name: Create Ingress
   ansible.builtin.include_role: