Skip to content
Snippets Groups Projects
Select Git revision
  • 6999f198149283691d85076fbbc3ad0d05e13c6b
  • master default protected
  • feat/extensions-token-and-sharing-egi
  • safespring-smallgpu
  • fix/owncloud-missing-safeguard
  • e-infra2
  • ci-megalinter-speedup
  • envri-hub-new-aai
  • egi-b2drop-no-collapse
  • lfs
  • gpu_staging
  • resurrect-testing-ownloud
  • experiments/collab
  • update_claim_group_keys
  • envri-hub
  • enable_rtc
  • eosc-ui
  • future/jupyterhub-5.x
  • versioning
  • eosc-templating
  • staging1-raw-image
21 results

notebooks.yaml

Blame
  • notebooks.yaml 6.03 KiB
    ---
    - name: Notebooks deployments
      hosts: master
      become: true
      tasks:
        - name: Configure helm repo
          shell: |-
            helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
            helm repo add eginotebooks https://egi-federation.github.io/egi-notebooks-chart/
            helm repo update
          when: "'jupyterhub' not in ansible_local.helm_repos | map(attribute='name') | list or
                 'eginotebooks' not in ansible_local.helm_repos | map(attribute='name') | list"
        - name: Get Secrets from Vault for notebooks
          vars:
            name: "{{ item | basename | splitext | first }}"
          set_fact:
            secrets: "{{ secrets|default({}) | combine({name: lookup('community.hashi_vault.hashi_vault', (vault_mount_point, 'deployment-' + name)  | join('/'),
              token_validate=false)}) }}"
          with_fileglob:
            - "../deployments/*.yaml"
        - name: Debug Deployments Secrets
          debug:
            msg: "{{ item.key }} = {{ item.value }}"
          loop: "{{ secrets | dict2items }}"
        - name: Copy config file to master
          vars:
            name: "{{ item | basename | splitext | first }}"
          template:
            src: "{{ item }}"
            dest: "/tmp/{{ item | basename }}"
            mode: 0600
          with_fileglob:
            - "../deployments/*.yaml"
        - name: Deploy/upgrade notebook instance
          vars:
            name: "{{ item | basename | splitext | first }}"
            version: "3.2.1" # app 4.0.2 (2023-11-27)
            monitor_version: "0.3.1"
          shell: |-
            helm status --namespace {{ name }} {{ name }}
            if [ $? -ne 0 ]; then
                helm install --create-namespace --namespace {{ name }} \
                    -f /tmp/{{ item | basename }} --version {{ version }} --timeout 2h \
                     {{ name }} jupyterhub/jupyterhub
            else
                helm upgrade --version {{ version }} -f /tmp/{{ item | basename }} --timeout 2h \
                    --namespace {{ name }} {{ name }} jupyterhub/jupyterhub
            fi
            helm status --namespace {{ name }} {{ name }}-monitor
            if [ $? -ne 0 ]; then
                helm install --namespace {{ name }} \
                    -f /tmp/{{ item | basename }} --version {{ monitor_version }} \
                    {{ name }}-monitor eginotebooks/notebooks-monitor
            else
                helm upgrade --version {{ monitor_version }} \
                    -f /tmp/{{ item | basename }} --namespace {{ name }} \
                    {{ name }}-monitor eginotebooks/notebooks-monitor
            fi
          environment:
            KUBECONFIG: /etc/kubernetes/admin.conf
            PATH: /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
          when: true
          with_fileglob:
            - "../deployments/*.yaml"
    
        - name: Configure secrets management for the hub
          vars:
            name: "{{ item | basename | splitext | first }}"
          shell: |-
            kubectl apply -f - << EOF