diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..95760a9 --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,11 @@ +galaxy_info: + author: Adrien Reslinger + description: Install Nextcloud in kubernetes cluster + company: Personnal + min_ansible_version: 2.9 + galaxy_tags: [] + license: GPL2 + platforms: + - name: kubernetes + version: + - all diff --git a/tasks/main.yml b/tasks/main.yml index 0c8e79c..c677877 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,64 +1,64 @@ - name: Nextcloud setup block: - - name: Defined Nextcloud repository - kubernetes.core.helm_repository: - name: nextcloud - repo_url: "https://nextcloud.github.io/helm/" + - name: Defined Nextcloud repository + kubernetes.core.helm_repository: + name: nextcloud + repo_url: "https://nextcloud.github.io/helm/" - - name: Deploy Nextcloud - kubernetes.core.helm: - context: "{{ my_context }}" - name: nextcloud - chart_ref: nextcloud/nextcloud - chart_version: "2.12.1" - release_namespace: "nextcloud" - create_namespace: yes - values: - ingress: - enabled: true - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod - traefik.ingress.kubernetes.io/router.entrypoints: web,websecure - traefik.ingress.kubernetes.io/router.middlewares: security_headers@file,compress@file,nextcloud-nextcloud-redirect@kubernetescrd - tls: - - secretName: nextcloud.{{ cluster_domain }} - hosts: - - nextcloud.{{ cluster_domain }} - nextcloud: - host: nextcloud.{{ cluster_domain }} - username: admin - password: "{{ prometheus_grafana_admin_password }}" - mail: + - name: Deploy Nextcloud + kubernetes.core.helm: + context: "{{ my_context }}" + name: nextcloud + chart_ref: nextcloud/nextcloud + chart_version: "2.12.1" + release_namespace: "nextcloud" + create_namespace: true + values: + ingress: enabled: true - fromAddress: nextcloud - domain: "{{ cluster_domain }}" - smtp: - host: "{{ smtp_host }}" - secure: ssl - port: 465 - authtype: LOGIN - name: "{{ smtp_user }}" - password: "{{ smtp_password }}" - persistence: - enabled: true - storageClass: "longhorn" - size: 20Gi - - name: Install Nextcloud Middleware - kubernetes.core.k8s: - state: present - context: "{{ my_context }}" - namespace: "nextcloud" - definition: - apiVersion: traefik.containo.us/v1alpha1 - kind: Middleware - metadata: - name: nextcloud-redirect - namespace: "nextcloud" - spec: - redirectRegex: - permanent: true - regex: "https://(.*)/.well-known/(card|cal)dav" - replacement: "https://${1}/remote.php/dav/" + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + traefik.ingress.kubernetes.io/router.entrypoints: web,websecure + traefik.ingress.kubernetes.io/router.middlewares: security_headers@file,compress@file,nextcloud-nextcloud-redirect@kubernetescrd + tls: + - secretName: nextcloud.{{ cluster_domain }} + hosts: + - nextcloud.{{ cluster_domain }} + nextcloud: + host: nextcloud.{{ cluster_domain }} + username: admin + password: "{{ prometheus_grafana_admin_password }}" + mail: + enabled: true + fromAddress: nextcloud + domain: "{{ cluster_domain }}" + smtp: + host: "{{ smtp_host }}" + secure: ssl + port: 465 + authtype: LOGIN + name: "{{ smtp_user }}" + password: "{{ smtp_password }}" + persistence: + enabled: true + storageClass: "longhorn" + size: 20Gi + - name: Install Nextcloud Middleware + kubernetes.core.k8s: + state: present + context: "{{ my_context }}" + namespace: "nextcloud" + definition: + apiVersion: traefik.containo.us/v1alpha1 + kind: Middleware + metadata: + name: nextcloud-redirect + namespace: "nextcloud" + spec: + redirectRegex: + permanent: true + regex: "https://(.*)/.well-known/(card|cal)dav" + replacement: "https://${1}/remote.php/dav/" tags: - nextcloud \ No newline at end of file