diff --git a/.github/workflows/deploy-grafana-dashboards.yaml b/.github/workflows/deploy-grafana-dashboards.yaml
index 8aa99d2d4e..a64a38e63f 100644
--- a/.github/workflows/deploy-grafana-dashboards.yaml
+++ b/.github/workflows/deploy-grafana-dashboards.yaml
@@ -25,7 +25,6 @@ jobs:
- cluster_name: jupyter-meets-the-earth
- cluster_name: leap
- cluster_name: linked-earth
- - cluster_name: m2lines
- cluster_name: meom-ige
- cluster_name: nasa-cryo
- cluster_name: nasa-esdis
diff --git a/.github/workflows/deploy-hubs.yaml b/.github/workflows/deploy-hubs.yaml
index 10b9356a51..f91acf5e3e 100644
--- a/.github/workflows/deploy-hubs.yaml
+++ b/.github/workflows/deploy-hubs.yaml
@@ -189,7 +189,6 @@ jobs:
failure_openscapes: "${{ env.failure_openscapes }}"
failure_pangeo-hubs: "${{ env.failure_pangeo-hubs }}"
failure_utoronto: "${{ env.failure_utoronto }}"
- failure_m2lines: "${{ env.failure_m2lines }}"
failure_linked-earth: "${{ env.failure_linked-earth }}"
failure_awi-ciroh: "${{ env.failure_awi-ciroh }}"
failure_callysto: "${{ env.failure_callysto }}"
diff --git a/config/clusters/2i2c/cluster.yaml b/config/clusters/2i2c/cluster.yaml
index c450f972dc..4151b30592 100644
--- a/config/clusters/2i2c/cluster.yaml
+++ b/config/clusters/2i2c/cluster.yaml
@@ -128,11 +128,3 @@ hubs:
- basehub-common.values.yaml
- mtu.values.yaml
- enc-mtu.secret.values.yaml
- - name: jackeddy
- display_name: "Jack Eddy Symposium"
- domain: jackeddy.2i2c.cloud
- helm_chart: daskhub
- helm_chart_values_files:
- - daskhub-common.values.yaml
- - jackeddy.values.yaml
- - enc-jackeddy.secret.values.yaml
diff --git a/config/clusters/2i2c/jackeddy.values.yaml b/config/clusters/2i2c/jackeddy.values.yaml
deleted file mode 100644
index a222dd89f6..0000000000
--- a/config/clusters/2i2c/jackeddy.values.yaml
+++ /dev/null
@@ -1,164 +0,0 @@
-basehub:
- userServiceAccount:
- annotations:
- iam.gke.io/gcp-service-account: pilot-hubs-jackeddy@two-eye-two-see.iam.gserviceaccount.com
- jupyterhub:
- ingress:
- hosts:
- - jackeddy.2i2c.cloud
- tls:
- - secretName: https-auto-tls
- hosts:
- - jackeddy.2i2c.cloud
- custom:
- 2i2c:
- add_staff_user_ids_to_admin_users: true
- add_staff_user_ids_of_type: "github"
- homepage:
- templateVars:
- org:
- name: Jack Eddy Symposium
- url: https://cpaess.ucar.edu/meetings/4th-eddy-cross-disciplinary-symposium
- logo_url: https://cpaess.ucar.edu/sites/default/files/styles/extra_large/public/2023-08/EddySymposium-900x400.jpg?itok=8qG7Dqi3
- designed_by:
- name: 2i2c
- url: https://2i2c.org
- operated_by:
- name: 2i2c
- url: https://2i2c.org
- funded_by:
- name: ""
- url: ""
- custom_html: NASA's Living with a Star program and UCAR/CPAESS
- singleuser:
- # https://infrastructure.2i2c.org/howto/features/dedicated-nodepool/
- nodeSelector:
- # Applied to all profile options
- 2i2c.org/community: jackeddy
- extraTolerations:
- - key: "2i2c.org/community"
- operator: "Equal"
- value: "jackeddy"
- effect: "NoSchedule"
- defaultUrl: /lab
- extraEnv:
- # https://infrastructure.2i2c.org/howto/features/buckets/
- SCRATCH_BUCKET: gcs://pilot-hubs-jackeddy-scratch/$(JUPYTERHUB_USER)
- PANGEO_SCRATCH: gcs://pilot-hubs-jackeddy-scratch/$(JUPYTERHUB_USER)
- # https://infrastructure.2i2c.org/howto/features/github
- GH_SCOPED_CREDS_CLIENT_ID: "Iv1.37646d01f3f58a80"
- GH_SCOPED_CREDS_APP_URL: https://github.com/apps/jack-eddy-jupyterhub-push-access
- profileList:
- - display_name: "Image and resource allocation"
- description: "Choose the user image and what resources to be allocated for the server"
- slug: only-choice
- profile_options:
- requests:
- # Configuration setup based on https://github.com/2i2c-org/infrastructure/issues/2121.
- # Allocate resources from a n2-highmem-16 node, instead of a
- # n2-highmem-4 node to help reduce startup times.
- # Based on past usages of this hub, it is highly possible it will use notable
- # amounts of RAM.
- # The choice of this node, will avoid putting only two users requesting ~16 GB on
- # a ~32 GB node (if we went with a n2-highmem-4) and will instead allow for
- # at least eight users to fit per node on a n2-highmem-16 machine.
- # ref: https://github.com/2i2c-org/infrastructure/issues/3166#issuecomment-1755630637
- display_name: Resource Allocation
- choices:
- mem_1_9:
- display_name: 1.9 GB RAM, upto 3.75 CPUs
- description: Fastest spinup time
- kubespawner_override:
- mem_guarantee: 1992701952
- mem_limit: 1992701952
- cpu_guarantee: 0.234375
- cpu_limit: 3.75
- node_selector:
- node.kubernetes.io/instance-type: n2-highmem-16
- default: true
- mem_3_7:
- display_name: 3.7 GB RAM, upto 3.75 CPUs
- kubespawner_override:
- mem_guarantee: 3985403904
- mem_limit: 3985403904
- cpu_guarantee: 0.46875
- cpu_limit: 3.75
- node_selector:
- node.kubernetes.io/instance-type: n2-highmem-16
- mem_7_4:
- display_name: 7.4 GB RAM, upto 3.75 CPUs
- kubespawner_override:
- mem_guarantee: 7970807808
- mem_limit: 7970807808
- cpu_guarantee: 0.9375
- cpu_limit: 3.75
- node_selector:
- node.kubernetes.io/instance-type: n2-highmem-16
- mem_14_8:
- display_name: 14.8 GB RAM, upto 3.75 CPUs
- kubespawner_override:
- mem_guarantee: 15941615616
- mem_limit: 15941615616
- cpu_guarantee: 1.875
- cpu_limit: 3.75
- node_selector:
- node.kubernetes.io/instance-type: n2-highmem-16
- mem_29_7:
- display_name: 29.7 GB RAM, upto 3.75 CPUs
- kubespawner_override:
- mem_guarantee: 31883231232
- mem_limit: 31883231232
- cpu_guarantee: 3.75
- cpu_limit: 3.75
- node_selector:
- node.kubernetes.io/instance-type: n2-highmem-16
- mem_60_6:
- display_name: 60.6 GB RAM, upto 15.72 CPUs
- kubespawner_override:
- mem_guarantee: 65105797120
- mem_limit: 65105797120
- cpu_guarantee: 7.86
- cpu_limit: 15.72
- node_selector:
- node.kubernetes.io/instance-type: n2-highmem-16
- mem_121_3:
- display_name: 121.3 GB RAM, upto 15.72 CPUs
- kubespawner_override:
- mem_guarantee: 130211594240
- mem_limit: 130211594240
- cpu_guarantee: 15.72
- cpu_limit: 15.72
- node_selector:
- node.kubernetes.io/instance-type: n2-highmem-16
- image:
- display_name: Image
- # https://infrastructure.2i2c.org/howto/features/allow-unlisted-profile-choice/
- unlisted_choice:
- enabled: True
- display_name: "Custom image"
- validation_regex: "^.+:.+$"
- validation_message: "Must be a publicly available docker image, of form :"
- kubespawner_override:
- image: "{value}"
- choices:
- pangeo:
- display_name: Base Pangeo Notebook
- default: true
- slug: "pangeo"
- kubespawner_override:
- image: "pangeo/pangeo-notebook:2023.10.03"
- hub:
- allowNamedServers: true
- config:
- JupyterHub:
- authenticator_class: github
- GitHubOAuthenticator:
- oauth_callback_url: https://jackeddy.2i2c.cloud/hub/oauth_callback
- allowed_organizations:
- - jack-eddy-symposium
- scope:
- - read:org
- Authenticator:
- admin_users:
- - dan800 # Dan Marsh
- - rmcgranaghan # Ryan McGranaghan
diff --git a/config/clusters/hhmi/common.values.yaml b/config/clusters/hhmi/common.values.yaml
index c6796075c0..9010da5f21 100644
--- a/config/clusters/hhmi/common.values.yaml
+++ b/config/clusters/hhmi/common.values.yaml
@@ -51,6 +51,37 @@ basehub:
- name: MYSQL_ROOT_PASSWORD
value: "tutorial"
defaultUrl: /lab
+ storage:
+ extraVolumeMounts:
+ - name: home
+ mountPath: /home/jovyan/shared-public
+ subPath: _shared-public
+ readOnly: false
+ - name: home
+ mountPath: /home/jovyan/shared-readonly
+ subPath: _shared
+ readOnly: true
+ initContainers:
+ - name: volume-mount-ownership-fix
+ image: busybox:1.36.1
+ command:
+ - sh
+ - -c
+ - id && chown 1000:1000 /home/jovyan /home/jovyan/shared-readonly /home/jovyan/shared-public && ls -lhd /home/jovyan
+ securityContext:
+ runAsUser: 0
+ volumeMounts:
+ - name: home
+ mountPath: /home/jovyan
+ subPath: "{username}"
+ # Mounted without readonly attribute here,
+ # so we can chown it appropriately
+ - name: home
+ mountPath: /home/jovyan/shared-readonly
+ subPath: _shared
+ - name: home
+ mountPath: /home/jovyan/shared-public
+ subPath: _shared-public
profileList:
- display_name: "Loren Frank Lab"
default: true
diff --git a/config/clusters/m2lines/cluster.yaml b/config/clusters/m2lines/cluster.yaml
deleted file mode 100644
index 16d0adfb94..0000000000
--- a/config/clusters/m2lines/cluster.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-name: m2lines
-provider: gcp # https://console.cloud.google.com/kubernetes/clusters/details/us-central1/m2lines-cluster/details?project=m2lines-hub
-gcp:
- key: enc-deployer-credentials.secret.json
- project: m2lines-hub
- cluster: m2lines-cluster
- zone: us-central1
- billing:
- paid_by_us: true
- bigquery:
- project: two-eye-two-see
- dataset: cloud_costs
- billing_id: 0157F7-E3EA8C-25AC3C
-support:
- helm_chart_values_files:
- - support.values.yaml
- - enc-support.secret.values.yaml
-hubs:
- - name: staging
- display_name: "M2LInES (staging)"
- domain: staging.m2lines.2i2c.cloud
- helm_chart: daskhub
- helm_chart_values_files:
- - common.values.yaml
- - staging.values.yaml
- - enc-staging.secret.values.yaml
- - name: prod
- display_name: "M2LInES (prod)"
- domain: m2lines.2i2c.cloud
- helm_chart: daskhub
- helm_chart_values_files:
- - common.values.yaml
- - prod.values.yaml
- - enc-prod.secret.values.yaml
diff --git a/config/clusters/m2lines/common.values.yaml b/config/clusters/m2lines/common.values.yaml
deleted file mode 100644
index 5aeac97390..0000000000
--- a/config/clusters/m2lines/common.values.yaml
+++ /dev/null
@@ -1,163 +0,0 @@
-basehub:
- nfs:
- enabled: true
- pv:
- mountOptions:
- - soft
- - noatime
- # Google FileStore IP
- serverIP: 10.98.223.138
- # Name of Google Filestore share
- baseShareName: /homes/
- jupyterhub:
- custom:
- # Extra mount point for admins to access to all users' home dirs
- # Ref https://2i2c.freshdesk.com/a/tickets/767
- singleuserAdmin:
- extraVolumeMounts:
- - name: home
- mountPath: /home/jovyan/allusers
- readOnly: true
- 2i2c:
- add_staff_user_ids_to_admin_users: true
- add_staff_user_ids_of_type: "github"
- homepage:
- templateVars:
- org:
- name: M²LInES
- url: https://m2lines.github.io/
- logo_url: https://m2lines.github.io/images/newlogo.png
- designed_by:
- name: 2i2c
- url: https://2i2c.org
- operated_by:
- name: 2i2c
- url: https://2i2c.org
- funded_by:
- name: M²LInES
- url: https://m2lines.github.io/
- hub:
- allowNamedServers: true
- config:
- JupyterHub:
- authenticator_class: github
- GitHubOAuthenticator:
- allowed_organizations:
- - m2lines
- scope:
- - read:org
- Authenticator:
- admin_users:
- - rabernat
- - johannag126
- - jbusecke
- singleuser:
- extraFiles:
- jupyter_server_config.json:
- data:
- MappingKernelManager:
- # Cull idle kernels after 24h (24 * 60 * 60), to see if that
- # makes the experience better for research hubs.
- # Ref https://2i2c.freshdesk.com/a/tickets/243
- cull_idle_timeout: 86400
- extraEnv:
- GH_SCOPED_CREDS_CLIENT_ID: "Iv1.1c4d967ffc205f98"
- GH_SCOPED_CREDS_APP_URL: https://github.com/apps/m2lines-pangeo-hub-push-access
- # User image repo: https://github.com/pangeo-data/pangeo-docker-images
- image:
- name: pangeo/pangeo-notebook
- tag: "ebeb9dd"
- profileList:
- # The mem-guarantees are here so k8s doesn't schedule other pods
- # on these nodes. They need to be just under total allocatable
- # RAM on a node, not total node capacity. Values calculated using
- # https://learnk8s.io/kubernetes-instance-calculator
- - display_name: "Small"
- description: 5GB RAM, 2 CPUs
- default: true
- kubespawner_override:
- mem_limit: 7G
- mem_guarantee: 4.5G
- node_selector:
- node.kubernetes.io/instance-type: n1-standard-2
- profile_options: &profile_options
- image:
- display_name: Image
- choices:
- pangeo:
- display_name: Base Pangeo Notebook
- default: true
- slug: "pangeo"
- kubespawner_override:
- image: "pangeo/pangeo-notebook:ebeb9dd"
- tensorflow:
- display_name: Pangeo Tensorflow ML Notebook
- slug: "tensorflow"
- kubespawner_override:
- image: "pangeo/ml-notebook:ebeb9dd"
- pytorch:
- display_name: Pangeo PyTorch ML Notebook
- slug: "pytorch"
- kubespawner_override:
- image: "pangeo/pytorch-notebook:ebeb9dd"
- - display_name: Medium
- description: 11GB RAM, 4 CPUs
- kubespawner_override:
- mem_limit: 15G
- mem_guarantee: 11G
- node_selector:
- node.kubernetes.io/instance-type: n1-standard-4
- profile_options: *profile_options
- - display_name: Large
- description: 24GB RAM, 8 CPUs
- kubespawner_override:
- mem_limit: 30G
- mem_guarantee: 24G
- node_selector:
- node.kubernetes.io/instance-type: n1-standard-8
- profile_options: *profile_options
- - display_name: Huge
- description: 52GB RAM, 16 CPUs
- kubespawner_override:
- mem_limit: 60G
- mem_guarantee: 52G
- node_selector:
- node.kubernetes.io/instance-type: n1-standard-16
- profile_options: *profile_options
- - display_name: Large + GPU
- slug: gpu
- description: 24GB RAM, 8 CPUs
- profile_options:
- image:
- display_name: Image
- choices:
- tensorflow:
- display_name: Pangeo Tensorflow ML Notebook
- slug: "tensorflow"
- kubespawner_override:
- image: "pangeo/ml-notebook:ebeb9dd"
- pytorch:
- display_name: Pangeo PyTorch ML Notebook
- default: true
- slug: "pytorch"
- kubespawner_override:
- image: "pangeo/pytorch-notebook:ebeb9dd"
- kubespawner_override:
- environment:
- NVIDIA_DRIVER_CAPABILITIES: compute,utility
- node_selector:
- cloud.google.com/gke-nodepool: nb-gpu-t4
- mem_limit: 30G
- mem_guarantee: 24G
- extra_resource_limits:
- nvidia.com/gpu: "1"
-dask-gateway:
- gateway:
- backend:
- scheduler:
- cores:
- request: 0.8
- limit: 1
- memory:
- request: 1G
- limit: 2G
diff --git a/config/clusters/m2lines/enc-deployer-credentials.secret.json b/config/clusters/m2lines/enc-deployer-credentials.secret.json
deleted file mode 100644
index f2f84811c7..0000000000
--- a/config/clusters/m2lines/enc-deployer-credentials.secret.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "type": "ENC[AES256_GCM,data:5We+inw6EiSByF0rZe2l,iv:OOP9z15AmOGRxypf8vg09Ex2zQE0Ju/mDmEM3xon8oc=,tag:3OKlhUIGy4/xRdHOuLxudg==,type:str]",
- "project_id": "ENC[AES256_GCM,data:yy0nPiEQe0luocs=,iv:oz0Dvsym1XkHEuv2sU9EeJrhHrFw0gOCH4jhWU70GwY=,tag:zbAlTX9ct8c4AQUFwqmp2Q==,type:str]",
- "private_key_id": "ENC[AES256_GCM,data:a53wwwi8HV2xkjqsVoTirWD4tz01q+ImkvVD3wnJkpPSs0xyi4qxfw==,iv:NR14HhJEYHytORvuhvl/UrWilDuPZ4cjLIxg9urQBQg=,tag:0SaBqCSlJgw2vy71oYKyTg==,type:str]",
- "private_key": "ENC[AES256_GCM,data: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,iv:2QVpE7Co5ArKEG+678NYeL7FRlcyTEiGam/b8vjbUDk=,tag:jncRJtDXlaLWLUFNETGttg==,type:str]",
- "client_email": "ENC[AES256_GCM,data:IUcDKZXYMGRowYvtSoFl9wdGX24CqW/jM/oVrq1sBG/6leKcnt9BKyRzjIb+NtkxNQ==,iv:N6Dl4KNhq9X5pw73qC3UW1apuVxdtaOY2fMLsXRzB/Q=,tag:tb0aSFBz8xxKPSjbZJA3oA==,type:str]",
- "client_id": "ENC[AES256_GCM,data:JEZGqog07AH7//T5W7CkhW+mrMY5,iv:OHCNl5yukVlSSFaUo70+V7oxkQSuQ3kubVPrQIQFwDQ=,tag:NY+sKw1Q0S49OdMGZB1bow==,type:str]",
- "auth_uri": "ENC[AES256_GCM,data:5uT/STJb+lxYaprXetT0jWvl8rWX2sLugVHnwFbRXRk29i9fy2EpUXs=,iv:NSd8Qh2p5ktpynidvA7ojMJyeA982aTeIWTECLmDsRg=,tag:dMFgkU9R6mwrjLIJCqPCxQ==,type:str]",
- "token_uri": "ENC[AES256_GCM,data:iUj/7nsFLBi78w+57Xa1covWhjETJRK2TfnftCzsXjX7Us4=,iv:kErikER0soZAa34c+CUwxtHmid961Xfm84fSMMOQht4=,tag:Y2H0EQ2Y0JPGk4cHz8JBQg==,type:str]",
- "auth_provider_x509_cert_url": "ENC[AES256_GCM,data:wMzuVnh0xL/ntPwRZitpoR1QfgkO+veh0LtF8DRLLYA5ZG60ITvJjoFh,iv:FQrw7+3yNAk7aDPgWvh0UN/zML6JM0q8TP1P/HNlRms=,tag:m0WeLS9bCF+fXEWUWLQlLw==,type:str]",
- "client_x509_cert_url": "ENC[AES256_GCM,data:JC26Ow+nS/RISj645ZPZoW/ngKAeEOtkfuNYSi8VH8QKy6OztJlxsn3/zvZLHKrhl+550oEMhCG6puoI3xiz4SZKT3yjmJhYQEh1+ugq5b4kwA2A1SV9rYuN2KDHeA4gZJUqqjE=,iv:WPwJQKzFGOhydvaSHm9XPhC8m3irk1F0zL0tojmgv88=,tag:bh9ZH/d3otNG7/2TX+Y1oQ==,type:str]",
- "sops": {
- "kms": null,
- "gcp_kms": [
- {
- "resource_id": "projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs",
- "created_at": "2022-04-26T07:06:02Z",
- "enc": "CiQA4OM7eJ7ZQZC6sPtBHtOgNOUidBq8ISVfdMvnCpMVnTftYYcSSQDm5XgWLIx7gMAvpZEYkU+gby54W2ZEl8k9ZFQFxK9u3yvjZZQ/9CUttSRM+ZwP2eNzK0Z9xmcORh3RwrasBnhH9Gx2uyuB5ww="
- }
- ],
- "azure_kv": null,
- "hc_vault": null,
- "age": null,
- "lastmodified": "2022-04-26T07:06:02Z",
- "mac": "ENC[AES256_GCM,data:5Af0EoLt1W6Hs0UFwGzvv6cUSVxzYWdHwI33oI1WIdN1T8L/aiwIg18p6INPh5AzGj4BKqwDlP4gSaaAbwFaIAqzjyOfpi46ysBlU4NtiD1wdUZqGNIXmKV04gRk89Kfc01U372PoMylwWJsdjnAJhD2cbe+H2kqScReHJMa9B8=,iv:xXKrORbhxnvaKGNIiBOFgp0YquC4YficAu8OOyCg1FA=,tag:RS3cp5fDwye8eF/cbXDVhQ==,type:str]",
- "pgp": null,
- "unencrypted_suffix": "_unencrypted",
- "version": "3.7.1"
- }
-}
\ No newline at end of file
diff --git a/config/clusters/m2lines/enc-grafana-token.secret.yaml b/config/clusters/m2lines/enc-grafana-token.secret.yaml
deleted file mode 100644
index 87da8d8d3d..0000000000
--- a/config/clusters/m2lines/enc-grafana-token.secret.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-grafana_token: ENC[AES256_GCM,data:B+I4E9LVyDCl/zBARp0/Vqo5XjyOyAUGXNvi30BBukzVYMzIjE1+6zn4o9hKF/9caqzlLZkQDqmEGNI/hnYp/IGIichcc9OjD+ucmOXz3a2QJ9GnNAjFD6hcQzU=,iv:NpkxkeYdJuX4jsSRHb8X15iE76YGGMq3cDSLRbSyZFg=,tag:XnQSeCvOb1riP1LsQ6qzGA==,type:str]
-sops:
- kms: []
- gcp_kms:
- - resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs
- created_at: "2022-02-24T17:56:52Z"
- enc: CiQA4OM7eA1jS3a2zwDnUXuczQfvJW5u9Zp3QHRgCZjXk1ha/P4SSQDm5XgWif8sOYLkjo9k+hTKISv4PddEGATlvRChHeNZREfg2nreeDYujK6tOdiXplp8Yzv+uWxnxxUvlYPbhvReCDgmuEKLGI0=
- azure_kv: []
- hc_vault: []
- age: []
- lastmodified: "2022-04-27T03:43:54Z"
- mac: ENC[AES256_GCM,data:/WJ6emgXCBFjqJadi7sXgXJGCUgWv3eBEbnzYss9AM3Aws4gnUJ5Se6XobB8ep+Nt6/KCTYnUaSHFX0HGi1J8lyl1WCYsN0OKBQfSPt5ABJ4qI3A6JifOnlf/7EB3Z6TSGCnJ+4s6bupSejRRi54rsOiDnmD8wt99WFMv/IMnYs=,iv:QedXp+0WKPYfSX0MpHL1QLAF5LTtBEorD9efZlcjheY=,tag:8f3iJm6wH/M+pjlTSc5rGQ==,type:str]
- pgp: []
- unencrypted_suffix: _unencrypted
- version: 3.7.1
diff --git a/config/clusters/m2lines/enc-prod.secret.values.yaml b/config/clusters/m2lines/enc-prod.secret.values.yaml
deleted file mode 100644
index 0b7b866fbc..0000000000
--- a/config/clusters/m2lines/enc-prod.secret.values.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-basehub:
- jupyterhub:
- hub:
- config:
- GitHubOAuthenticator:
- client_id: ENC[AES256_GCM,data:9Ck6xNrjH6YXQibljjwV+Pl90QA=,iv:mqf/qY0uOJ1A640AIhetv8ztEQLMboD4nUz2ta7xia4=,tag:JgSJwIzbNIPoA93/mCwxdw==,type:str]
- client_secret: ENC[AES256_GCM,data:kjzpWRgVsXdt/KemCh4ZCnuo/4k342URs4T6CPoCVNh1pD3siiG69A==,iv:vjq3j9kXKY8WkdQ8flmcM687Qdwln3VioKMphwDAMHw=,tag:PMNXUkgjjBtbroketamPiQ==,type:str]
-sops:
- kms: []
- gcp_kms:
- - resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs
- created_at: "2022-02-24T18:31:21Z"
- enc: CiQA4OM7eNU4/NC1GSyOypie5mku2r/szfsjQHdxf5CkEib8PWISSQDm5XgWPd3+MJEgP6vyMdkr+5xZCc0MbF1aoNtwLVU/Z9PKOZsw2UgcoYIAHxpoMCm9aC2mS+qZJyq7N5GnR0xxIc3cGMNybVo=
- azure_kv: []
- hc_vault: []
- age: []
- lastmodified: "2022-04-21T23:43:03Z"
- mac: ENC[AES256_GCM,data:o5+2PJDg7QXH0BkoTfA5Wp/DSp9eEqL1od922Eo0zlzU0CEJiixC8Zk7UJa4U3crrJh8PgsuMFcitSgKrLk2neNz0TzT0R5e4Xnh+/KVn4VCf9gfn/nqRKEqou3mRyuECOSad9oeRBv5uLxJb065Vk4lV8VoonhYATCkT3GnpdE=,iv:eb43lzrERBGakB4gJycc+bINdoM/Pw5ndt0MnbyjfHA=,tag:4ovUvHdIlUS/oeATqpkHtQ==,type:str]
- pgp: []
- unencrypted_suffix: _unencrypted
- version: 3.7.1
diff --git a/config/clusters/m2lines/enc-staging.secret.values.yaml b/config/clusters/m2lines/enc-staging.secret.values.yaml
deleted file mode 100644
index 3d5b79b9a5..0000000000
--- a/config/clusters/m2lines/enc-staging.secret.values.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-basehub:
- jupyterhub:
- hub:
- config:
- GitHubOAuthenticator:
- client_id: ENC[AES256_GCM,data:Zq5gIGURTn520LKB2or6ms9wEYc=,iv:Mj3a6EeQm0KM0/9/sfIB9LiNf40sIR+kteT37LowVGk=,tag:GSjAGvtj8as6Ho+mlElfZg==,type:str]
- client_secret: ENC[AES256_GCM,data:N8ffgXc1JuEnPGdP8tL5iYW2RYclgrLyPmf+ndvm2eNTGK16MUpwKQ==,iv://0l/GqTLZ+wxHyltwb+a66eumTfFveSUJHwSF+g05Y=,tag:n1y/ZHKTrJRRmaD8RW1S8A==,type:str]
-sops:
- kms: []
- gcp_kms:
- - resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs
- created_at: "2022-02-24T18:04:17Z"
- enc: CiQA4OM7eP6diuWK5cq1WJfLBHrUaMLetApVQYdQJjlOFUKSsHASSQDm5XgW8L7w2ZN+LPLHBMIcfpO6YIBeajtpkKFnTdpRgbhgR7+fb9p4HHT8z3H1U7nwKuOaQPtsXj2e8ZPjWr/2tqy6ramzlhU=
- azure_kv: []
- hc_vault: []
- age: []
- lastmodified: "2022-04-21T23:29:26Z"
- mac: ENC[AES256_GCM,data:IJK1wZfjVSgOrcOYC88vSN1lxc/zgQZwzJc/1p5kQyU8HamzOzX76SCFTgA6dv+uNQWZC6rfekrRHIh9fZGBf5X5+gaFnlQREFj0UDJOLSxUtZQo/a1sJezkzI9nB4gv4WJylGbjKBo7p0QLN67vXeJQwBspFGaP2n3y+BGXlaE=,iv:Jtl42eYBWDmeSLCDMTx3Ml03pLTYnlGGS6wYVXate0A=,tag:7UbZe/23JrqhoiMdBgmizw==,type:str]
- pgp: []
- unencrypted_suffix: _unencrypted
- version: 3.7.1
diff --git a/config/clusters/m2lines/enc-support.secret.values.yaml b/config/clusters/m2lines/enc-support.secret.values.yaml
deleted file mode 100644
index 9a2e8033b2..0000000000
--- a/config/clusters/m2lines/enc-support.secret.values.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-prometheusIngressAuthSecret:
- username: ENC[AES256_GCM,data:bisiUHR25ma+Q2MTh8UcjaWDvX/RUVGmAvdfl95ehQ6vmAa0PmMRgZc6pmNwRQSV6+l/D7POI39UaXNCS/mUgg==,iv:See29zO/q0q3xeCij8Gx8Dk1KObVuA2snECw24c8bQc=,tag:osdytedbJLqwYBFwD3GlPg==,type:str]
- password: ENC[AES256_GCM,data:CKBA27Rq5acAl+BrMENZvLcrG0BBNC6VQCKMldyenS6tcwX2yM0ZH3mZLspDlWSuNhyh7UxSK/Ks0pds+olWpQ==,iv:/O8DoKRPWktMFKwJ6IxpVhSpnISnJGiguOkr+CmF+OE=,tag:J4fTMgoV7NtTG8/iIUCW9w==,type:str]
-grafana:
- grafana.ini:
- auth.github:
- client_id: ENC[AES256_GCM,data:AwOgzy07q0befQjbfzk3HYVHW54=,iv:DUjQ1ceqlSMpIdlDVpmpm3ILfrNszWcaD7dvyqZZNdI=,tag:gwQpWYI8gg4uelWQx0Yb/g==,type:str]
- client_secret: ENC[AES256_GCM,data:fCFbmAkCjS59Fr8P8Qx+DxcX5Higkq++GOICB1GyEnV3yMKl9kDjqg==,iv:eJe1meggvTxYSlvoqklEH7+d8Oi+H3qOgdYB0n81rIQ=,tag:nLlxy8pcv9f8e/mKZl1ncg==,type:str]
-sops:
- kms: []
- gcp_kms:
- - resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs
- created_at: "2022-10-28T10:24:36Z"
- enc: CiQA4OM7eEkEE5hlcqPybmYOWbqZJAuksYMnSYYHwqmeljiimJcSSQDuy/p85YMbh9sMf/+H0NY9f60vz8QAuT4/mkTan/zsKLTQFTX66vaFwiYPaKpqVowanzx39SLyIhHSfQHnsGpg/bAFRK23+Os=
- azure_kv: []
- hc_vault: []
- age: []
- lastmodified: "2022-10-28T10:24:36Z"
- mac: ENC[AES256_GCM,data:G5BitI2XFqq+5FwJr52c8kIVvAPkwoYKCvQ7k6gdallcLNFHPJnN7UYXF+TWZXk1cLVxn7NDK56WhujtIuiz+tXe+XUyu1dLnXnZxtI5Rg5HUMmX7/yCD5smpgfa5UsYrd0fRhnXVaPP0V1m/fRJ4C5iQ62jkKFq16uqf7uqoiE=,iv:TMVE109vKpTi8ncgIo0ojgQszsT5P0JXcw/tB32imtM=,tag:MsO9YA9fz6DXylahqzTlpA==,type:str]
- pgp: []
- unencrypted_suffix: _unencrypted
- version: 3.7.3
diff --git a/config/clusters/m2lines/prod.values.yaml b/config/clusters/m2lines/prod.values.yaml
deleted file mode 100644
index 4e2fca7bb9..0000000000
--- a/config/clusters/m2lines/prod.values.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-basehub:
- userServiceAccount:
- annotations:
- iam.gke.io/gcp-service-account: m2lines-prod@m2lines-hub.iam.gserviceaccount.com
- jupyterhub:
- ingress:
- hosts: [m2lines.2i2c.cloud]
- tls:
- - hosts: [m2lines.2i2c.cloud]
- secretName: https-auto-tls
- singleuser:
- extraEnv:
- SCRATCH_BUCKET: gs://m2lines-scratch/$(JUPYTERHUB_USER)
- PANGEO_SCRATCH: gs://m2lines-scratch/$(JUPYTERHUB_USER)
- PERSISTENT_BUCKET: gs://m2lines-persistent/$(JUPYTERHUB_USER)
- PUBLIC_PERSISTENT_BUCKET: gs://m2lines-public-persistent/$(JUPYTERHUB_USER)
- hub:
- config:
- GitHubOAuthenticator:
- oauth_callback_url: https://m2lines.2i2c.cloud/hub/oauth_callback
diff --git a/config/clusters/m2lines/staging.values.yaml b/config/clusters/m2lines/staging.values.yaml
deleted file mode 100644
index 1c435f4711..0000000000
--- a/config/clusters/m2lines/staging.values.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-basehub:
- userServiceAccount:
- annotations:
- iam.gke.io/gcp-service-account: m2lines-staging@m2lines-hub.iam.gserviceaccount.com
- jupyterhub:
- ingress:
- hosts: [staging.m2lines.2i2c.cloud]
- tls:
- - hosts: [staging.m2lines.2i2c.cloud]
- secretName: https-auto-tls
- singleuser:
- extraEnv:
- SCRATCH_BUCKET: gs://m2lines-scratch-staging/$(JUPYTERHUB_USER)
- PANGEO_SCRATCH: gs://m2lines-scratch-staging/$(JUPYTERHUB_USER)
- PERSISTENT_BUCKET: gs://m2lines-persistent-staging/$(JUPYTERHUB_USER)
- hub:
- config:
- GitHubOAuthenticator:
- oauth_callback_url: https://staging.m2lines.2i2c.cloud/hub/oauth_callback
diff --git a/config/clusters/m2lines/support.values.yaml b/config/clusters/m2lines/support.values.yaml
deleted file mode 100644
index a2e4fbddb2..0000000000
--- a/config/clusters/m2lines/support.values.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-grafana:
- grafana.ini:
- server:
- root_url: https://grafana.m2lines.2i2c.cloud/
- auth.github:
- enabled: true
- allowed_organizations: 2i2c-org
- ingress:
- hosts:
- - grafana.m2lines.2i2c.cloud
- tls:
- - secretName: grafana-tls
- hosts:
- - grafana.m2lines.2i2c.cloud
-
-prometheusIngressAuthSecret:
- enabled: true
-
-prometheus:
- server:
- ingress:
- enabled: true
- hosts:
- - prometheus.m2lines.2i2c.cloud
- tls:
- - secretName: prometheus-tls
- hosts:
- - prometheus.m2lines.2i2c.cloud
- resources:
- limits:
- cpu: 2
- memory: 12Gi
diff --git a/config/clusters/nasa-cryo/common.values.yaml b/config/clusters/nasa-cryo/common.values.yaml
index 5ac592082d..5a653c2b58 100644
--- a/config/clusters/nasa-cryo/common.values.yaml
+++ b/config/clusters/nasa-cryo/common.values.yaml
@@ -136,7 +136,7 @@ basehub:
slug: "python"
kubespawner_override:
# Image repo: https://github.com/CryoInTheCloud/hub-image
- image: "quay.io/cryointhecloud/cryo-hub-image:031697343bfc"
+ image: "quay.io/cryointhecloud/cryo-hub-image:84a1cbe7cca2"
rocker:
display_name: R
slug: "rocker"
diff --git a/config/clusters/qcl/common.values.yaml b/config/clusters/qcl/common.values.yaml
index 76a1f9f056..9576780aca 100644
--- a/config/clusters/qcl/common.values.yaml
+++ b/config/clusters/qcl/common.values.yaml
@@ -42,14 +42,17 @@ jupyterhub:
admin_users:
- gizmo404
- jtkmckenna
+ cull:
+ # Disable all culling: https://github.com/2i2c-org/infrastructure/issues/3495
+ enabled: false
singleuser:
extraFiles:
jupyter_server_config.json:
data:
MappingKernelManager:
- # Cull idle kernels after 24h (24 * 60 * 60)
- # Ref https://2i2c.freshdesk.com/a/tickets/1120
- cull_idle_timeout: 86400
+ # Disable all culling: https://github.com/2i2c-org/infrastructure/issues/3495
+ cull_idle_timeout: 0
+ cull_connected: false
profileList:
# NOTE: About node sharing
#
@@ -175,7 +178,7 @@ jupyterhub:
mem_guarantee: 27G
cpu_guarantee: 3.2
cpu_limit: null
- mem_limit: null
+ mem_limit: 27G
- display_name: "n2-highcpu-96: 96 CPU / 96 GB RAM"
description: "Start a container on a dedicated node"
slug: "n2_highcpu_96"
@@ -183,7 +186,7 @@ jupyterhub:
node_selector:
node.kubernetes.io/instance-type: n2-highcpu-96
cpu_limit: null
- mem_limit: null
+ mem_limit: 86G
mem_guarantee: 86G
cpu_guarantee: 9.6
- display_name: "n2-standard-48: 48 CPU / 192 GB RAM"
@@ -195,7 +198,7 @@ jupyterhub:
mem_guarantee: 160G
cpu_guarantee: 4.8
cpu_limit: null
- mem_limit: null
+ mem_limit: 160G
- display_name: "n2-standard-96: 96 CPU / 384 GB RAM"
description: "Start a container on a dedicated node"
slug: "n2_standard_96"
@@ -205,7 +208,7 @@ jupyterhub:
mem_guarantee: 320G
cpu_guarantee: 9.6
cpu_limit: null
- mem_limit: null
+ mem_limit: 320G
# shared-public for collaboration
# See https://2i2c.freshdesk.com/a/tickets/814
storage:
diff --git a/deployer/commands/generate/resource_allocation/daemonset_requests.yaml b/deployer/commands/generate/resource_allocation/daemonset_requests.yaml
index 62916addd7..3e8e1850cf 100644
--- a/deployer/commands/generate/resource_allocation/daemonset_requests.yaml
+++ b/deployer/commands/generate/resource_allocation/daemonset_requests.yaml
@@ -74,12 +74,6 @@ gke:
cpu_requests: 344m
memory_requests: 596Mi
k8s_version: v1.27.4-gke.900
- m2lines:
- requesting_daemon_sets: calico-node,fluentbit-gke,gke-metadata-server,gke-metrics-agent,ip-masq-agent,netd,pdcsi-node,support-cryptnono,support-prometheus-node-exporter
- other_daemon_sets: ""
- cpu_requests: 344m
- memory_requests: 596Mi
- k8s_version: v1.27.4-gke.900
meom-ige:
requesting_daemon_sets: fluentbit-gke,gke-metadata-server,gke-metrics-agent,netd,pdcsi-node,support-cryptnono,support-prometheus-node-exporter
other_daemon_sets: ""
diff --git a/terraform/gcp/projects/m2lines.tfvars b/terraform/gcp/projects/m2lines.tfvars
deleted file mode 100644
index 837160bc0f..0000000000
--- a/terraform/gcp/projects/m2lines.tfvars
+++ /dev/null
@@ -1,121 +0,0 @@
-prefix = "m2lines"
-project_id = "m2lines-hub"
-
-# GPUs not available in us-central1-b
-zone = "us-central1-c"
-region = "us-central1"
-regional_cluster = true
-
-k8s_versions = {
- min_master_version : "1.27.4-gke.900",
- core_nodes_version : "1.27.4-gke.900",
- notebook_nodes_version : "1.27.4-gke.900",
- dask_nodes_version : "1.27.4-gke.900",
-}
-
-core_node_machine_type = "n2-highmem-4"
-enable_network_policy = true
-
-
-# Setup a filestore for in-cluster NFS
-enable_filestore = true
-filestore_capacity_gb = 2048
-
-user_buckets = {
- "scratch-staging" : {
- "delete_after" : 7
- },
- "scratch" : {
- "delete_after" : 7
- },
- # For https://2i2c.freshdesk.com/a/tickets/218
- "persistent" : {
- "delete_after" : null,
- "extra_admin_members" : ["group:m2lines-persistent-bucket-writers@googlegroups.com"]
- },
- "persistent-staging" : {
- "delete_after" : null,
- "extra_admin_members" : ["group:m2lines-persistent-bucket-writers@googlegroups.com"]
- },
- "public-persistent" : {
- "delete_after" : null,
- "extra_admin_members" : ["group:m2lines-persistent-bucket-writers@googlegroups.com"],
- "public_access" : true
- },
-
-}
-
-# Setup notebook node pools
-notebook_nodes = {
- "n2-highmem-4" : {
- min : 0,
- max : 100,
- machine_type : "n2-highmem-4",
- },
- "n2-highmem-16" : {
- min : 0,
- max : 100,
- machine_type : "n2-highmem-16",
- },
- "n2-highmem-64" : {
- min : 0,
- max : 100,
- machine_type : "n2-highmem-64",
- },
- "small" : {
- min : 0,
- max : 100,
- machine_type : "n1-standard-2",
- },
- "medium" : {
- min : 0,
- max : 100,
- machine_type : "n1-standard-4",
- },
- "large" : {
- min : 0,
- max : 100,
- machine_type : "n1-standard-8",
- },
- "huge" : {
- min : 0,
- max : 100,
- machine_type : "n1-standard-16",
- },
- "gpu-t4" : {
- min : 0,
- max : 100,
- machine_type : "n1-standard-8",
- gpu : {
- enabled : true,
- type : "nvidia-tesla-t4",
- count : 1
- }
- }
-}
-
-# Setup a single node pool for dask workers.
-#
-# A not yet fully established policy is being developed about using a single
-# node pool, see https://github.com/2i2c-org/infrastructure/issues/2687.
-#
-dask_nodes = {
- "n2-highmem-16" : {
- min : 0,
- max : 100,
- machine_type : "n2-highmem-16",
- }
-}
-
-hub_cloud_permissions = {
- "staging" : {
- requestor_pays : true,
- bucket_admin_access : ["scratch-staging", "persistent-staging"],
- hub_namespace : "staging"
- },
- "prod" : {
- requestor_pays : true,
- bucket_admin_access : ["scratch", "persistent", "public-persistent"],
- hub_namespace : "prod"
- },
-}
diff --git a/terraform/gcp/projects/pilot-hubs.tfvars b/terraform/gcp/projects/pilot-hubs.tfvars
index 458acd3af4..6081b6a570 100644
--- a/terraform/gcp/projects/pilot-hubs.tfvars
+++ b/terraform/gcp/projects/pilot-hubs.tfvars
@@ -102,24 +102,7 @@ notebook_nodes = {
resource_labels : {
"community" : "temple"
},
- },
- # Nodepool for jackeddy symposium. https://github.com/2i2c-org/infrastructure/issues/3166
- "jackeddy" : {
- min : 0,
- max : 100,
- machine_type : "n2-highmem-16",
- labels : {
- "2i2c.org/community" : "jackeddy"
- },
- taints : [{
- key : "2i2c.org/community",
- value : "jackeddy",
- effect : "NO_SCHEDULE"
- }],
- resource_labels : {
- "community" : "jackeddy"
- },
- },
+ }
}
# Setup a single node pool for dask workers.