diff --git a/.idea/php.xml b/.idea/php.xml index 1e85238..3536281 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -1,9 +1,24 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ansible-5/roles/prod.k3s/defaults/main.yml b/ansible-5/roles/prod.k3s/defaults/main.yml index 90f7685..5ea6e57 100644 --- a/ansible-5/roles/prod.k3s/defaults/main.yml +++ b/ansible-5/roles/prod.k3s/defaults/main.yml @@ -39,4 +39,10 @@ apps: state: present namespace: stashapp mariadb: + enabled: false namespace: mariadb + gitea: + enabled: true + namespace: gitea + state: present + diff --git a/ansible-5/roles/prod.k3s/files/gitea/values.yaml b/ansible-5/roles/prod.k3s/files/gitea/values.yaml new file mode 100644 index 0000000..5a5aa04 --- /dev/null +++ b/ansible-5/roles/prod.k3s/files/gitea/values.yaml @@ -0,0 +1,30 @@ +--- +# values file for gitea helm chart +replicaCount: 1 +ingress: + enabled: true + hosts: + - host: git.xai-corp.net + paths: + - path: / + pathType: Prefix +persistence: + enabled: true + +postgresql: + enabled: false + +gitea: + config: + APP_NAME: "Gitea: With a cup of tea, for 2." + server: + ROOT_URL: https://git.xai-corp.net + database: + HOST: mysql:3306 + PATH: /data/gitea/gitea.db + DB_TYPE: sqlite3 + USER: rmorgan + PASSWD: rom105 + SSL_MODE: disable + repository: + ROOT: /data/git/repositories diff --git a/ansible-5/roles/prod.k3s/tasks/deployments/gitea.yaml b/ansible-5/roles/prod.k3s/tasks/deployments/gitea.yaml new file mode 100644 index 0000000..c0370b7 --- /dev/null +++ b/ansible-5/roles/prod.k3s/tasks/deployments/gitea.yaml @@ -0,0 +1,47 @@ +--- +#deployment tasks for gitea + +- name: Create a namespace for gitea + k8s: + kubeconfig: "/etc/rancher/k3s/k3s.yaml" + name: "{{apps.gitea.namespace}}" + api_version: v1 + kind: Namespace + state: "{{apps.gitea.state}}" + become: true + +- name: create persistent volume resources + kubernetes.core.k8s: + kubeconfig: "/etc/rancher/k3s/k3s.yaml" + state: "{{apps.gitea.state}}" + definition: "{{ lookup('template', item) | from_yaml }}" + loop: + - gitea/pv.yaml + - gitea/pv-claim.yaml + become: true + + +- name: Install gitea globally available + block: + - name: Add gitea chart helm repo + local_action: + module: kubernetes.core.helm_repository + name: gitea-charts + repo_url: https://dl.gitea.io/charts/ + + - name: load variables files/gitea/values.yaml + ansible.builtin.include_vars: + file: files/gitea/values.yaml + name: release_values + + - name: Install gitea Release + local_action: + module: kubernetes.core.helm + release_state: "{{apps.gitea.state}}" + name: gitea + namespace: "{{apps.gitea.namespace}}" + create_namespace: yes + update_repo_cache: True + chart_ref: gitea-charts/gitea + values: "{{release_values}}" + wait: true diff --git a/ansible-5/roles/prod.k3s/tasks/main.yml b/ansible-5/roles/prod.k3s/tasks/main.yml index b395592..5daa805 100644 --- a/ansible-5/roles/prod.k3s/tasks/main.yml +++ b/ansible-5/roles/prod.k3s/tasks/main.yml @@ -19,6 +19,9 @@ #- name: deploy mariadb # include_tasks: deployments/mariadb.yaml +- name: deploy gitea + include_tasks: deployments/gitea.yaml + when: apps.gitea.enabled #----------------------------------------------------- #- include_tasks: mariadb.yaml diff --git a/ansible-5/roles/prod.k3s/templates/gitea/pv-claim.yaml b/ansible-5/roles/prod.k3s/templates/gitea/pv-claim.yaml new file mode 100644 index 0000000..c1d1e23 --- /dev/null +++ b/ansible-5/roles/prod.k3s/templates/gitea/pv-claim.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data-gitea-0 + namespace: "{{apps.gitea.namespace}}" +spec: + storageClassName: manual + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/ansible-5/roles/prod.k3s/templates/gitea/pv.yaml b/ansible-5/roles/prod.k3s/templates/gitea/pv.yaml new file mode 100644 index 0000000..46c8384 --- /dev/null +++ b/ansible-5/roles/prod.k3s/templates/gitea/pv.yaml @@ -0,0 +1,17 @@ +--- +# persistent volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: gitea-pv-local + labels: + type: local +spec: + storageClassName: manual + capacity: + storage: 100Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/opt/data/gitea" +