diff --git a/egi-devel/accounting_deployments/accounting-config.yaml b/egi-devel/accounting_deployments/accounting-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c4311dd5f763c2732fbcba8199106378103987d1 --- /dev/null +++ b/egi-devel/accounting_deployments/accounting-config.yaml @@ -0,0 +1,27 @@ +accounting: + # schedule: 23 */6 * * * + sitename: EGI-NOTEBOOKS-DEVEL2 + default_fqan: vo.notebooks.egi.eu + # fqan_key: primary_group + fqan: + auger: urn:mace:egi.eu:group:auger:role=member#aai.egi.eu + biomed: urn:mace:egi.eu:group:biomed:role=member#aai.egi.eu + eiscat.se: urn:mace:egi.eu:group:eiscat.se:Dev:role=member#aai.egi.eu,urn:mace:egi.eu:group:eiscat.se:Hub:role=member#aai.egi.eu,urn:mace:egi.eu:group:cc-eiscat3d#sso.egi.eu + eval.c-scale.eu: urn:mace:egi.eu:group:eval.c-scale.eu:role=member#aai.egi.eu + vo.cessda.eduteams.org: urn:mace:egi.eu:group:vo.cessda.eduteams.org:role=member#aai.egi.eu + vo.environmental.egi.eu: urn:mace:egi.eu:group:vo.environmental.egi.eu:role=member#aai.egi.eu + vo.lethe-project.eu: urn:mace:egi.eu:group:vo.lethe-project.eu:role=member#aai.egi.eu,urn:mace:egi.eu:group:vo.lethe-project.eu:lethe-notebooks:role=member#aai.egi.eu + vo.panosc.eu: urn:mace:egi.eu:group:vo.panosc.eu:role=vm_operator#aai.egi.eu + vo.reliance-project.eu: urn:mace:egi.eu:group:vo.reliance-project.eu:role=member#aai.egi.eu + vo.access.egi.eu: urn:mace:egi.eu:group:vo.access.egi.eu:role=member#aai.egi.eu + vo.notebooks.egi.eu: urn:mace:egi.eu:group:vo.notebooks.egi.eu:role=member#aai.egi.eu + # used in devel + fedcloud.egi.eu: urn:mace:egi.eu:www.egi.eu:fedcloud-users:member@egi.eu,urn:mace:egi.eu:group:fedcloud-users#sso.egi.eu,urn:egi.eu:group:fedcloud-users + +debug: true + +prometheus: + filter: "pod=~'jupyter-.*'" + +storage: + apelSpool: /accounting/ssm diff --git a/egi-devel/playbooks/accounting.yaml b/egi-devel/playbooks/accounting.yaml new file mode 100644 index 0000000000000000000000000000000000000000..49db3afb0971f162204b1d432c763a5526312cc7 --- /dev/null +++ b/egi-devel/playbooks/accounting.yaml @@ -0,0 +1,56 @@ +--- +# +# HOWTO launch accounting immediately: +# +# kubectl create job accounting-main-manual -n accounting --from cronjob/notebooks-accounting +# kubectl delete job -n accounting accounting-main-manual +# +# kubectl create job accounting-apel-manual -n accounting --from cronjob/notebooks-accounting-ssm +# kubectl delete job -n accounting accounting-apel-manual +# +- name: Accounting deployment + hosts: master[0] + become: true + tasks: + - name: Configure helm repo + shell: |- + helm repo add egi-accounting https://egi-federation.github.io/egi-notebooks-accounting + helm repo update + changed_when: true + when: "'egi-accounting' not in ansible_local.helm_repos | map(attribute='name') | list" + - name: Get credentials from Vault for accounting + set_fact: + secrets: "{{ lookup('community.hashi_vault.hashi_vault', (vault_mount_point, 'accounting') | join('/'), + token_validate=false) }}" + - name: Get accounting installation ID from Vault + set_fact: + secrets: "{{ secrets | combine(lookup('community.hashi_vault.hashi_vault', (vault_mount_point, 'site-' + site_name) | join('/'), + token_validate=false)) }}" + - name: Debug accounting secrets + debug: + msg: "{{ item.key }} = {{ item.value }}" + loop: "{{ secrets | dict2items }}" + - name: Copy config file to master + template: + src: "../accounting_deployments/accounting-config.yaml" + dest: "/tmp/accounting-config.yaml" + mode: 0600 + - name: Deploy/upgrade accounting instance + vars: + name: "notebooks-accounting" + version: "0.0.1-0.dev.git.1.h03f52eb" + shell: |- + helm status --namespace accounting {{ name }} + if [ $? -ne 0 ]; then + helm install --create-namespace --namespace accounting \ + -f /tmp/accounting-config.yaml --version {{ version }} \ + {{ name }} egi-accounting/notebooks-accounting + else + helm upgrade --version {{ version }} -f /tmp/accounting-config.yaml \ + --namespace accounting {{ name }} egi-accounting/notebooks-accounting + fi + environment: + KUBECONFIG: /etc/kubernetes/admin.conf + PATH: /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin + changed_when: true + when: true