Skip to content
Snippets Groups Projects
Select Git revision
  • 6d9964eba72987eb01897924340f100af7d2beb3
  • master default protected
  • 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
  • token-exchange
21 results

notebooks.yaml

Blame
  • Jaromír Hradil's avatar
    65ad3ca2
    History
    notebooks.yaml 6.70 KiB
    ---
    - name: Notebooks deployments
      hosts: master[0]
      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
          changed_when: true
          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:
            deployment_secrets: "{{ deployment_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: "{{ deployment_secrets | dict2items }}"
        - name: Copy config file to master
          vars:
            name: "{{ item | basename | splitext | first }}"
            secrets: "{{ deployment_secrets[name] }}"
          template:
            src: "{{ item }}"
            dest: "/tmp/{{ item | basename }}"
            mode: 0600
          with_fileglob:
            - "../deployments/*.yaml"
        - name: Deploy/upgrade notebook instance
          vars:
            name: "{{ item | basename | splitext | first }}"
            # keep in sync with ../deployments/*.yaml (original k8s-hub image version)
            version: "4.2.0" # app 5.3.0 (2025-04-16)
          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
          environment:
            KUBECONFIG: /etc/kubernetes/admin.conf
            PATH: /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
          changed_when: true
          when: true
          with_fileglob:
            - "../deployments/*.yaml"
        - name: Deploy/upgrade notebook monitoring instance
          vars:
            name: "{{ item | basename | splitext | first }}"
            monitor_version: "0.3.1"
          shell: |-
            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 }} \