diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a5a2f68946..d65cf43ef0 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -14,7 +14,7 @@ repos:
- -c=.yamllint.yml
- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.29.4
+ rev: 0.30.0
hooks:
- id: check-jsonschema
files: ^applications/.*/secrets(-[^./-]+)?\.yaml
@@ -46,7 +46,7 @@ repos:
- --template-files=../helm-docs.md.gotmpl
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.7.4
+ rev: v0.8.1
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
diff --git a/applications/alert-stream-broker/charts/alert-database/templates/ingress.yaml b/applications/alert-stream-broker/charts/alert-database/templates/ingress.yaml
index 774dadf5a1..2205bd50a7 100644
--- a/applications/alert-stream-broker/charts/alert-database/templates/ingress.yaml
+++ b/applications/alert-stream-broker/charts/alert-database/templates/ingress.yaml
@@ -10,6 +10,7 @@ config:
scopes:
all:
- "read:alertdb"
+ service: "alert-stream-broker"
template:
metadata:
name: {{ template "alertDatabase.fullname" . }}
diff --git a/applications/argo-workflows/Chart.yaml b/applications/argo-workflows/Chart.yaml
index 01ae908e43..265be52294 100644
--- a/applications/argo-workflows/Chart.yaml
+++ b/applications/argo-workflows/Chart.yaml
@@ -8,5 +8,5 @@ sources:
- https://github.com/argoproj/argo-helm
dependencies:
- name: argo-workflows
- version: 0.42.7
+ version: 0.45.0
repository: https://argoproj.github.io/argo-helm
diff --git a/applications/argo-workflows/templates/ingress.yaml b/applications/argo-workflows/templates/ingress.yaml
index 03a5c5ed65..66a2ec497c 100644
--- a/applications/argo-workflows/templates/ingress.yaml
+++ b/applications/argo-workflows/templates/ingress.yaml
@@ -4,9 +4,10 @@ metadata:
name: argo-workflows
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all: {{ .Values.ingress.scopes }}
- loginRedirect: true
+ service: "argo-workflows"
template:
metadata:
name: argo-workflows
diff --git a/applications/argocd/Chart.yaml b/applications/argocd/Chart.yaml
index 11b5e03524..d7c73d2000 100644
--- a/applications/argocd/Chart.yaml
+++ b/applications/argocd/Chart.yaml
@@ -8,5 +8,5 @@ sources:
- https://github.com/argoproj/argo-helm
dependencies:
- name: argo-cd
- version: 7.7.3
+ version: 7.7.7
repository: https://argoproj.github.io/argo-helm
diff --git a/applications/argocd/values-usdf-cm-dev.yaml b/applications/argocd/values-usdf-cm-dev.yaml
index cd292535bc..cd9f3f6702 100644
--- a/applications/argocd/values-usdf-cm-dev.yaml
+++ b/applications/argocd/values-usdf-cm-dev.yaml
@@ -30,6 +30,7 @@ argo-cd:
g, cslater@slac.stanford.edu, role:admin
g, yusra@slac.stanford.edu, role:admin
g, rra@slac.stanford.edu, role:admin
+ g, tobyj@slac.stanford.edu, role:admin
scopes: "[email]"
server:
diff --git a/applications/argocd/values-usdf-cm.yaml b/applications/argocd/values-usdf-cm.yaml
index 878e4d74d4..6dd18686df 100644
--- a/applications/argocd/values-usdf-cm.yaml
+++ b/applications/argocd/values-usdf-cm.yaml
@@ -29,6 +29,7 @@ argo-cd:
g, fritzm@slac.stanford.edu, role:admin
g, cslater@slac.stanford.edu, role:admin
g, yusra@slac.stanford.edu, role:admin
+ g, tobyj@slac.stanford.edu, role:admin
scopes: "[email]"
server:
diff --git a/applications/auxtel/README.md b/applications/auxtel/README.md
index 776d27f8ae..ee0124b771 100644
--- a/applications/auxtel/README.md
+++ b/applications/auxtel/README.md
@@ -28,8 +28,12 @@ Deployment for the Auxiliary Telescope CSCs
| atspectrograph-sim.enabled | bool | `false` | Enable the ATSpectograph simulator CSC |
| atspectrograph.enabled | bool | `false` | Enable the ATSpectrograph CSC |
| hexapod-sim.enabled | bool | `false` | Enable the hexapod controller simulator |
+| hexapod-sim.affinity | object | `{}` | This specifies the scheduling constraints of the pod |
| hexapod-sim.image | object | `{"pullPolicy":"Always","repository":"ts-dockerhub.lsst.org/hexapod_simulator","tag":"latest"}` | This section holds the configuration of the container image |
| hexapod-sim.image.pullPolicy | string | `"Always"` | The policy to apply when pulling an image for deployment |
| hexapod-sim.image.repository | string | `"ts-dockerhub.lsst.org/hexapod_simulator"` | The Docker registry name of the container image |
| hexapod-sim.image.tag | string | `"latest"` | The tag of the container image |
| hexapod-sim.namespace | string | `"auxtel"` | This is the namespace in which the hexapod controller simulator will be placed |
+| hexapod-sim.nodeSelector | object | `{}` | This allows the specification of using specific nodes to run the pod |
+| hexapod-sim.resources | object | `{}` | This allows the specification of resources (CPU, memory) requires to run the container |
+| hexapod-sim.tolerations | list | `[]` | This specifies the tolerations of the pod for any system taints |
diff --git a/applications/auxtel/charts/hexapod-sim/README.md b/applications/auxtel/charts/hexapod-sim/README.md
index b5a01ae11b..07accd9bd1 100644
--- a/applications/auxtel/charts/hexapod-sim/README.md
+++ b/applications/auxtel/charts/hexapod-sim/README.md
@@ -6,8 +6,12 @@ Chart for the hexapod simulator that supports the ATHexapod
| Key | Type | Default | Description |
|-----|------|---------|-------------|
+| affinity | object | `{}` | This specifies the scheduling constraints of the pod |
| image | object | `{"pullPolicy":"Always","repository":"ts-dockerhub.lsst.org/hexapod_simulator","tag":"latest"}` | This section holds the configuration of the container image |
| image.pullPolicy | string | `"Always"` | The policy to apply when pulling an image for deployment |
| image.repository | string | `"ts-dockerhub.lsst.org/hexapod_simulator"` | The Docker registry name of the container image |
| image.tag | string | `"latest"` | The tag of the container image |
| namespace | string | `"auxtel"` | This is the namespace in which the hexapod controller simulator will be placed |
+| nodeSelector | object | `{}` | This allows the specification of using specific nodes to run the pod |
+| resources | object | `{}` | This allows the specification of resources (CPU, memory) requires to run the container |
+| tolerations | list | `[]` | This specifies the tolerations of the pod for any system taints |
diff --git a/applications/auxtel/charts/hexapod-sim/templates/deployment.yaml b/applications/auxtel/charts/hexapod-sim/templates/deployment.yaml
index 5b874eed64..b03ba53a04 100644
--- a/applications/auxtel/charts/hexapod-sim/templates/deployment.yaml
+++ b/applications/auxtel/charts/hexapod-sim/templates/deployment.yaml
@@ -23,5 +23,21 @@ spec:
imagePullPolicy: {{ .Values.image.pullPolicy }}
stdin: true
tty: true
+ {{- with .Values.resources }}
+ resources:
+ {{- toYaml . | nindent 12 }}
+ {{- end }}
imagePullSecrets:
- name: pull-secret
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
diff --git a/applications/auxtel/charts/hexapod-sim/values.yaml b/applications/auxtel/charts/hexapod-sim/values.yaml
index e3daccc617..70ed9d97e1 100644
--- a/applications/auxtel/charts/hexapod-sim/values.yaml
+++ b/applications/auxtel/charts/hexapod-sim/values.yaml
@@ -8,3 +8,11 @@ image:
tag: latest
# -- The policy to apply when pulling an image for deployment
pullPolicy: Always
+# -- This allows the specification of resources (CPU, memory) requires to run the container
+resources: {}
+# -- This allows the specification of using specific nodes to run the pod
+nodeSelector: {}
+# -- This specifies the tolerations of the pod for any system taints
+tolerations: []
+# -- This specifies the scheduling constraints of the pod
+affinity: {}
diff --git a/applications/auxtel/values-base.yaml b/applications/auxtel/values-base.yaml
index c7350107ab..de3ccbcd9d 100644
--- a/applications/auxtel/values-base.yaml
+++ b/applications/auxtel/values-base.yaml
@@ -45,6 +45,8 @@ atmcs-sim:
image:
repository: ts-dockerhub.lsst.org/atmcs_sim
pullPolicy: Always
+ env:
+ RUN_ARG: --simulate
atoods:
image:
@@ -126,6 +128,8 @@ atpneumatics-sim:
image:
repository: ts-dockerhub.lsst.org/at_pneumatics_sim
pullPolicy: Always
+ env:
+ RUN_ARG: --simulate
atptg:
image:
@@ -144,3 +148,10 @@ atspectrograph-sim:
hexapod-sim:
enabled: true
+ resources:
+ limits:
+ cpu: 100m
+ memory: 500Mi
+ requests:
+ cpu: 20m
+ memory: 200Mi
diff --git a/applications/auxtel/values-tucson-teststand.yaml b/applications/auxtel/values-tucson-teststand.yaml
index da292e8617..2f11bee094 100644
--- a/applications/auxtel/values-tucson-teststand.yaml
+++ b/applications/auxtel/values-tucson-teststand.yaml
@@ -45,6 +45,8 @@ atmcs-sim:
image:
repository: ts-dockerhub.lsst.org/atmcs_sim
pullPolicy: Always
+ env:
+ RUN_ARG: --simulate
atoods:
image:
@@ -126,6 +128,8 @@ atpneumatics-sim:
image:
repository: ts-dockerhub.lsst.org/at_pneumatics_sim
pullPolicy: Always
+ env:
+ RUN_ARG: --simulate
atptg:
image:
diff --git a/applications/butler/templates/ingress-authenticated.yaml b/applications/butler/templates/ingress-authenticated.yaml
index bf7127de6e..965aa52561 100644
--- a/applications/butler/templates/ingress-authenticated.yaml
+++ b/applications/butler/templates/ingress-authenticated.yaml
@@ -5,6 +5,9 @@ metadata:
labels:
{{- include "butler.labels" . | nindent 4 }}
config:
+ # The Butler server often services large numbers of small requests,
+ # so this cache reduces the load on Gafaelfawr.
+ authCacheDuration: 5m
baseUrl: {{ .Values.global.baseUrl | quote }}
scopes:
all:
@@ -16,6 +19,7 @@ config:
internal:
service: "butler"
scopes: []
+ service: "butler"
template:
metadata:
diff --git a/applications/cert-manager/Chart.yaml b/applications/cert-manager/Chart.yaml
index a1e9214962..4304834036 100644
--- a/applications/cert-manager/Chart.yaml
+++ b/applications/cert-manager/Chart.yaml
@@ -7,5 +7,5 @@ sources:
- https://github.com/cert-manager/cert-manager
dependencies:
- name: cert-manager
- version: v1.16.1
+ version: v1.16.2
repository: https://charts.jetstack.io
diff --git a/applications/checkerboard/templates/ingress.yaml b/applications/checkerboard/templates/ingress.yaml
index edf033a11e..fb11ba4d0a 100644
--- a/applications/checkerboard/templates/ingress.yaml
+++ b/applications/checkerboard/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:checkerboard"
+ service: "checkerboard"
template:
metadata:
name: {{ template "checkerboard.fullname" . }}
diff --git a/applications/cm-service/templates/ingress.yaml b/applications/cm-service/templates/ingress.yaml
index 882de320dc..0820003c40 100644
--- a/applications/cm-service/templates/ingress.yaml
+++ b/applications/cm-service/templates/ingress.yaml
@@ -10,6 +10,7 @@ config:
scopes:
all:
- "exec:internal-tools"
+ service: "cm-service"
template:
metadata:
name: "cm-service"
diff --git a/applications/consdb/templates/ingress.yaml b/applications/consdb/templates/ingress.yaml
index 18a6c605df..1b0dfc38bd 100644
--- a/applications/consdb/templates/ingress.yaml
+++ b/applications/consdb/templates/ingress.yaml
@@ -11,6 +11,7 @@ config:
scopes:
all:
- "read:image"
+ service: "consdb"
template:
metadata:
name: "consdb-pq"
diff --git a/applications/datalinker/templates/ingress-image.yaml b/applications/datalinker/templates/ingress-image.yaml
index 325bfb41e4..7c6c9a3c82 100644
--- a/applications/datalinker/templates/ingress-image.yaml
+++ b/applications/datalinker/templates/ingress-image.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: "datalinker"
# Request a delegated token to use for making calls to Butler server with the
# end-user's credentials.
delegate:
diff --git a/applications/datalinker/templates/ingress-tap.yaml b/applications/datalinker/templates/ingress-tap.yaml
index 99245d239e..acd37d39aa 100644
--- a/applications/datalinker/templates/ingress-tap.yaml
+++ b/applications/datalinker/templates/ingress-tap.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:tap"
+ service: "datalinker"
template:
metadata:
name: {{ include "datalinker.fullname" . }}-tap
diff --git a/applications/eas/Chart.yaml b/applications/eas/Chart.yaml
index 8b77c6ca92..cb8006fe6b 100644
--- a/applications/eas/Chart.yaml
+++ b/applications/eas/Chart.yaml
@@ -47,24 +47,34 @@ dependencies:
condition: auxtel-ess204-sim.enabled
repository: file://../../charts/csc
- name: csc
- alias: auxtel-ess205
+ alias: calibhill-ess301
version: 1.0.0
- condition: auxtel-ess205.enabled
+ condition: calibhill-ess301.enabled
repository: file://../../charts/csc
- name: csc
- alias: auxtel-ess205-sim
+ alias: calibhill-ess301-sim
version: 1.0.0
- condition: auxtel-ess205-sim.enabled
+ condition: calibhill-ess301-sim.enabled
repository: file://../../charts/csc
- name: csc
- alias: calibhill-ess301
+ alias: camera-ess111
version: 1.0.0
- condition: calibhill-ess301.enabled
+ condition: camera-ess111.enabled
repository: file://../../charts/csc
- name: csc
- alias: calibhill-ess301-sim
+ alias: camera-ess111-sim
version: 1.0.0
- condition: calibhill-ess301-sim.enabled
+ condition: camera-ess111-sim.enabled
+ repository: file://../../charts/csc
+- name: csc
+ alias: cleanroom-ess109
+ version: 1.0.0
+ condition: cleanroom-ess109.enabled
+ repository: file://../../charts/csc
+- name: csc
+ alias: cleanroom-ess109-sim
+ version: 1.0.0
+ condition: cleanroom-ess109-sim.enabled
repository: file://../../charts/csc
- name: csc
alias: dimm1
@@ -117,44 +127,34 @@ dependencies:
condition: epm1-sim.enabled
repository: file://../../charts/csc
- name: csc
- alias: m2-ess106
- version: 1.0.0
- condition: m2-ess106.enabled
- repository: file://../../charts/csc
-- name: csc
- alias: m2-ess106-sim
+ alias: m1m3-ess113
version: 1.0.0
- condition: m2-ess106-sim.enabled
+ condition: m1m3-ess113.enabled
repository: file://../../charts/csc
- name: csc
- alias: mtdome-ess101
+ alias: m1m3-ess113-sim
version: 1.0.0
- condition: mtdome-ess101.enabled
+ condition: m1m3-ess113-sim.enabled
repository: file://../../charts/csc
- name: csc
- alias: mtdome-ess101-sim
- version: 1.0.0
- condition: mtdome-ess101-sim.enabled
- repository: file://../../charts/csc
-- name: csc
- alias: mtdome-ess102
+ alias: m2-ess106
version: 1.0.0
- condition: mtdome-ess102.enabled
+ condition: m2-ess106.enabled
repository: file://../../charts/csc
- name: csc
- alias: mtdome-ess102-sim
+ alias: m2-ess106-sim
version: 1.0.0
- condition: mtdome-ess102-sim.enabled
+ condition: m2-ess106-sim.enabled
repository: file://../../charts/csc
- name: csc
- alias: mtdome-ess103
+ alias: m2-ess112
version: 1.0.0
- condition: mtdome-ess103.enabled
+ condition: m2-ess112.enabled
repository: file://../../charts/csc
- name: csc
- alias: mtdome-ess103-sim
+ alias: m2-ess112-sim
version: 1.0.0
- condition: mtdome-ess103-sim.enabled
+ condition: m2-ess112-sim.enabled
repository: file://../../charts/csc
- name: csc
alias: mtdome-ess107
@@ -206,6 +206,16 @@ dependencies:
version: 1.0.0
condition: tma-ess105-sim.enabled
repository: file://../../charts/csc
+- name: csc
+ alias: tma-ess110
+ version: 1.0.0
+ condition: tma-ess110.enabled
+ repository: file://../../charts/csc
+- name: csc
+ alias: tma-ess110-sim
+ version: 1.0.0
+ condition: tma-ess110-sim.enabled
+ repository: file://../../charts/csc
- name: csc
alias: weatherforecast
version: 1.0.0
diff --git a/applications/eas/README.md b/applications/eas/README.md
index e03edc0f9f..0523a891d1 100644
--- a/applications/eas/README.md
+++ b/applications/eas/README.md
@@ -14,10 +14,12 @@ Deployment for the Environmental Awareness Systems CSCs
| auxtel-ess203.enabled | bool | `false` | Enable the ESS:203 CSC |
| auxtel-ess204-sim.enabled | bool | `false` | Enable the ESS:204 simulator CSC |
| auxtel-ess204.enabled | bool | `false` | Enable the ESS:204 CSC |
-| auxtel-ess205-sim.enabled | bool | `false` | Enable the ESS:205 simulator CSC |
-| auxtel-ess205.enabled | bool | `false` | Enable the ESS:205 CSC |
| calibhill-ess301-sim.enabled | bool | `false` | Enable the ESS:301 simulator CSC |
| calibhill-ess301.enabled | bool | `false` | Enable the ESS:301 CSC |
+| camera-ess111-sim.enabled | bool | `false` | Enable the ESS:111 simulator CSC |
+| camera-ess111.enabled | bool | `false` | Enable the ESS:111 CSC |
+| cleanroom-ess109-sim.enabled | bool | `false` | Enable the ESS:109 simulator CSC |
+| cleanroom-ess109.enabled | bool | `false` | Enable the ESS:109 CSC |
| dimm1-sim.enabled | bool | `false` | Enable the DIMM:1 simulator CSC |
| dimm1.enabled | bool | `false` | Enable the DIMM:1 CSC |
| dimm2-sim.enabled | bool | `false` | Enable the DIMM:2 simulator CSC |
@@ -39,14 +41,12 @@ Deployment for the Environmental Awareness Systems CSCs
| global.controlSystem.topicName | string | Set by ArgoCD | Topic name tag for the control system deployment |
| global.host | string | Set by Argo CD | Host name for ingress |
| global.vaultSecretsPath | string | Set by Argo CD | Base path for Vault secrets |
+| m1m3-ess113-sim.enabled | bool | `false` | Enable the ESS:113 simulator CSC |
+| m1m3-ess113.enabled | bool | `false` | Enable the ESS:113 CSC |
| m2-ess106-sim.enabled | bool | `false` | Enable the ESS:106 simulator CSC |
| m2-ess106.enabled | bool | `false` | Enable the ESS:106 CSC |
-| mtdome-ess101-sim.enabled | bool | `false` | Enable the ESS:101 simulator CSC |
-| mtdome-ess101.enabled | bool | `false` | Enable the ESS:101 CSC |
-| mtdome-ess102-sim.enabled | bool | `false` | Enable the ESS:102 simulator CSC |
-| mtdome-ess102.enabled | bool | `false` | Enable the ESS:102 CSC |
-| mtdome-ess103-sim.enabled | bool | `false` | Enable the ESS:103 simulator CSC |
-| mtdome-ess103.enabled | bool | `false` | Enable the ESS:103 CSC |
+| m2-ess112-sim.enabled | bool | `false` | Enable the ESS:112 simulator CSC |
+| m2-ess112.enabled | bool | `false` | Enable the ESS:112 CSC |
| mtdome-ess107-sim.enabled | bool | `false` | Enable the ESS:107 simulator CSC |
| mtdome-ess107.enabled | bool | `false` | Enable the ESS:107 CSC |
| mtdome-ess108-sim.enabled | bool | `false` | Enable the ESS:108 simulator CSC |
@@ -57,3 +57,5 @@ Deployment for the Environmental Awareness Systems CSCs
| tma-ess104.enabled | bool | `false` | Enable the ESS:104 CSC |
| tma-ess105-sim.enabled | bool | `false` | Enable the ESS:105 simulator CSC |
| tma-ess105.enabled | bool | `false` | Enable the ESS:105 CSC |
+| tma-ess110-sim.enabled | bool | `false` | Enable the ESS:110 simulator CSC |
+| tma-ess110.enabled | bool | `false` | Enable the ESS:110 CSC |
diff --git a/applications/eas/values-base.yaml b/applications/eas/values-base.yaml
index 5a3a9c3a69..2a6c08a2f7 100644
--- a/applications/eas/values-base.yaml
+++ b/applications/eas/values-base.yaml
@@ -62,14 +62,14 @@ auxtel-ess204-sim:
cpu: 190m
memory: 900Mi
-auxtel-ess205-sim:
+calibhill-ess301-sim:
enabled: true
- classifier: ess205
+ classifier: ess301
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 205 --simulate
+ RUN_ARG: 301 --simulate
resources:
requests:
cpu: 19m
@@ -78,14 +78,30 @@ auxtel-ess205-sim:
cpu: 190m
memory: 900Mi
-calibhill-ess301-sim:
+camera-ess111-sim:
enabled: true
- classifier: ess301
+ classifier: ess111
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 301 --simulate
+ RUN_ARG: 111 --simulate
+ resources:
+ requests:
+ cpu: 19m
+ memory: 90Mi
+ limits:
+ cpu: 190m
+ memory: 900Mi
+
+cleanroom-ess109-sim:
+ enabled: true
+ classifier: ess109
+ image:
+ repository: ts-dockerhub.lsst.org/ess
+ pullPolicy: Always
+ env:
+ RUN_ARG: 109 --simulate
resources:
requests:
cpu: 19m
@@ -172,14 +188,14 @@ epm1-sim:
cpu: 190m
memory: 900Mi
-m2-ess106-sim:
+m1m3-ess113-sim:
enabled: true
- classifier: ess106
+ classifier: ess113
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 106 --simulate
+ RUN_ARG: 113 --simulate
resources:
requests:
cpu: 19m
@@ -188,30 +204,14 @@ m2-ess106-sim:
cpu: 190m
memory: 900Mi
-mtdome-ess101-sim:
- enabled: true
- classifier: ess101
- image:
- repository: ts-dockerhub.lsst.org/ess
- pullPolicy: Always
- env:
- RUN_ARG: 101 --simulate
- resources:
- requests:
- cpu: 19m
- memory: 90Mi
- limits:
- cpu: 190m
- memory: 900Mi
-
-mtdome-ess102-sim:
+m2-ess106-sim:
enabled: true
- classifier: ess102
+ classifier: ess106
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 102 --simulate
+ RUN_ARG: 106 --simulate
resources:
requests:
cpu: 19m
@@ -220,14 +220,14 @@ mtdome-ess102-sim:
cpu: 190m
memory: 900Mi
-mtdome-ess103-sim:
+m2-ess112-sim:
enabled: true
- classifier: ess103
+ classifier: ess112
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 103 --simulate
+ RUN_ARG: 112 --simulate
resources:
requests:
cpu: 19m
@@ -316,6 +316,22 @@ tma-ess105-sim:
cpu: 190m
memory: 900Mi
+tma-ess110-sim:
+ enabled: true
+ classifier: ess110
+ image:
+ repository: ts-dockerhub.lsst.org/ess
+ pullPolicy: Always
+ env:
+ RUN_ARG: 110 --simulate
+ resources:
+ requests:
+ cpu: 19m
+ memory: 90Mi
+ limits:
+ cpu: 190m
+ memory: 900Mi
+
weatherforecast:
image:
repository: ts-dockerhub.lsst.org/weatherforecast
diff --git a/applications/eas/values-tucson-teststand.yaml b/applications/eas/values-tucson-teststand.yaml
index 5a3a9c3a69..2a6c08a2f7 100644
--- a/applications/eas/values-tucson-teststand.yaml
+++ b/applications/eas/values-tucson-teststand.yaml
@@ -62,14 +62,14 @@ auxtel-ess204-sim:
cpu: 190m
memory: 900Mi
-auxtel-ess205-sim:
+calibhill-ess301-sim:
enabled: true
- classifier: ess205
+ classifier: ess301
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 205 --simulate
+ RUN_ARG: 301 --simulate
resources:
requests:
cpu: 19m
@@ -78,14 +78,30 @@ auxtel-ess205-sim:
cpu: 190m
memory: 900Mi
-calibhill-ess301-sim:
+camera-ess111-sim:
enabled: true
- classifier: ess301
+ classifier: ess111
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 301 --simulate
+ RUN_ARG: 111 --simulate
+ resources:
+ requests:
+ cpu: 19m
+ memory: 90Mi
+ limits:
+ cpu: 190m
+ memory: 900Mi
+
+cleanroom-ess109-sim:
+ enabled: true
+ classifier: ess109
+ image:
+ repository: ts-dockerhub.lsst.org/ess
+ pullPolicy: Always
+ env:
+ RUN_ARG: 109 --simulate
resources:
requests:
cpu: 19m
@@ -172,14 +188,14 @@ epm1-sim:
cpu: 190m
memory: 900Mi
-m2-ess106-sim:
+m1m3-ess113-sim:
enabled: true
- classifier: ess106
+ classifier: ess113
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 106 --simulate
+ RUN_ARG: 113 --simulate
resources:
requests:
cpu: 19m
@@ -188,30 +204,14 @@ m2-ess106-sim:
cpu: 190m
memory: 900Mi
-mtdome-ess101-sim:
- enabled: true
- classifier: ess101
- image:
- repository: ts-dockerhub.lsst.org/ess
- pullPolicy: Always
- env:
- RUN_ARG: 101 --simulate
- resources:
- requests:
- cpu: 19m
- memory: 90Mi
- limits:
- cpu: 190m
- memory: 900Mi
-
-mtdome-ess102-sim:
+m2-ess106-sim:
enabled: true
- classifier: ess102
+ classifier: ess106
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 102 --simulate
+ RUN_ARG: 106 --simulate
resources:
requests:
cpu: 19m
@@ -220,14 +220,14 @@ mtdome-ess102-sim:
cpu: 190m
memory: 900Mi
-mtdome-ess103-sim:
+m2-ess112-sim:
enabled: true
- classifier: ess103
+ classifier: ess112
image:
repository: ts-dockerhub.lsst.org/ess
pullPolicy: Always
env:
- RUN_ARG: 103 --simulate
+ RUN_ARG: 112 --simulate
resources:
requests:
cpu: 19m
@@ -316,6 +316,22 @@ tma-ess105-sim:
cpu: 190m
memory: 900Mi
+tma-ess110-sim:
+ enabled: true
+ classifier: ess110
+ image:
+ repository: ts-dockerhub.lsst.org/ess
+ pullPolicy: Always
+ env:
+ RUN_ARG: 110 --simulate
+ resources:
+ requests:
+ cpu: 19m
+ memory: 90Mi
+ limits:
+ cpu: 190m
+ memory: 900Mi
+
weatherforecast:
image:
repository: ts-dockerhub.lsst.org/weatherforecast
diff --git a/applications/eas/values.yaml b/applications/eas/values.yaml
index f46c764372..a05b191fd9 100644
--- a/applications/eas/values.yaml
+++ b/applications/eas/values.yaml
@@ -30,14 +30,6 @@ auxtel-ess204-sim:
# -- Enable the ESS:204 simulator CSC
enabled: false
-auxtel-ess205:
- # -- Enable the ESS:205 CSC
- enabled: false
-
-auxtel-ess205-sim:
- # -- Enable the ESS:205 simulator CSC
- enabled: false
-
calibhill-ess301:
# -- Enable the ESS:301 CSC
enabled: false
@@ -46,6 +38,22 @@ calibhill-ess301-sim:
# -- Enable the ESS:301 simulator CSC
enabled: false
+camera-ess111:
+ # -- Enable the ESS:111 CSC
+ enabled: false
+
+camera-ess111-sim:
+ # -- Enable the ESS:111 simulator CSC
+ enabled: false
+
+cleanroom-ess109:
+ # -- Enable the ESS:109 CSC
+ enabled: false
+
+cleanroom-ess109-sim:
+ # -- Enable the ESS:109 simulator CSC
+ enabled: false
+
dimm1:
# -- Enable the DIMM:1 CSC
enabled: false
@@ -86,36 +94,28 @@ epm1-sim:
# -- Enable the EPM:1 simulator CSC
enabled: false
-m2-ess106:
- # -- Enable the ESS:106 CSC
- enabled: false
-
-m2-ess106-sim:
- # -- Enable the ESS:106 simulator CSC
+m1m3-ess113:
+ # -- Enable the ESS:113 CSC
enabled: false
-mtdome-ess101:
- # -- Enable the ESS:101 CSC
+m1m3-ess113-sim:
+ # -- Enable the ESS:113 simulator CSC
enabled: false
-mtdome-ess101-sim:
- # -- Enable the ESS:101 simulator CSC
- enabled: false
-
-mtdome-ess102:
- # -- Enable the ESS:102 CSC
+m2-ess106:
+ # -- Enable the ESS:106 CSC
enabled: false
-mtdome-ess102-sim:
- # -- Enable the ESS:102 simulator CSC
+m2-ess106-sim:
+ # -- Enable the ESS:106 simulator CSC
enabled: false
-mtdome-ess103:
- # -- Enable the ESS:103 CSC
+m2-ess112:
+ # -- Enable the ESS:112 CSC
enabled: false
-mtdome-ess103-sim:
- # -- Enable the ESS:103 simulator CSC
+m2-ess112-sim:
+ # -- Enable the ESS:112 simulator CSC
enabled: false
mtdome-ess107:
@@ -158,6 +158,14 @@ tma-ess105-sim:
# -- Enable the ESS:105 simulator CSC
enabled: false
+tma-ess110:
+ # -- Enable the ESS:110 CSC
+ enabled: false
+
+tma-ess110-sim:
+ # -- Enable the ESS:110 simulator CSC
+ enabled: false
+
# The following will be set by parameters injected by Argo CD and should not
# be set in the individual environment values files.
global:
diff --git a/applications/exposurelog/templates/ingress.yaml b/applications/exposurelog/templates/ingress.yaml
index c5eba0a88a..eb85e73506 100644
--- a/applications/exposurelog/templates/ingress.yaml
+++ b/applications/exposurelog/templates/ingress.yaml
@@ -11,6 +11,7 @@ config:
scopes:
all:
- "exec:internal-tools"
+ service: "exposurelog"
{{- else }}
scopes:
anonymous: true
diff --git a/applications/fastapi-bootcamp/templates/ingress.yaml b/applications/fastapi-bootcamp/templates/ingress.yaml
index 8e3c72bf44..8ba9afa2a7 100644
--- a/applications/fastapi-bootcamp/templates/ingress.yaml
+++ b/applications/fastapi-bootcamp/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: "fastapi-bootcamp"
template:
metadata:
name: "fastapi-bootcamp"
diff --git a/applications/gafaelfawr/Chart.yaml b/applications/gafaelfawr/Chart.yaml
index c2b7e19a1e..3f21bbb591 100644
--- a/applications/gafaelfawr/Chart.yaml
+++ b/applications/gafaelfawr/Chart.yaml
@@ -5,7 +5,7 @@ description: "Authentication and identity system"
home: "https://gafaelfawr.lsst.io/"
sources:
- "https://github.com/lsst-sqre/gafaelfawr"
-appVersion: 12.1.1
+appVersion: 12.2.0
dependencies:
- name: "redis"
diff --git a/applications/gafaelfawr/README.md b/applications/gafaelfawr/README.md
index 51df4c45c1..c609f0f9e4 100644
--- a/applications/gafaelfawr/README.md
+++ b/applications/gafaelfawr/README.md
@@ -18,7 +18,7 @@ Authentication and identity system
| cloudsql.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for Cloud SQL Auth Proxy images |
| cloudsql.image.repository | string | `"gcr.io/cloudsql-docker/gce-proxy"` | Cloud SQL Auth Proxy image to use |
| cloudsql.image.schemaUpdateTagSuffix | string | `"-alpine"` | Tag suffix to use for the proxy for schema updates |
-| cloudsql.image.tag | string | `"1.37.1"` | Cloud SQL Auth Proxy tag to use |
+| cloudsql.image.tag | string | `"1.37.2"` | Cloud SQL Auth Proxy tag to use |
| cloudsql.instanceConnectionName | string | None, must be set if Cloud SQL Auth Proxy is enabled | Instance connection name for a Cloud SQL PostgreSQL instance |
| cloudsql.nodeSelector | object | `{}` | Node selection rules for the Cloud SQL Proxy pod |
| cloudsql.podAnnotations | object | `{}` | Annotations for the Cloud SQL Proxy pod |
@@ -33,6 +33,7 @@ Authentication and identity system
| config.cilogon.test | bool | `false` | Whether to use the test instance of CILogon |
| config.cilogon.usernameClaim | string | `"username"` | Claim from which to get the username |
| config.databaseUrl | string | None, must be set if neither `cloudsql.enabled` nor | URL for the PostgreSQL database `config.internalDatabase` are true |
+| config.enableSentry | bool | `false` | Whether to send trace and telemetry information to Sentry. This traces every call and therefore should only be enabled in non-production environments. |
| config.errorFooter | string | `nil` | HTML footer to add to any login error page (will be enclosed in a
tag). |
| config.firestore.project | string | Firestore support is disabled | If set, assign UIDs and GIDs using Google Firestore in the given project. Cloud SQL must be enabled and the Cloud SQL service account must have read/write access to that Firestore instance. |
| config.github.clientId | string | `nil` | GitHub client ID. One and only one of this, `config.cilogon.clientId`, or `config.oidc.clientId` must be set. |
diff --git a/applications/gafaelfawr/secrets.yaml b/applications/gafaelfawr/secrets.yaml
index d4c8227de1..5846f0d884 100644
--- a/applications/gafaelfawr/secrets.yaml
+++ b/applications/gafaelfawr/secrets.yaml
@@ -58,6 +58,10 @@ redis-password:
deployments will then have to be restarted to pick up the new value.
generate:
type: password
+sentry-dsn:
+ description: >-
+ DSN URL to which Sentry trace and error logging will be sent.
+ if: config.enableSentry
session-secret:
description: >-
Encryption key used to encrypt the contents of Redis and the cookie data
diff --git a/applications/gafaelfawr/templates/_helpers.tpl b/applications/gafaelfawr/templates/_helpers.tpl
index eb32f96cd7..c20121c751 100644
--- a/applications/gafaelfawr/templates/_helpers.tpl
+++ b/applications/gafaelfawr/templates/_helpers.tpl
@@ -141,4 +141,15 @@ Common environment variables
name: "gafaelfawr-kafka"
key: "securityProtocol"
{{- end }}
+{{- if .Values.config.enableSentry }}
+- name: SENTRY_DSN
+ valueFrom:
+ secretKeyRef:
+ name: "gafaelfawr"
+ key: "sentry-dsn"
+- name: SENTRY_RELEASE
+ value: {{ .Chart.Name }}@{{ .Chart.AppVersion }}
+- name: SENTRY_ENVIRONMENT
+ value: {{ .Values.global.host }}
+{{- end }}
{{- end }}
diff --git a/applications/gafaelfawr/templates/cronjob-audit.yaml b/applications/gafaelfawr/templates/cronjob-audit.yaml
index df5bbd3453..6bf0c0aa2e 100644
--- a/applications/gafaelfawr/templates/cronjob-audit.yaml
+++ b/applications/gafaelfawr/templates/cronjob-audit.yaml
@@ -37,7 +37,7 @@ spec:
- "gafaelfawr"
- "audit"
env:
- {{- include "gafaelfawr.envVars" (dict "Release" .Release "Values" .Values) | nindent 16 }}
+ {{- include "gafaelfawr.envVars" (dict "Chart" .Chart "Release" .Release "Values" .Values) | nindent 16 }}
{{- if .Values.config.metrics.enabled }}
- name: "KAFKA_CLIENT_CERT_PATH"
value: "/etc/gafaelfawr-kafka/user.crt"
diff --git a/applications/gafaelfawr/templates/cronjob-maintenance.yaml b/applications/gafaelfawr/templates/cronjob-maintenance.yaml
index 7108a75266..d842a29cd0 100644
--- a/applications/gafaelfawr/templates/cronjob-maintenance.yaml
+++ b/applications/gafaelfawr/templates/cronjob-maintenance.yaml
@@ -36,7 +36,7 @@ spec:
- "gafaelfawr"
- "maintenance"
env:
- {{- include "gafaelfawr.envVars" (dict "Release" .Release "Values" .Values) | nindent 16 }}
+ {{- include "gafaelfawr.envVars" (dict "Chart" .Chart "Release" .Release "Values" .Values) | nindent 16 }}
{{- if .Values.config.metrics.enabled }}
- name: "KAFKA_CLIENT_CERT_PATH"
value: "/etc/gafaelfawr-kafka/user.crt"
diff --git a/applications/gafaelfawr/templates/deployment-operator.yaml b/applications/gafaelfawr/templates/deployment-operator.yaml
index 821ca0fabc..977fefb83c 100644
--- a/applications/gafaelfawr/templates/deployment-operator.yaml
+++ b/applications/gafaelfawr/templates/deployment-operator.yaml
@@ -42,7 +42,7 @@ spec:
- "-m"
- "gafaelfawr.operator"
env:
- {{- include "gafaelfawr.envVars" (dict "Release" .Release "Values" .Values) | nindent 12 }}
+ {{- include "gafaelfawr.envVars" (dict "Chart" .Chart "Release" .Release "Values" .Values) | nindent 12 }}
{{- if .Values.config.metrics.enabled }}
- name: "KAFKA_CLIENT_CERT_PATH"
value: "/etc/gafaelfawr-kafka/user.crt"
diff --git a/applications/gafaelfawr/templates/deployment.yaml b/applications/gafaelfawr/templates/deployment.yaml
index 22dc810318..bf8c7be68f 100644
--- a/applications/gafaelfawr/templates/deployment.yaml
+++ b/applications/gafaelfawr/templates/deployment.yaml
@@ -54,7 +54,7 @@ spec:
{{- end }}
- name: "gafaelfawr"
env:
- {{- include "gafaelfawr.envVars" (dict "Release" .Release "Values" .Values "sidecar" true) | nindent 12 }}
+ {{- include "gafaelfawr.envVars" (dict "Chart" .Chart "Release" .Release "Values" .Values "sidecar" true) | nindent 12 }}
{{- if .Values.config.metrics.enabled }}
- name: "KAFKA_CLIENT_CERT_PATH"
value: "/etc/gafaelfawr-kafka/user.crt"
diff --git a/applications/gafaelfawr/templates/job-schema-update.yaml b/applications/gafaelfawr/templates/job-schema-update.yaml
index 65bc2b52a0..b945525f3d 100644
--- a/applications/gafaelfawr/templates/job-schema-update.yaml
+++ b/applications/gafaelfawr/templates/job-schema-update.yaml
@@ -79,7 +79,7 @@ spec:
gafaelfawr update-schema
touch /lifecycle/main-terminated
env:
- {{- include "gafaelfawr.envVars" (dict "Release" .Release "Values" .Values "sidecar" true) | nindent 12 }}
+ {{- include "gafaelfawr.envVars" (dict "Chart" .Chart "Release" .Release "Values" .Values "sidecar" true) | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
{{- with .Values.resources }}
diff --git a/applications/gafaelfawr/values-idfprod.yaml b/applications/gafaelfawr/values-idfprod.yaml
index 6e55cc5d89..dcbf813f34 100644
--- a/applications/gafaelfawr/values-idfprod.yaml
+++ b/applications/gafaelfawr/values-idfprod.yaml
@@ -36,6 +36,10 @@ config:
- "dp0.2"
- "dp0.3"
+ # Enable metrics reporting.
+ metrics:
+ enabled: true
+
# User quota settings for services.
quota:
default:
diff --git a/applications/gafaelfawr/values.yaml b/applications/gafaelfawr/values.yaml
index 95820eabb6..284f2a7fab 100644
--- a/applications/gafaelfawr/values.yaml
+++ b/applications/gafaelfawr/values.yaml
@@ -51,6 +51,11 @@ config:
# `config.internalDatabase` are true
databaseUrl: null
+ # -- Whether to send trace and telemetry information to Sentry. This traces
+ # every call and therefore should only be enabled in non-production
+ # environments.
+ enableSentry: false
+
# -- HTML footer to add to any login error page (will be enclosed in a
# tag).
errorFooter: null
@@ -311,7 +316,7 @@ cloudsql:
repository: "gcr.io/cloudsql-docker/gce-proxy"
# -- Cloud SQL Auth Proxy tag to use
- tag: "1.37.1"
+ tag: "1.37.2"
# -- Tag suffix to use for the proxy for schema updates
schemaUpdateTagSuffix: "-alpine"
diff --git a/applications/ghostwriter/templates/ingress-toplevel.yaml b/applications/ghostwriter/templates/ingress-toplevel.yaml
index fb8ebbf3b5..af4ef97d56 100644
--- a/applications/ghostwriter/templates/ingress-toplevel.yaml
+++ b/applications/ghostwriter/templates/ingress-toplevel.yaml
@@ -11,6 +11,7 @@ config:
scopes:
all:
- "read:image"
+ service: "ghostwriter"
delegate:
notebook: {}
template:
diff --git a/applications/ghostwriter/templates/ingress.yaml b/applications/ghostwriter/templates/ingress.yaml
index 1570a890a7..bac29c13a3 100644
--- a/applications/ghostwriter/templates/ingress.yaml
+++ b/applications/ghostwriter/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: "ghostwriter"
delegate:
notebook: {}
template:
diff --git a/applications/giftless/templates/ingress.yaml b/applications/giftless/templates/ingress.yaml
index 77e97b5227..bf291fcd7a 100644
--- a/applications/giftless/templates/ingress.yaml
+++ b/applications/giftless/templates/ingress.yaml
@@ -91,6 +91,7 @@ config:
scopes:
all:
- "write:git-lfs"
+ service: "giftless"
template:
metadata:
name: {{ template "giftless.fullname" . }}-rw
diff --git a/applications/hips/templates/ingress.yaml b/applications/hips/templates/ingress.yaml
index 78bfe06ee9..8f87d5e1ac 100644
--- a/applications/hips/templates/ingress.yaml
+++ b/applications/hips/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: "hips"
template:
metadata:
name: "hips"
diff --git a/applications/jira-data-proxy/templates/ingress.yaml b/applications/jira-data-proxy/templates/ingress.yaml
index 771d96fc5e..8d91d25dab 100644
--- a/applications/jira-data-proxy/templates/ingress.yaml
+++ b/applications/jira-data-proxy/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "jira-data-proxy.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: false # endpoint is for API use only
scopes:
all:
- "exec:notebook"
- loginRedirect: false # endpoint is for API use only
+ service: "jira-data-proxy"
template:
metadata:
name: "jira-data-proxy"
diff --git a/applications/kubernetes-replicator/Chart.yaml b/applications/kubernetes-replicator/Chart.yaml
deleted file mode 100644
index 90365efd2c..0000000000
--- a/applications/kubernetes-replicator/Chart.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: v2
-name: kubernetes-replicator
-version: 1.0.0
-description: Kafka secret replicator
-home: https://github.com/mittwald/kubernetes-replicator
-sources:
- - https://github.com/mittwald/kubernetes-replicator
-dependencies:
- - name: kubernetes-replicator
- version: 2.11.0
- repository: https://helm.mittwald.de
diff --git a/applications/kubernetes-replicator/README.md b/applications/kubernetes-replicator/README.md
deleted file mode 100644
index 400f41a809..0000000000
--- a/applications/kubernetes-replicator/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# kubernetes-replicator
-
-Kafka secret replicator
-
-**Homepage:**
-
-## Source Code
-
-*
-
-## Values
-
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| kubernetes-replicator.resources | object | See `values.yaml` | Resource requests and limits for kubernetes-replicator |
-| kubernetes-replicator.serviceAccount.annotations | object | `{}` | |
-| kubernetes-replicator.serviceAccount.create | bool | `true` | |
-| kubernetes-replicator.serviceAccount.name | string | `nil` | |
-| kubernetes-replicator.serviceAccount.privileges[0].apiGroups[0] | string | `""` | |
-| kubernetes-replicator.serviceAccount.privileges[0].apiGroups[1] | string | `"apps"` | |
-| kubernetes-replicator.serviceAccount.privileges[0].apiGroups[2] | string | `"extensions"` | |
-| kubernetes-replicator.serviceAccount.privileges[0].resources[0] | string | `"secrets"` | |
-| kubernetes-replicator.serviceAccount.privileges[0].resources[1] | string | `"configmaps"` | |
diff --git a/applications/kubernetes-replicator/values-roundtable-dev.yaml b/applications/kubernetes-replicator/values-roundtable-dev.yaml
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/applications/kubernetes-replicator/values-roundtable-prod.yaml b/applications/kubernetes-replicator/values-roundtable-prod.yaml
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/applications/kubernetes-replicator/values.yaml b/applications/kubernetes-replicator/values.yaml
deleted file mode 100644
index 38c314644b..0000000000
--- a/applications/kubernetes-replicator/values.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-kubernetes-replicator:
- serviceAccount:
- create: true
- annotations: {}
- name:
- privileges:
- - apiGroups: ["", "apps", "extensions"]
- resources: ["secrets", "configmaps"]
-
- # -- Resource requests and limits for kubernetes-replicator
- # @default -- See `values.yaml`
- resources:
- limits:
- cpu: "1"
- memory: "32Mi"
- requests:
- cpu: "1m"
- memory: "14Mi"
diff --git a/applications/livetap/README.md b/applications/livetap/README.md
index 0884f22fe9..221ada8fcc 100644
--- a/applications/livetap/README.md
+++ b/applications/livetap/README.md
@@ -15,8 +15,9 @@ IVOA TAP service
| cadc-tap.config.pg.database | string | `"lsstdb1"` | Postgres database to connect to |
| cadc-tap.config.pg.host | string | `"mock-pg:5432"` (the mock pg) | Postgres hostname:port to connect to |
| cadc-tap.config.pg.username | string | `"rubin"` | Postgres username to use to connect |
+| cadc-tap.config.serviceName | string | `"livetap"` | Name of the service from Gafaelfawr's perspective |
| cadc-tap.config.vaultSecretName | string | `"livetap"` | Vault secret name: the final key in the vault path |
-| cadc-tap.ingress.path | string | `"live"` | |
+| cadc-tap.ingress.path | string | `"live"` | Ingress path that should be routed to this service |
| global.baseUrl | string | Set by Argo CD | Base URL for the environment |
| global.host | string | Set by Argo CD | Host name for ingress |
| global.vaultSecretsPath | string | Set by Argo CD | Base path for Vault secrets |
diff --git a/applications/livetap/values.yaml b/applications/livetap/values.yaml
index df18fd489a..778b85d536 100644
--- a/applications/livetap/values.yaml
+++ b/applications/livetap/values.yaml
@@ -1,12 +1,15 @@
cadc-tap:
- # Settings for the ingress rules.
ingress:
+ # -- Ingress path that should be routed to this service
path: "live"
config:
# -- What type of backend?
backend: "pg"
+ # -- Name of the service from Gafaelfawr's perspective
+ serviceName: "livetap"
+
pg:
# -- Postgres hostname:port to connect to
# @default -- `"mock-pg:5432"` (the mock pg)
diff --git a/applications/love/README.md b/applications/love/README.md
index d0e10912c7..2c4cc73cbe 100644
--- a/applications/love/README.md
+++ b/applications/love/README.md
@@ -146,7 +146,7 @@ Deployment for the LSST Operators Visualization Environment
| love-nginx.affinity | object | `{}` | Affinity rules for the NGINX pod |
| love-nginx.image.pullPolicy | string | `"IfNotPresent"` | The pull policy on the NGINX image |
| love-nginx.image.repository | string | `"nginx"` | The NGINX image to use |
-| love-nginx.image.tag | string | `"1.27.2"` | The tag to use for the NGINX image |
+| love-nginx.image.tag | string | `"1.27.3"` | The tag to use for the NGINX image |
| love-nginx.imagePullSecrets | list | `[]` | The list of pull secrets needed for the images. If this section is used, each object listed can have the following attributes defined: _name_ (The label identifying the pull-secret to use) |
| love-nginx.ingress.annotations | object | `{}` | Annotations for the NGINX ingress |
| love-nginx.ingress.className | string | `"nginx"` | Assign the Ingress class name |
diff --git a/applications/love/charts/love-nginx/README.md b/applications/love/charts/love-nginx/README.md
index 6a1289a87e..d0adb7822a 100644
--- a/applications/love/charts/love-nginx/README.md
+++ b/applications/love/charts/love-nginx/README.md
@@ -9,7 +9,7 @@ Helm chart for the LOVE Nginx server.
| affinity | object | `{}` | Affinity rules for the NGINX pod |
| image.pullPolicy | string | `"IfNotPresent"` | The pull policy on the NGINX image |
| image.repository | string | `"nginx"` | The NGINX image to use |
-| image.tag | string | `"1.27.2"` | The tag to use for the NGINX image |
+| image.tag | string | `"1.27.3"` | The tag to use for the NGINX image |
| imagePullSecrets | list | `[]` | The list of pull secrets needed for the images. If this section is used, each object listed can have the following attributes defined: _name_ (The label identifying the pull-secret to use) |
| ingress.annotations | object | `{}` | Annotations for the NGINX ingress |
| ingress.className | string | `"nginx"` | Assign the Ingress class name |
diff --git a/applications/love/charts/love-nginx/values.yaml b/applications/love/charts/love-nginx/values.yaml
index d4e96320fa..969d18791b 100644
--- a/applications/love/charts/love-nginx/values.yaml
+++ b/applications/love/charts/love-nginx/values.yaml
@@ -4,7 +4,7 @@ image:
# -- The NGINX image to use
repository: nginx
# -- The tag to use for the NGINX image
- tag: 1.27.2
+ tag: 1.27.3
# -- The pull policy on the NGINX image
pullPolicy: IfNotPresent
# -- Service type specification
diff --git a/applications/love/values-base.yaml b/applications/love/values-base.yaml
index 090346b111..68afdb0fa0 100644
--- a/applications/love/values-base.yaml
+++ b/applications/love/values-base.yaml
@@ -23,7 +23,6 @@ love-manager:
frontend:
image:
repository: ts-dockerhub.lsst.org/love-manager
- tag: k0002
pullPolicy: Always
env:
SERVER_URL: base-lsp.lsst.codes
@@ -63,7 +62,6 @@ love-manager:
- name: general
image:
repository: ts-dockerhub.lsst.org/love-manager
- tag: k0002
pullPolicy: Always
env:
LOVE_SITE: base
@@ -127,7 +125,6 @@ love-manager:
- name: queue
image:
repository: ts-dockerhub.lsst.org/love-manager
- tag: k0002
pullPolicy: Always
env:
LOVE_SITE: base
@@ -191,7 +188,6 @@ love-manager:
- name: m1m3
image:
repository: ts-dockerhub.lsst.org/love-manager
- tag: k0002
pullPolicy: Always
env:
LOVE_SITE: base
@@ -434,15 +430,18 @@ love-producer:
- name: auxteless204
csc: ESS:204 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- - name: auxteless205
- csc: ESS:205 --log-level 10
- WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: calibhilless301
csc: ESS:301 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: cameraess111
+ csc: ESS:111 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: camerahexapod
csc: MTHexapod:1 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: cleanroomess109
+ csc: ESS:109 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: dimm1
csc: DIMM:1 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
@@ -470,9 +469,15 @@ love-producer:
- name: love
csc: LOVE:0 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: m1m3ess113
+ csc: ESS:113 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: m2ess106
csc: ESS:106 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: m2ess112
+ csc: ESS:112 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: m2hexapod
csc: MTHexapod:2 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
@@ -488,15 +493,6 @@ love-producer:
- name: mtdome
csc: MTDome:0 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- - name: mtdomeess101
- csc: ESS:101 --log-level 10
- WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- - name: mtdomeess102
- csc: ESS:102 --log-level 10
- WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- - name: mtdomeess103
- csc: ESS:103 --log-level 10
- WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtdomeess107
csc: ESS:107 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
@@ -511,10 +507,10 @@ love-producer:
WEBSOCKET_HOST: love-nginx-service/love/manager/m1m3/ws/subscription
resources:
requests:
- cpu: 10m
- memory: 200Mi
- limits:
cpu: 100m
+ memory: 220Mi
+ limits:
+ cpu: 500m
memory: 600Mi
- name: mtm2
csc: MTM2:0 --log-level 10
@@ -549,6 +545,9 @@ love-producer:
- name: tmaess105
csc: ESS:105 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: tmaess110
+ csc: ESS:110 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: watcher
csc: Watcher:0 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
diff --git a/applications/love/values-tucson-teststand.yaml b/applications/love/values-tucson-teststand.yaml
index 17839b75b6..6892caa197 100644
--- a/applications/love/values-tucson-teststand.yaml
+++ b/applications/love/values-tucson-teststand.yaml
@@ -59,19 +59,171 @@ love-manager:
initialDelaySeconds: 20
periodSeconds: 10
producers:
+ - name: general
image:
repository: ts-dockerhub.lsst.org/love-manager
pullPolicy: Always
env:
+ LOVE_SITE: tucson
SERVER_URL: tucson-teststand.lsst.codes
OLE_API_HOSTNAME: tucson-teststand.lsst.codes
AUTH_LDAP_1_SERVER_URI: ldap://ipa1.tu.lsst.org
AUTH_LDAP_2_SERVER_URI: ldap://ipa2.tu.lsst.org
AUTH_LDAP_3_SERVER_URI: ldap://ipa3.tu.lsst.org
+ COMMANDER_HOSTNAME: love-commander-service
+ COMMANDER_PORT: 5000
DB_HOST: postgresdb01.tu.lsst.org
+ DB_ENGINE: postgresql
+ DB_NAME: love
+ DB_PORT: 5432
+ DB_USER: love
+ HEARTBEAT_QUERY_COMMANDER: false
+ JIRA_API_HOSTNAME: rubinobs.atlassian.net
+ JIRA_PROJECT_ID: 10063
+ REDIS_CONFIG_CAPACITY: 5000
+ REDIS_CONFIG_EXPIRY: 5
+ REDIS_HOST: love-manager-redis-service
+ REMOTE_STORAGE: true
+ URL_SUBPATH: /love
+ envSecrets:
+ SECRET_KEY: manager-secret-key
+ PROCESS_CONNECTION_PASS: process-connection-pass
+ ADMIN_USER_PASS: admin-user-pass
+ USER_USER_PASS: user-user-pass
+ CMD_USER_PASS: cmd-user-pass
+ AUTHLIST_USER_PASS: authlist-user-pass
+ AUTH_LDAP_BIND_PASSWORD: auth-ldap-bind-password
+ DB_PASS: db-pass
+ REDIS_PASS: redis-pass
+ replicas: 10
+ autoscaling:
+ enabled: false
+ minReplicas: 2
+ maxReplicas: 25
+ targetCPUUtilizationPercentage: 50
+ scaleDownPolicy:
+ policies:
+ - type: Pods
+ value: 2
+ periodSeconds: 120
+ - type: Percent
+ value: 10
+ periodSeconds: 120
+ selectPolicy: Min
+ resources:
+ requests:
+ cpu: 150m
+ memory: 200Mi
+ limits:
+ cpu: 1000m
+ memory: 1500Mi
+ readinessProbe:
+ tcpSocket:
+ port: 8000
+ initialDelaySeconds: 20
+ periodSeconds: 10
+ - name: queue
+ image:
+ repository: ts-dockerhub.lsst.org/love-manager
+ pullPolicy: Always
+ env:
LOVE_SITE: tucson
+ SERVER_URL: tucson-teststand.lsst.codes
+ OLE_API_HOSTNAME: tucson-teststand.lsst.codes
+ AUTH_LDAP_1_SERVER_URI: ldap://ipa1.tu.lsst.org
+ AUTH_LDAP_2_SERVER_URI: ldap://ipa2.tu.lsst.org
+ AUTH_LDAP_3_SERVER_URI: ldap://ipa3.tu.lsst.org
+ COMMANDER_HOSTNAME: love-commander-service
+ COMMANDER_PORT: 5000
+ DB_HOST: postgresdb01.tu.lsst.org
+ DB_ENGINE: postgresql
+ DB_NAME: love
+ DB_PORT: 5432
+ DB_USER: love
+ HEARTBEAT_QUERY_COMMANDER: false
+ JIRA_API_HOSTNAME: rubinobs.atlassian.net
+ JIRA_PROJECT_ID: 10063
+ REDIS_CONFIG_CAPACITY: 5000
+ REDIS_CONFIG_EXPIRY: 5
+ REDIS_HOST: love-manager-redis-service
+ REMOTE_STORAGE: true
+ URL_SUBPATH: /love
+ envSecrets:
+ SECRET_KEY: manager-secret-key
+ PROCESS_CONNECTION_PASS: process-connection-pass
+ ADMIN_USER_PASS: admin-user-pass
+ USER_USER_PASS: user-user-pass
+ CMD_USER_PASS: cmd-user-pass
+ AUTHLIST_USER_PASS: authlist-user-pass
+ AUTH_LDAP_BIND_PASSWORD: auth-ldap-bind-password
+ DB_PASS: db-pass
+ REDIS_PASS: redis-pass
+ replicas: 3
autoscaling:
- enabled: true
+ enabled: false
+ minReplicas: 2
+ maxReplicas: 25
+ targetCPUUtilizationPercentage: 50
+ scaleDownPolicy:
+ policies:
+ - type: Pods
+ value: 2
+ periodSeconds: 120
+ - type: Percent
+ value: 10
+ periodSeconds: 120
+ selectPolicy: Min
+ resources:
+ requests:
+ cpu: 150m
+ memory: 200Mi
+ limits:
+ cpu: 1000m
+ memory: 1500Mi
+ readinessProbe:
+ tcpSocket:
+ port: 8000
+ initialDelaySeconds: 20
+ periodSeconds: 10
+ - name: m1m3
+ image:
+ repository: ts-dockerhub.lsst.org/love-manager
+ pullPolicy: Always
+ env:
+ LOVE_SITE: tucson
+ SERVER_URL: tucson-teststand.lsst.codes
+ OLE_API_HOSTNAME: tucson-teststand.lsst.codes
+ AUTH_LDAP_1_SERVER_URI: ldap://ipa1.tu.lsst.org
+ AUTH_LDAP_2_SERVER_URI: ldap://ipa2.tu.lsst.org
+ AUTH_LDAP_3_SERVER_URI: ldap://ipa3.tu.lsst.org
+ COMMANDER_HOSTNAME: love-commander-service
+ COMMANDER_PORT: 5000
+ DB_HOST: postgresdb01.tu.lsst.org
+ DB_ENGINE: postgresql
+ DB_NAME: love
+ DB_PORT: 5432
+ DB_USER: love
+ HEARTBEAT_QUERY_COMMANDER: false
+ JIRA_API_HOSTNAME: rubinobs.atlassian.net
+ JIRA_PROJECT_ID: 10063
+ REDIS_CONFIG_CAPACITY: 5000
+ REDIS_CONFIG_EXPIRY: 5
+ REDIS_HOST: love-manager-redis-service
+ REMOTE_STORAGE: true
+ URL_SUBPATH: /love
+ envSecrets:
+ SECRET_KEY: manager-secret-key
+ PROCESS_CONNECTION_PASS: process-connection-pass
+ ADMIN_USER_PASS: admin-user-pass
+ USER_USER_PASS: user-user-pass
+ CMD_USER_PASS: cmd-user-pass
+ AUTHLIST_USER_PASS: authlist-user-pass
+ AUTH_LDAP_BIND_PASSWORD: auth-ldap-bind-password
+ DB_PASS: db-pass
+ REDIS_PASS: redis-pass
+ replicas: 1
+ autoscaling:
+ enabled: false
minReplicas: 2
maxReplicas: 25
targetCPUUtilizationPercentage: 50
@@ -200,8 +352,6 @@ love-producer:
image:
repository: ts-dockerhub.lsst.org/love-producer
pullPolicy: Always
- env:
- WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
resources:
requests:
cpu: 10m
@@ -212,121 +362,179 @@ love-producer:
producers:
- name: ataos
csc: ATAOS:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atcamera
csc: ATCamera:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atdome
csc: ATDome:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atdometrajectory
csc: ATDomeTrajectory:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atheaderservice
csc: ATHeaderService:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: athexapod
csc: ATHexapod:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atmcs
csc: ATMCS:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atocps
csc: OCPS:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atoods
csc: ATOODS:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atpneumatics
csc: ATPneumatics:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atptg
csc: ATPtg:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atscheduler
csc: Scheduler:2 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: atscriptqueue
csc: ScriptQueue:2 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/queue/ws/subscription
- name: atspectrograph
csc: ATSpectrograph:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: auxteless201
csc: ESS:201 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: auxteless202
csc: ESS:202 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: auxteless203
csc: ESS:203 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: auxteless204
csc: ESS:204 --log-level 10
- - name: auxteless205
- csc: ESS:205 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: calibhilless301
csc: ESS:301 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: cameraess111
+ csc: ESS:111 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: camerahexapod
csc: MTHexapod:1 --log-level 10
- - name: cccamera
- csc: CCCamera:0 --log-level 10
- - name: ccheaderservice
- csc: CCHeaderService:0 --log-level 10
- - name: ccoods
- csc: CCOODS:0 --log-level 10
- - name: ccocps
- csc: OCPS:2 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: cleanroomess109
+ csc: ESS:109 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: dimm1
csc: DIMM:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: dimm2
csc: DIMM:2 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: dsm1
csc: DSM:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: dsm2
csc: DSM:2 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: epm1
csc: EPM:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: gcheaderservice1
csc: GCHeaderService:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: genericcamera1
csc: GenericCamera:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: lasertracker1
csc: LaserTracker:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: love
csc: LOVE:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: m1m3ess113
+ csc: ESS:113 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: m2ess106
csc: ESS:106 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: m2ess112
+ csc: ESS:112 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: m2hexapod
csc: MTHexapod:2 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtaircompressor1
csc: MTAirCompressor:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtaircompressor2
csc: MTAirCompressor:2 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtaos
csc: MTAOS:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtdome
csc: MTDome:0 --log-level 10
- - name: mtdomeess101
- csc: ESS:101 --log-level 10
- - name: mtdomeess102
- csc: ESS:102 --log-level 10
- - name: mtdomeess103
- csc: ESS:103 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtdomeess107
csc: ESS:107 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtdomeess108
csc: ESS:108 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtdometrajectory
csc: MTDomeTrajectory:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtm1m3
csc: MTM1M3:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/m1m3/ws/subscription
+ resources:
+ requests:
+ cpu: 100m
+ memory: 220Mi
+ limits:
+ cpu: 500m
+ memory: 600Mi
- name: mtm2
csc: MTM2:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtmount
csc: MTMount:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtptg
csc: MTPtg:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtrotator
csc: MTRotator:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtscheduler
csc: Scheduler:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: mtscriptqueue
csc: ScriptQueue:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/queue/ws/subscription
- name: ocsscheduler
csc: Scheduler:3 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: ocsscriptqueue
csc: ScriptQueue:3 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/queue/ws/subscription
- name: tmaess001
csc: ESS:1 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: tmaess104
csc: ESS:104 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: tmaess105
csc: ESS:105 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
+ - name: tmaess110
+ csc: ESS:110 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: watcher
csc: Watcher:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
- name: weatherforecast
csc: WeatherForecast:0 --log-level 10
+ WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
diff --git a/applications/mobu/templates/ingress.yaml b/applications/mobu/templates/ingress.yaml
index ce60afd027..73d69de2eb 100644
--- a/applications/mobu/templates/ingress.yaml
+++ b/applications/mobu/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "mobu.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:admin"
- loginRedirect: true
+ service: "mobu"
template:
metadata:
name: {{ template "mobu.fullname" . }}
diff --git a/applications/monitoring/README.md b/applications/monitoring/README.md
index 68e2befc31..b4d77d93ad 100644
--- a/applications/monitoring/README.md
+++ b/applications/monitoring/README.md
@@ -43,6 +43,7 @@ Monitoring suite: InfluxDB2, Chronograf, telegraf
| influxdb2.ingress | object | disabled, must be enabled and configured at each site | InfluxDB2 ingress configuration. |
| influxdb2.livenessProbe.failureThreshold | int | `10` | Number of checks to conclude whether InfluxDB has died |
| influxdb2.livenessProbe.periodSeconds | int | `10` | Period between checks for whether InfluxDB is still alive |
+| influxdb2.pdb | object | disabled; nonsensical for single replica | InfluxDB2 pod disruption budget. |
| influxdb2.resources | object | See `values.yaml` | Resource limits and requests for the InfluxDB server instance |
| influxdb2.startupProbe.enabled | bool | `true` | Whether to enable a startup probe |
| influxdb2.startupProbe.failureThreshold | int | `60` | Number of checks to conclude whether InfluxDB won't start. High to allow up to 10 minutes for startup, because checking many shards can be slow. |
diff --git a/applications/monitoring/values.yaml b/applications/monitoring/values.yaml
index d0035f2dac..725c06d060 100644
--- a/applications/monitoring/values.yaml
+++ b/applications/monitoring/values.yaml
@@ -23,6 +23,11 @@ influxdb2:
# -- Where we store secrets to run the server
existingSecret: monitoring
+ # -- InfluxDB2 pod disruption budget.
+ # @default -- disabled; nonsensical for single replica
+ pdb:
+ create: false
+
# -- InfluxDB2 ingress configuration.
# @default -- disabled, must be enabled and configured at each site
ingress:
diff --git a/applications/narrativelog/templates/ingress.yaml b/applications/narrativelog/templates/ingress.yaml
index 796e78fd1d..73ad20a4d8 100644
--- a/applications/narrativelog/templates/ingress.yaml
+++ b/applications/narrativelog/templates/ingress.yaml
@@ -11,6 +11,7 @@ config:
scopes:
all:
- "exec:internal-tools"
+ service: "narrativelog"
{{- else }}
scopes:
anonymous: true
diff --git a/applications/next-visit-fan-out/values-usdfdev-prompt-processing.yaml b/applications/next-visit-fan-out/values-usdfdev-prompt-processing.yaml
index fc97581a64..22c4ccfc71 100644
--- a/applications/next-visit-fan-out/values-usdfdev-prompt-processing.yaml
+++ b/applications/next-visit-fan-out/values-usdfdev-prompt-processing.yaml
@@ -3,7 +3,7 @@ knative:
retryRequests: false
kafka:
- schemaRegistryUrl: http://10.96.181.159:8081
+ schemaRegistryUrl: http://10.103.8.219:8081
sasquatchAddress: 10.100.226.209:9094
consumerGroup: test-group-3
nextVisitTopic: test.next-visit
diff --git a/applications/next-visit-fan-out/values-usdfprod-prompt-processing.yaml b/applications/next-visit-fan-out/values-usdfprod-prompt-processing.yaml
index 75a9eccb55..c2fd7c9667 100644
--- a/applications/next-visit-fan-out/values-usdfprod-prompt-processing.yaml
+++ b/applications/next-visit-fan-out/values-usdfprod-prompt-processing.yaml
@@ -1,8 +1,8 @@
knative:
- maxMessages: 1000 # Kubernetes can't support more pods yet
+ maxMessages: 1000 # Kubernetes can't support more pods yet
kafka:
- schemaRegistryUrl: http://10.110.90.252:8081
+ schemaRegistryUrl: http://10.96.24.88:8081
sasquatchAddress: 10.96.121.181:9094
consumerGroup: next-visit-fan-out-1
nextVisitTopic: lsst.sal.ScriptQueue.logevent_nextVisit
diff --git a/applications/nightreport/templates/ingress.yaml b/applications/nightreport/templates/ingress.yaml
index 930d61eab8..a6600c25a5 100644
--- a/applications/nightreport/templates/ingress.yaml
+++ b/applications/nightreport/templates/ingress.yaml
@@ -11,6 +11,7 @@ config:
scopes:
all:
- "exec:internal-tools"
+ service: "nightreport"
{{- else }}
scopes:
anonymous: true
diff --git a/applications/noteburst/templates/ingress.yaml b/applications/noteburst/templates/ingress.yaml
index 2072a48326..c468e359dc 100644
--- a/applications/noteburst/templates/ingress.yaml
+++ b/applications/noteburst/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "noteburst.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:notebook"
- loginRedirect: true
+ service: "noteburst"
template:
metadata:
name: {{ template "noteburst.fullname" . }}
diff --git a/applications/noteburst/values-usdfdev.yaml b/applications/noteburst/values-usdfdev.yaml
index 612ce2000e..cffd799774 100644
--- a/applications/noteburst/values-usdfdev.yaml
+++ b/applications/noteburst/values-usdfdev.yaml
@@ -13,6 +13,7 @@ config:
- username: "bot-noteburst03"
- username: "bot-noteburst04"
- username: "bot-noteburst05"
+ imageSelector: "weekly"
# Use SSD for Redis storage.
redis:
diff --git a/applications/nublado/README.md b/applications/nublado/README.md
index 1ecc7508f2..0dff4471ee 100644
--- a/applications/nublado/README.md
+++ b/applications/nublado/README.md
@@ -17,7 +17,7 @@ JupyterHub and custom spawner for the Rubin Science Platform
| cloudsql.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for Cloud SQL Auth Proxy images |
| cloudsql.image.repository | string | `"gcr.io/cloudsql-docker/gce-proxy"` | Cloud SQL Auth Proxy image to use |
| cloudsql.image.resources | object | See `values.yaml` | Resource requests and limits for Cloud SQL pod |
-| cloudsql.image.tag | string | `"1.37.1"` | Cloud SQL Auth Proxy tag to use |
+| cloudsql.image.tag | string | `"1.37.2"` | Cloud SQL Auth Proxy tag to use |
| cloudsql.instanceConnectionName | string | None, must be set if Cloud SQL Auth Proxy is enabled | Instance connection name for a Cloud SQL PostgreSQL instance |
| cloudsql.nodeSelector | object | `{}` | Node selection rules for the Cloud SQL Auth Proxy pod |
| cloudsql.podAnnotations | object | `{}` | Annotations for the Cloud SQL Auth Proxy pod |
diff --git a/applications/nublado/templates/controller-ingress-admin.yaml b/applications/nublado/templates/controller-ingress-admin.yaml
index 43043b1cc4..1778da8f75 100644
--- a/applications/nublado/templates/controller-ingress-admin.yaml
+++ b/applications/nublado/templates/controller-ingress-admin.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "exec:admin"
+ service: "nublado-controller"
template:
metadata:
name: "controller-admin"
diff --git a/applications/nublado/templates/controller-ingress-files.yaml b/applications/nublado/templates/controller-ingress-files.yaml
index 19d7506b89..de85296010 100644
--- a/applications/nublado/templates/controller-ingress-files.yaml
+++ b/applications/nublado/templates/controller-ingress-files.yaml
@@ -10,9 +10,10 @@ config:
scopes:
all:
- "write:files"
+ service: "nublado-files"
delegate:
internal:
- service: "nublado"
+ service: "nublado-files"
scopes: []
template:
metadata:
diff --git a/applications/nublado/templates/controller-ingress-hub.yaml b/applications/nublado/templates/controller-ingress-hub.yaml
index 2c1c00c611..c25dbc96a7 100644
--- a/applications/nublado/templates/controller-ingress-hub.yaml
+++ b/applications/nublado/templates/controller-ingress-hub.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "admin:jupyterlab"
+ service: "nublado-controller"
template:
metadata:
name: "controller-hub"
diff --git a/applications/nublado/templates/controller-ingress-user.yaml b/applications/nublado/templates/controller-ingress-user.yaml
index 45549f4703..ca6b9d26d8 100644
--- a/applications/nublado/templates/controller-ingress-user.yaml
+++ b/applications/nublado/templates/controller-ingress-user.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "exec:notebook"
+ service: "nublado-controller"
delegate:
notebook: {}
template:
diff --git a/applications/nublado/templates/proxy-ingress.yaml b/applications/nublado/templates/proxy-ingress.yaml
index 4a7b13f7ce..96dc37c762 100644
--- a/applications/nublado/templates/proxy-ingress.yaml
+++ b/applications/nublado/templates/proxy-ingress.yaml
@@ -7,10 +7,11 @@ metadata:
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
authCacheDuration: "5m"
+ loginRedirect: true
scopes:
all:
- "exec:notebook"
- loginRedirect: true
+ service: "nublado"
delegate:
notebook: {}
template:
diff --git a/applications/nublado/templates/proxy-spawn-ingress.yaml b/applications/nublado/templates/proxy-spawn-ingress.yaml
index 06af378237..54c4761c36 100644
--- a/applications/nublado/templates/proxy-spawn-ingress.yaml
+++ b/applications/nublado/templates/proxy-spawn-ingress.yaml
@@ -7,10 +7,11 @@ metadata:
{{- include "nublado.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:notebook"
- loginRedirect: true
+ service: "nublado"
delegate:
{{- if .Values.hub.minimumTokenLifetime }}
minimumLifetime: {{ .Values.hub.minimumTokenLifetime }}
diff --git a/applications/nublado/values.yaml b/applications/nublado/values.yaml
index 79049d8170..524c7c7788 100644
--- a/applications/nublado/values.yaml
+++ b/applications/nublado/values.yaml
@@ -585,7 +585,7 @@ cloudsql:
pullPolicy: "IfNotPresent"
# -- Cloud SQL Auth Proxy tag to use
- tag: "1.37.1"
+ tag: "1.37.2"
# -- Instance connection name for a Cloud SQL PostgreSQL instance
# @default -- None, must be set if Cloud SQL Auth Proxy is enabled
diff --git a/applications/obsenv-management/charts/obsenv-ui/templates/ingress.yaml b/applications/obsenv-management/charts/obsenv-ui/templates/ingress.yaml
index de30d87046..1ad03831c5 100644
--- a/applications/obsenv-management/charts/obsenv-ui/templates/ingress.yaml
+++ b/applications/obsenv-management/charts/obsenv-ui/templates/ingress.yaml
@@ -10,9 +10,10 @@ config:
scopes:
all:
- "exec:internal-tools"
+ service: "obsenv-ui"
delegate:
internal:
- service: "obsenv-api"
+ service: "obsenv-ui"
scopes: []
template:
metadata:
diff --git a/applications/ook/templates/ingress.yaml b/applications/ook/templates/ingress.yaml
index 41fe9578a7..d43bc0a839 100644
--- a/applications/ook/templates/ingress.yaml
+++ b/applications/ook/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "ook.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:admin"
- loginRedirect: true
+ service: "ook"
template:
metadata:
name: {{ template "ook.fullname" . }}
diff --git a/applications/plot-navigator/templates/ingress.yaml b/applications/plot-navigator/templates/ingress.yaml
index a0c1d19102..e32f7e32e5 100644
--- a/applications/plot-navigator/templates/ingress.yaml
+++ b/applications/plot-navigator/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "plot-navigator.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:portal"
- loginRedirect: true
+ service: "plot-navigator"
delegate:
internal:
scopes: []
diff --git a/applications/portal/templates/ingress-admin.yaml b/applications/portal/templates/ingress-admin.yaml
index 2a107ab1f5..65fc675e29 100644
--- a/applications/portal/templates/ingress-admin.yaml
+++ b/applications/portal/templates/ingress-admin.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "portal.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:admin"
- loginRedirect: true
+ service: "portal"
template:
metadata:
name: {{ include "portal.fullname" . }}-admin
diff --git a/applications/portal/templates/ingress.yaml b/applications/portal/templates/ingress.yaml
index 0d7d6fc957..b14411788a 100644
--- a/applications/portal/templates/ingress.yaml
+++ b/applications/portal/templates/ingress.yaml
@@ -7,10 +7,11 @@ metadata:
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
authCacheDuration: "5m"
+ loginRedirect: true
scopes:
all:
- "exec:portal"
- loginRedirect: true
+ service: "portal"
delegate:
internal:
service: "portal"
diff --git a/applications/ppdb-replication/templates/ingress.yaml b/applications/ppdb-replication/templates/ingress.yaml
index 381bce084c..849ae8c296 100644
--- a/applications/ppdb-replication/templates/ingress.yaml
+++ b/applications/ppdb-replication/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: "ppdb-replication"
template:
metadata:
name: "ppdb-replication"
diff --git a/applications/production-tools/templates/ingress.yaml b/applications/production-tools/templates/ingress.yaml
index fbf1fb3bde..fab4f59fbf 100644
--- a/applications/production-tools/templates/ingress.yaml
+++ b/applications/production-tools/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "production-tools.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:portal"
- loginRedirect: true
+ service: "production-tools"
template:
metadata:
name: {{ template "production-tools.fullname" . }}
diff --git a/applications/prompt-proto-service-hsc-gpu/README.md b/applications/prompt-proto-service-hsc-gpu/README.md
index ac15e45b47..8d393c1e28 100644
--- a/applications/prompt-proto-service-hsc-gpu/README.md
+++ b/applications/prompt-proto-service-hsc-gpu/README.md
@@ -31,9 +31,9 @@ Prompt Proto Service is an event driven service for processing camera images. Th
| prompt-proto-service.imageNotifications.topic | string | None, must be set | Topic where raw image arrival notifications appear |
| prompt-proto-service.instrument.calibRepo | string | None, must be set | URI to the shared repo used for calibrations, templates, and pipeline outputs. If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself. |
| prompt-proto-service.instrument.name | string | `"HSC"` | The "short" name of the instrument |
-| prompt-proto-service.instrument.pipelines.main | string | None, must be set | Machine-readable string describing which pipeline(s) should be run for which visits. Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
-| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival. |
-| prompt-proto-service.instrument.preloadPadding | int | `30` | Number of arcseconds to pad the spatial region in preloading. |
+| prompt-proto-service.instrument.pipelines.main | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run for which visits' raws. Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
+| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival. |
+| prompt-proto-service.instrument.preloadPadding | int | `42` | Number of arcseconds to pad the spatial region in preloading. |
| prompt-proto-service.instrument.skymap | string | `"hsc_rings_v1"` | Skymap to use with the instrument |
| prompt-proto-service.knative.cpuLimit | int | `1` | The maximum cpu cores for the full pod (see `containerConcurrency`). |
| prompt-proto-service.knative.cpuRequest | int | `1` | The cpu cores requested for the full pod (see `containerConcurrency`). |
diff --git a/applications/prompt-proto-service-hsc-gpu/values-usdfdev-prompt-processing.yaml b/applications/prompt-proto-service-hsc-gpu/values-usdfdev-prompt-processing.yaml
index 33666a8bf6..0c3a27f4da 100644
--- a/applications/prompt-proto-service-hsc-gpu/values-usdfdev-prompt-processing.yaml
+++ b/applications/prompt-proto-service-hsc-gpu/values-usdfdev-prompt-processing.yaml
@@ -12,8 +12,12 @@ prompt-proto-service:
instrument:
pipelines:
- main: (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/HSC/ApPipe.yaml]
- preprocessing: (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/HSC/Preprocessing.yaml]
+ main: |-
+ - survey: SURVEY
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/HSC/ApPipe.yaml']
+ preprocessing: |-
+ - survey: SURVEY
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/HSC/Preprocessing.yaml']
calibRepo: s3://rubin-pp-dev-users/central_repo_2
s3:
diff --git a/applications/prompt-proto-service-hsc-gpu/values.yaml b/applications/prompt-proto-service-hsc-gpu/values.yaml
index 9ccc7af9dd..6cf07db2d8 100644
--- a/applications/prompt-proto-service-hsc-gpu/values.yaml
+++ b/applications/prompt-proto-service-hsc-gpu/values.yaml
@@ -38,17 +38,17 @@ prompt-proto-service:
# -- The "short" name of the instrument
name: HSC
pipelines:
- # -- Machine-readable string describing which pipeline(s) should be run for which visits.
- # Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
+ # -- YAML-formatted config describing which pipeline(s) should be run for which visits' raws.
+ # Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
# @default -- None, must be set
main: ""
- # -- Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival.
+ # -- YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival.
# @default -- None, must be set
preprocessing: ""
# -- Skymap to use with the instrument
skymap: hsc_rings_v1
# -- Number of arcseconds to pad the spatial region in preloading.
- preloadPadding: 30
+ preloadPadding: 42
# -- URI to the shared repo used for calibrations, templates, and pipeline outputs.
# If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself.
# @default -- None, must be set
diff --git a/applications/prompt-proto-service-hsc/README.md b/applications/prompt-proto-service-hsc/README.md
index ac633519c8..3f6af2f7fb 100644
--- a/applications/prompt-proto-service-hsc/README.md
+++ b/applications/prompt-proto-service-hsc/README.md
@@ -31,9 +31,9 @@ Prompt Proto Service is an event driven service for processing camera images. Th
| prompt-proto-service.imageNotifications.topic | string | None, must be set | Topic where raw image arrival notifications appear |
| prompt-proto-service.instrument.calibRepo | string | None, must be set | URI to the shared repo used for calibrations, templates, and pipeline outputs. If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself. |
| prompt-proto-service.instrument.name | string | `"HSC"` | The "short" name of the instrument |
-| prompt-proto-service.instrument.pipelines.main | string | None, must be set | Machine-readable string describing which pipeline(s) should be run for which visits. Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
-| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival. |
-| prompt-proto-service.instrument.preloadPadding | int | `30` | Number of arcseconds to pad the spatial region in preloading. |
+| prompt-proto-service.instrument.pipelines.main | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run for which visits' raws. Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
+| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival. |
+| prompt-proto-service.instrument.preloadPadding | int | `42` | Number of arcseconds to pad the spatial region in preloading. |
| prompt-proto-service.instrument.skymap | string | `"hsc_rings_v1"` | Skymap to use with the instrument |
| prompt-proto-service.knative.cpuLimit | int | `1` | The maximum cpu cores for the full pod (see `containerConcurrency`). |
| prompt-proto-service.knative.cpuRequest | int | `1` | The cpu cores requested for the full pod (see `containerConcurrency`). |
diff --git a/applications/prompt-proto-service-hsc/values-usdfdev-prompt-processing.yaml b/applications/prompt-proto-service-hsc/values-usdfdev-prompt-processing.yaml
index 6ef44857a0..66dc8938bc 100644
--- a/applications/prompt-proto-service-hsc/values-usdfdev-prompt-processing.yaml
+++ b/applications/prompt-proto-service-hsc/values-usdfdev-prompt-processing.yaml
@@ -13,8 +13,12 @@ prompt-proto-service:
instrument:
pipelines:
- main: (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/HSC/ApPipe.yaml]
- preprocessing: (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/HSC/Preprocessing.yaml]
+ main: |-
+ - survey: SURVEY
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/HSC/ApPipe.yaml']
+ preprocessing: |-
+ - survey: SURVEY
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/HSC/Preprocessing.yaml']
calibRepo: s3://rubin-pp-dev-users/central_repo_2
s3:
@@ -35,7 +39,8 @@ prompt-proto-service:
endpointUrl: https://usdf-rsp-dev.slac.stanford.edu/sasquatch-rest-proxy
auth_env: false
- # A cache efficiency workaround breaks on RC2 tests; see DM-43205.
- cacheCalibs: false
+ debug:
+ # A cache efficiency workaround breaks on RC2 tests; see DM-43205.
+ cacheCalibs: false
fullnameOverride: "prompt-proto-service-hsc"
diff --git a/applications/prompt-proto-service-hsc/values.yaml b/applications/prompt-proto-service-hsc/values.yaml
index 46ac0611d7..9cfc798c4e 100644
--- a/applications/prompt-proto-service-hsc/values.yaml
+++ b/applications/prompt-proto-service-hsc/values.yaml
@@ -38,17 +38,17 @@ prompt-proto-service:
# -- The "short" name of the instrument
name: HSC
pipelines:
- # -- Machine-readable string describing which pipeline(s) should be run for which visits.
- # Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
+ # -- YAML-formatted config describing which pipeline(s) should be run for which visits' raws.
+ # Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
# @default -- None, must be set
main: ""
- # -- Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival.
+ # -- YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival.
# @default -- None, must be set
preprocessing: ""
# -- Skymap to use with the instrument
skymap: hsc_rings_v1
# -- Number of arcseconds to pad the spatial region in preloading.
- preloadPadding: 30
+ preloadPadding: 42
# -- URI to the shared repo used for calibrations, templates, and pipeline outputs.
# If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself.
# @default -- None, must be set
diff --git a/applications/prompt-proto-service-latiss/README.md b/applications/prompt-proto-service-latiss/README.md
index b5028a2171..338d44300f 100644
--- a/applications/prompt-proto-service-latiss/README.md
+++ b/applications/prompt-proto-service-latiss/README.md
@@ -31,8 +31,8 @@ Prompt Proto Service is an event driven service for processing camera images. Th
| prompt-proto-service.imageNotifications.topic | string | None, must be set | Topic where raw image arrival notifications appear |
| prompt-proto-service.instrument.calibRepo | string | None, must be set | URI to the shared repo used for calibrations, templates, and pipeline outputs. If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself. |
| prompt-proto-service.instrument.name | string | `"LATISS"` | The "short" name of the instrument |
-| prompt-proto-service.instrument.pipelines.main | string | None, must be set | Machine-readable string describing which pipeline(s) should be run for which visits. Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
-| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival. |
+| prompt-proto-service.instrument.pipelines.main | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run for which visits' raws. Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
+| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival. |
| prompt-proto-service.instrument.preloadPadding | int | `30` | Number of arcseconds to pad the spatial region in preloading. |
| prompt-proto-service.instrument.skymap | string | `"latiss_v1"` | Skymap to use with the instrument |
| prompt-proto-service.knative.cpuLimit | int | `1` | The maximum cpu cores for the full pod (see `containerConcurrency`). |
diff --git a/applications/prompt-proto-service-latiss/values-usdfdev-prompt-processing.yaml b/applications/prompt-proto-service-latiss/values-usdfdev-prompt-processing.yaml
index 4bd5b8032d..fd5ab7ce4f 100644
--- a/applications/prompt-proto-service-latiss/values-usdfdev-prompt-processing.yaml
+++ b/applications/prompt-proto-service-latiss/values-usdfdev-prompt-processing.yaml
@@ -11,10 +11,15 @@ prompt-proto-service:
instrument:
pipelines:
- main: >-
- (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/LATISS/ApPipe.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Isr.yaml]
- preprocessing: (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Preprocessing.yaml]
+ main: |-
+ - survey: SURVEY
+ pipelines:
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/ApPipe.yaml
+ # Fallback for an upload.py image without templates
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Isr.yaml
+ preprocessing: |-
+ - survey: SURVEY
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Preprocessing.yaml']
calibRepo: s3://rubin-pp-dev-users/central_repo_2
s3:
@@ -35,7 +40,8 @@ prompt-proto-service:
endpointUrl: https://usdf-rsp-dev.slac.stanford.edu/sasquatch-rest-proxy
auth_env: false
- # A cache efficiency workaround breaks when mixing observing dates; see DM-43205, DM-43913.
- cacheCalibs: false
+ debug:
+ # A cache efficiency workaround breaks when mixing observing dates; see DM-43205, DM-43913.
+ cacheCalibs: false
fullnameOverride: "prompt-proto-service-latiss"
diff --git a/applications/prompt-proto-service-latiss/values-usdfprod-prompt-processing.yaml b/applications/prompt-proto-service-latiss/values-usdfprod-prompt-processing.yaml
index 8325a34a2a..4cf418992a 100644
--- a/applications/prompt-proto-service-latiss/values-usdfprod-prompt-processing.yaml
+++ b/applications/prompt-proto-service-latiss/values-usdfprod-prompt-processing.yaml
@@ -14,34 +14,34 @@ prompt-proto-service:
image:
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
- tag: 4.8.2
+ tag: 4.9.0
instrument:
pipelines:
- # BLOCK-306 is photographic imaging
- # BLOCK-T17 is daytime checkout
- # BLOCK-271 is photon transfer curve calibrations
- # BLOCK-295 is the daily calibration sequence as of May 27, 2024
- main: >-
- (survey="BLOCK-306")=[${PROMPT_PROCESSING_DIR}/pipelines/LATISS/ApPipe.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/SingleFrame.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Isr.yaml]
- (survey="BLOCK-T17")=[${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Isr-cal.yaml]
- (survey="cwfs")=[]
- (survey="cwfs-focus-sweep")=[]
- (survey="spec-survey")=[]
- (survey="BLOCK-271")=[]
- (survey="BLOCK-295")=[]
- (survey="")=[]
- preprocessing: >-
- (survey="BLOCK-306")=[${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Preprocessing.yaml]
- (survey="BLOCK-T17")=[]
- (survey="cwfs")=[]
- (survey="cwfs-focus-sweep")=[]
- (survey="spec-survey")=[]
- (survey="BLOCK-271")=[]
- (survey="BLOCK-295")=[]
- (survey="")=[]
+ main: |-
+ - survey: BLOCK-306 # photographic imaging
+ pipelines:
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/ApPipe.yaml
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/SingleFrame.yaml
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Isr.yaml
+ - survey: BLOCK-T17 # daytime checkout
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Isr-cal.yaml']
+ - {survey: cwfs, pipelines: []}
+ - {survey: cwfs-focus-sweep, pipelines: []}
+ - {survey: spec-survey, pipelines: []}
+ - {survey: BLOCK-271, pipelines: []} # photon transfer curve calibrations
+ - {survey: BLOCK-295, pipelines: []} # the daily calibration sequence as of May 27, 2024
+ - {survey: "", pipelines: []}
+ preprocessing: |-
+ - survey: BLOCK-306
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/LATISS/Preprocessing.yaml']
+ - {survey: BLOCK-T17, pipelines: []}
+ - {survey: cwfs, pipelines: []}
+ - {survey: cwfs-focus-sweep, pipelines: []}
+ - {survey: spec-survey, pipelines: []}
+ - {survey: BLOCK-271, pipelines: []}
+ - {survey: BLOCK-295, pipelines: []}
+ - {survey: "", pipelines: []}
calibRepo: s3://rubin-summit-users
s3:
diff --git a/applications/prompt-proto-service-latiss/values.yaml b/applications/prompt-proto-service-latiss/values.yaml
index 9229ff3319..10e1fdcd2b 100644
--- a/applications/prompt-proto-service-latiss/values.yaml
+++ b/applications/prompt-proto-service-latiss/values.yaml
@@ -39,11 +39,11 @@ prompt-proto-service:
# -- The "short" name of the instrument
name: LATISS
pipelines:
- # -- Machine-readable string describing which pipeline(s) should be run for which visits.
- # Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
+ # -- YAML-formatted config describing which pipeline(s) should be run for which visits' raws.
+ # Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
# @default -- None, must be set
main: ""
- # -- Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival.
+ # -- YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival.
# @default -- None, must be set
preprocessing: ""
# -- Skymap to use with the instrument
diff --git a/applications/prompt-proto-service-lsstcam/README.md b/applications/prompt-proto-service-lsstcam/README.md
index e1071dcac0..9ad358da9f 100644
--- a/applications/prompt-proto-service-lsstcam/README.md
+++ b/applications/prompt-proto-service-lsstcam/README.md
@@ -31,9 +31,9 @@ Prompt Proto Service is an event driven service for processing camera images. Th
| prompt-proto-service.imageNotifications.topic | string | None, must be set | Topic where raw image arrival notifications appear |
| prompt-proto-service.instrument.calibRepo | string | None, must be set | URI to the shared repo used for calibrations, templates, and pipeline outputs. If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself. |
| prompt-proto-service.instrument.name | string | `""` | The "short" name of the instrument |
-| prompt-proto-service.instrument.pipelines.main | string | None, must be set | Machine-readable string describing which pipeline(s) should be run for which visits. Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
-| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival. |
-| prompt-proto-service.instrument.preloadPadding | int | `30` | Number of arcseconds to pad the spatial region in preloading. |
+| prompt-proto-service.instrument.pipelines.main | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run for which visits' raws. Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
+| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival. |
+| prompt-proto-service.instrument.preloadPadding | int | `50` | Number of arcseconds to pad the spatial region in preloading. |
| prompt-proto-service.instrument.skymap | string | `""` | Skymap to use with the instrument |
| prompt-proto-service.knative.cpuLimit | int | `1` | The maximum cpu cores for the full pod (see `containerConcurrency`). |
| prompt-proto-service.knative.cpuRequest | int | `1` | The cpu cores requested for the full pod (see `containerConcurrency`). |
diff --git a/applications/prompt-proto-service-lsstcam/values.yaml b/applications/prompt-proto-service-lsstcam/values.yaml
index 4ff089ed5e..d5c1b4d8e9 100644
--- a/applications/prompt-proto-service-lsstcam/values.yaml
+++ b/applications/prompt-proto-service-lsstcam/values.yaml
@@ -38,17 +38,17 @@ prompt-proto-service:
# -- The "short" name of the instrument
name: ""
pipelines:
- # -- Machine-readable string describing which pipeline(s) should be run for which visits.
- # Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
+ # -- YAML-formatted config describing which pipeline(s) should be run for which visits' raws.
+ # Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
# @default -- None, must be set
main: ""
- # -- Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival.
+ # -- YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival.
# @default -- None, must be set
preprocessing: ""
# -- Skymap to use with the instrument
skymap: ""
# -- Number of arcseconds to pad the spatial region in preloading.
- preloadPadding: 30
+ preloadPadding: 50
# -- URI to the shared repo used for calibrations, templates, and pipeline outputs.
# If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself.
# @default -- None, must be set
diff --git a/applications/prompt-proto-service-lsstcomcam/README.md b/applications/prompt-proto-service-lsstcomcam/README.md
index f4334af2ea..c08de7a78c 100644
--- a/applications/prompt-proto-service-lsstcomcam/README.md
+++ b/applications/prompt-proto-service-lsstcomcam/README.md
@@ -31,9 +31,9 @@ Prompt Proto Service is an event driven service for processing camera images. Th
| prompt-proto-service.imageNotifications.topic | string | None, must be set | Topic where raw image arrival notifications appear |
| prompt-proto-service.instrument.calibRepo | string | None, must be set | URI to the shared repo used for calibrations, templates, and pipeline outputs. If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself. |
| prompt-proto-service.instrument.name | string | `"LSSTComCam"` | The "short" name of the instrument |
-| prompt-proto-service.instrument.pipelines.main | string | None, must be set | Machine-readable string describing which pipeline(s) should be run for which visits. Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
-| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival. |
-| prompt-proto-service.instrument.preloadPadding | int | `30` | Number of arcseconds to pad the spatial region in preloading. |
+| prompt-proto-service.instrument.pipelines.main | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run for which visits' raws. Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
+| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival. |
+| prompt-proto-service.instrument.preloadPadding | int | `50` | Number of arcseconds to pad the spatial region in preloading. |
| prompt-proto-service.instrument.skymap | string | `"lsst_cells_v1"` | Skymap to use with the instrument |
| prompt-proto-service.knative.cpuLimit | int | `1` | The maximum cpu cores for the full pod (see `containerConcurrency`). |
| prompt-proto-service.knative.cpuRequest | int | `1` | The cpu cores requested for the full pod (see `containerConcurrency`). |
diff --git a/applications/prompt-proto-service-lsstcomcam/values-usdfdev-prompt-processing.yaml b/applications/prompt-proto-service-lsstcomcam/values-usdfdev-prompt-processing.yaml
index e8fbd39cd6..d7b6b0847e 100644
--- a/applications/prompt-proto-service-lsstcomcam/values-usdfdev-prompt-processing.yaml
+++ b/applications/prompt-proto-service-lsstcomcam/values-usdfdev-prompt-processing.yaml
@@ -11,10 +11,14 @@ prompt-proto-service:
instrument:
pipelines:
- main: >-
- (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/ApPipe.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Isr.yaml]
- preprocessing: (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Preprocessing.yaml]
+ main: |-
+ - survey: SURVEY
+ pipelines:
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/ApPipe.yaml
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Isr.yaml
+ preprocessing: |-
+ - survey: SURVEY
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Preprocessing.yaml']
calibRepo: s3://rubin-pp-dev-users/central_repo_2
s3:
@@ -35,7 +39,8 @@ prompt-proto-service:
endpointUrl: https://usdf-rsp-dev.slac.stanford.edu/sasquatch-rest-proxy
auth_env: false
- # A cache efficiency workaround breaks when mixing observing dates; see DM-43205, DM-43913.
- cacheCalibs: false
+ debug:
+ # A cache efficiency workaround breaks when mixing observing dates; see DM-43205, DM-43913.
+ cacheCalibs: false
fullnameOverride: "prompt-proto-service-lsstcomcam"
diff --git a/applications/prompt-proto-service-lsstcomcam/values-usdfprod-prompt-processing.yaml b/applications/prompt-proto-service-lsstcomcam/values-usdfprod-prompt-processing.yaml
index 6e3885b223..72653c9f52 100644
--- a/applications/prompt-proto-service-lsstcomcam/values-usdfprod-prompt-processing.yaml
+++ b/applications/prompt-proto-service-lsstcomcam/values-usdfprod-prompt-processing.yaml
@@ -15,45 +15,48 @@ prompt-proto-service:
image:
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
- tag: 4.8.2
+ tag: 4.9.0
instrument:
pipelines:
- # BLOCK-T60 is optics alignment
- # BLOCK-T75 is giant donuts
- # BLOCK-T88 is optics alignment
- # BLOCK-T215 is evening twilight flats
- # BLOCK-T216 is morning twilight flats
- # BLOCK-T219 is pretty picture
- # BLOCK-T246 is instrument checkout
- # BLOCK-T249 is AOS alignment
- # BLOCK-T250 is TMA daytime checkout
- main: >-
- (survey="BLOCK-320")=[${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/ApPipe.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/SingleFrame.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Isr.yaml]
- (survey="BLOCK-T60")=[]
- (survey="BLOCK-T75")=[]
- (survey="BLOCK-T88")=[]
- (survey="BLOCK-T215")=[]
- (survey="BLOCK-T216")=[]
- (survey="BLOCK-T219")=[]
- (survey="BLOCK-T246")=[${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Isr-cal.yaml]
- (survey="BLOCK-T249")=[]
- (survey="BLOCK-T250")=[]
- (survey="")=[]
- preprocessing: >-
- (survey="BLOCK-320")=[${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Preprocessing.yaml]
- (survey="BLOCK-T60")=[]
- (survey="BLOCK-T75")=[]
- (survey="BLOCK-T88")=[]
- (survey="BLOCK-T215")=[]
- (survey="BLOCK-T216")=[]
- (survey="BLOCK-T219")=[]
- (survey="BLOCK-T246")=[]
- (survey="BLOCK-T249")=[]
- (survey="BLOCK-T250")=[]
- (survey="")=[]
+ main: |-
+ - survey: BLOCK-320 # Science Validation
+ pipelines:
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/ApPipe.yaml
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/SingleFrame.yaml
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Isr.yaml
+ - survey: BLOCK-T60 # optics alignment
+ pipelines: []
+ - survey: BLOCK-T75 # giant donuts
+ pipelines: []
+ - survey: BLOCK-T88 # optics alignment
+ pipelines: []
+ - survey: BLOCK-T215 # twilight flats
+ pipelines: []
+ - survey: BLOCK-T216 # twilight flats
+ pipelines: []
+ - survey: BLOCK-T219 # pretty pictures
+ pipeliens: []
+ - survey: BLOCK-T246 # instrument checkout
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Isr-cal.yaml']
+ - survey: BLOCK-T249 # AOS alignment
+ pipelines: []
+ - survey: BLOCK-T250 # TMA daytime checkout
+ pipelines: []
+ - {survey: "", pipelines: []}
+ preprocessing: |-
+ - survey: BLOCK-320
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCam/Preprocessing.yaml']
+ - {survey: BLOCK-T60, pipelines: []}
+ - {survey: BLOCK-T75, pipelines: []}
+ - {survey: BLOCK-T88, pipelines: []}
+ - {survey: BLOCK-T215, pipelines: []}
+ - {survey: BLOCK-T216, pipelines: []}
+ - {survey: BLOCK-T219, pipelines: []}
+ - {survey: BLOCK-T246, pipelines: []}
+ - {survey: BLOCK-T249, pipelines: []}
+ - {survey: BLOCK-T250, pipelines: []}
+ - {survey: "", pipelines: []}
calibRepo: s3://rubin-summit-users
s3:
diff --git a/applications/prompt-proto-service-lsstcomcam/values.yaml b/applications/prompt-proto-service-lsstcomcam/values.yaml
index 85b421ac96..4a46d6bb1a 100644
--- a/applications/prompt-proto-service-lsstcomcam/values.yaml
+++ b/applications/prompt-proto-service-lsstcomcam/values.yaml
@@ -41,17 +41,17 @@ prompt-proto-service:
# -- The "short" name of the instrument
name: LSSTComCam
pipelines:
- # -- Machine-readable string describing which pipeline(s) should be run for which visits.
- # Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
+ # -- YAML-formatted config describing which pipeline(s) should be run for which visits' raws.
+ # Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
# @default -- None, must be set
main: ""
- # -- Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival.
+ # -- YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival.
# @default -- None, must be set
preprocessing: ""
# -- Skymap to use with the instrument
skymap: "lsst_cells_v1"
# -- Number of arcseconds to pad the spatial region in preloading.
- preloadPadding: 30
+ preloadPadding: 50
# -- URI to the shared repo used for calibrations, templates, and pipeline outputs.
# If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself.
# @default -- None, must be set
diff --git a/applications/prompt-proto-service-lsstcomcamsim/README.md b/applications/prompt-proto-service-lsstcomcamsim/README.md
index f2874d9eae..9c1fa3e437 100644
--- a/applications/prompt-proto-service-lsstcomcamsim/README.md
+++ b/applications/prompt-proto-service-lsstcomcamsim/README.md
@@ -31,9 +31,9 @@ Prompt Proto Service is an event driven service for processing camera images. Th
| prompt-proto-service.imageNotifications.topic | string | None, must be set | Topic where raw image arrival notifications appear |
| prompt-proto-service.instrument.calibRepo | string | None, must be set | URI to the shared repo used for calibrations, templates, and pipeline outputs. If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself. |
| prompt-proto-service.instrument.name | string | `"LSSTComCamSim"` | The "short" name of the instrument |
-| prompt-proto-service.instrument.pipelines.main | string | None, must be set | Machine-readable string describing which pipeline(s) should be run for which visits. Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
-| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival. |
-| prompt-proto-service.instrument.preloadPadding | int | `30` | Number of arcseconds to pad the spatial region in preloading. |
+| prompt-proto-service.instrument.pipelines.main | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run for which visits' raws. Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
+| prompt-proto-service.instrument.pipelines.preprocessing | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival. |
+| prompt-proto-service.instrument.preloadPadding | int | `50` | Number of arcseconds to pad the spatial region in preloading. |
| prompt-proto-service.instrument.skymap | string | `"ops_rehersal_prep_2k_v1"` | Skymap to use with the instrument |
| prompt-proto-service.knative.cpuLimit | int | `1` | The maximum cpu cores for the full pod (see `containerConcurrency`). |
| prompt-proto-service.knative.cpuRequest | int | `1` | The cpu cores requested for the full pod (see `containerConcurrency`). |
diff --git a/applications/prompt-proto-service-lsstcomcamsim/values-usdfdev-prompt-processing.yaml b/applications/prompt-proto-service-lsstcomcamsim/values-usdfdev-prompt-processing.yaml
index 17d39cf975..194d937317 100644
--- a/applications/prompt-proto-service-lsstcomcamsim/values-usdfdev-prompt-processing.yaml
+++ b/applications/prompt-proto-service-lsstcomcamsim/values-usdfdev-prompt-processing.yaml
@@ -11,11 +11,15 @@ prompt-proto-service:
instrument:
pipelines:
- main: >-
- (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/ApPipe.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/SingleFrame.yaml,
- ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/Isr.yaml]
- preprocessing: (survey="SURVEY")=[${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/Preprocessing.yaml]
+ main: |-
+ - survey: SURVEY
+ pipelines:
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/ApPipe.yaml
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/SingleFrame.yaml
+ - ${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/Isr.yaml
+ preprocessing: |-
+ - survey: SURVEY
+ pipelines: ['${PROMPT_PROCESSING_DIR}/pipelines/LSSTComCamSim/Preprocessing.yaml']
calibRepo: s3://rubin-pp-dev-users/central_repo_2
s3:
diff --git a/applications/prompt-proto-service-lsstcomcamsim/values.yaml b/applications/prompt-proto-service-lsstcomcamsim/values.yaml
index 1f977a62bb..2b80a022a7 100644
--- a/applications/prompt-proto-service-lsstcomcamsim/values.yaml
+++ b/applications/prompt-proto-service-lsstcomcamsim/values.yaml
@@ -41,17 +41,17 @@ prompt-proto-service:
# -- The "short" name of the instrument
name: LSSTComCamSim
pipelines:
- # -- Machine-readable string describing which pipeline(s) should be run for which visits.
- # Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
+ # -- YAML-formatted config describing which pipeline(s) should be run for which visits' raws.
+ # Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
# @default -- None, must be set
main: ""
- # -- Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival.
+ # -- YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival.
# @default -- None, must be set
preprocessing: ""
# -- Skymap to use with the instrument
skymap: ops_rehersal_prep_2k_v1
# -- Number of arcseconds to pad the spatial region in preloading.
- preloadPadding: 30
+ preloadPadding: 50
# -- URI to the shared repo used for calibrations, templates, and pipeline outputs.
# If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself.
# @default -- None, must be set
diff --git a/applications/rubintv/values-summit.yaml b/applications/rubintv/values-summit.yaml
index eef9d8dec8..e0ae0f7e77 100644
--- a/applications/rubintv/values-summit.yaml
+++ b/applications/rubintv/values-summit.yaml
@@ -20,7 +20,7 @@ rubintv:
- name: DDV_CLIENT_WS_ADDRESS
value: "rubintv/ws/ddv"
image:
- tag: v2.5.3
+ tag: v2.5.5
pullPolicy: Always
workers:
@@ -42,6 +42,12 @@ rubintv:
value: "/sdf/group/rubin/repo/ir2/butler.yaml"
- name: DEPLOY_BRANCH
value: *dbE
+ nfsMountpoint:
+ - name: project-rubintv-ddv-config
+ containerPath: /var/ddv-config
+ readOnly: false
+ server: nfs1.cp.lsst.org
+ serverPath: /project/rubintv/ddv-config
resources:
requests:
cpu: 0.5
diff --git a/applications/rubintv/values-usdfprod.yaml b/applications/rubintv/values-usdfprod.yaml
index 68c74079d4..1d920e76cc 100644
--- a/applications/rubintv/values-usdfprod.yaml
+++ b/applications/rubintv/values-usdfprod.yaml
@@ -1,4 +1,6 @@
rubintv:
+ siteTag: "usdf-prod"
+
imagePullSecrets:
- name: pull-secret
@@ -16,17 +18,17 @@ rubintv:
- name: DDV_CLIENT_WS_ADDRESS
value: "rubintv/ws/ddv"
image:
- tag: v2.5.3
+ tag: v2.5.5
pullPolicy: Always
workers:
- replicas: 0
+ replicas: 1
image:
- repository: ts-dockerhub.lsst.org/rapid-analysis
- tag: c0037
+ repository: lsstts/rapid-analysis
+ tag: c0039_usdf
pullPolicy: Always
- uid: 73006
- gid: 73006
+ uid: 17951
+ gid: 4085
scriptsLocation: /repos/rubintv_analysis_service/scripts
script: rubintv_worker.py -a rubintv -p 8080 -l usdf
env:
@@ -38,7 +40,7 @@ rubintv:
value: "/sdf/group/rubin/repo/ir2/butler.yaml"
- name: DEPLOY_BRANCH
value: *dbE
- volumes:
+ pvcMountpoint:
- name: sdf-group-rubin
persistentVolumeClaim:
name: sdf-group-rubin
@@ -53,6 +55,14 @@ rubintv:
capacity: 1Gi
accessMode: ReadOnlyMany
mountPath: /sdf/data/rubin
+ - name: sdf-data-rubin-rubintv-ddv-config
+ persistentVolumeClaim:
+ name: sdf-data-rubin-rubintv-ddv-config
+ storageClassName: sdf-data-rubin
+ capacity: 1Gi
+ accessMode: ReadWriteMany
+ mountPath: /var/ddv-config
+ subPath: shared/rubintv-ddv-config
resources:
limits:
cpu: 2.0
diff --git a/applications/s3proxy/.helmignore b/applications/s3proxy/.helmignore
new file mode 100644
index 0000000000..0e8a0eb36f
--- /dev/null
+++ b/applications/s3proxy/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/applications/s3proxy/Chart.yaml b/applications/s3proxy/Chart.yaml
new file mode 100644
index 0000000000..a165868d44
--- /dev/null
+++ b/applications/s3proxy/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v2
+appVersion: 1.0.0
+description: Simple application to gateway S3 URLs to HTTPS
+name: s3proxy
+sources:
+- https://github.com/lsst-dm/s3proxy
+type: application
+version: 1.0.0
diff --git a/applications/s3proxy/README.md b/applications/s3proxy/README.md
new file mode 100644
index 0000000000..aace497a8f
--- /dev/null
+++ b/applications/s3proxy/README.md
@@ -0,0 +1,30 @@
+# s3proxy
+
+Simple application to gateway S3 URLs to HTTPS
+
+## Source Code
+
+*
+
+## Values
+
+| Key | Type | Default | Description |
+|-----|------|---------|-------------|
+| affinity | object | `{}` | Affinity rules for the s3proxy deployment pod |
+| config.logLevel | string | `"INFO"` | Logging level |
+| config.logProfile | string | `"production"` | Logging profile (`production` for JSON, `development` for human-friendly) |
+| config.pathPrefix | string | `"/s3proxy"` | URL path prefix |
+| config.profiles | list | `[]` | Profiles using different endpoint URLs and credentials |
+| config.s3EndpointUrl | string | `""` | Default S3 endpoint URL |
+| global.baseUrl | string | Set by Argo CD | Base URL for the environment |
+| global.host | string | Set by Argo CD | Host name for ingress |
+| global.vaultSecretsPath | string | Set by Argo CD | Base path for Vault secrets |
+| image.pullPolicy | string | `"IfNotPresent"` | Pull policy for the s3proxy image |
+| image.repository | string | `"ghcr.io/lsst-dm/s3proxy"` | Image to use in the s3proxy deployment |
+| image.tag | string | The appVersion of the chart | Tag of image to use |
+| ingress.annotations | object | `{}` | Additional annotations for the ingress rule |
+| nodeSelector | object | `{}` | Node selection rules for the s3proxy deployment pod |
+| podAnnotations | object | `{}` | Annotations for the s3proxy deployment pod |
+| replicaCount | int | `1` | Number of web deployment pods to start |
+| resources | object | See `values.yaml` | Resource limits and requests for the s3proxy deployment pod |
+| tolerations | list | `[]` | Tolerations for the s3proxy deployment pod |
diff --git a/applications/s3proxy/secrets.yaml b/applications/s3proxy/secrets.yaml
new file mode 100644
index 0000000000..fd1f46e6ee
--- /dev/null
+++ b/applications/s3proxy/secrets.yaml
@@ -0,0 +1,8 @@
+"aws-credentials.ini":
+ description: |
+ S3 credentials in AWS INI format.
+ Each section corresponds to a profile.
+ Each section contains an aws_access_key_id and an aws_secret_access_key.
+ copy:
+ application: nublado
+ key: "aws-credentials.ini"
diff --git a/applications/s3proxy/templates/_helpers.tpl b/applications/s3proxy/templates/_helpers.tpl
new file mode 100644
index 0000000000..67e025f3fc
--- /dev/null
+++ b/applications/s3proxy/templates/_helpers.tpl
@@ -0,0 +1,26 @@
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "s3proxy.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "s3proxy.labels" -}}
+helm.sh/chart: {{ include "s3proxy.chart" . }}
+{{ include "s3proxy.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "s3proxy.selectorLabels" -}}
+app.kubernetes.io/name: "s3proxy"
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
diff --git a/applications/s3proxy/templates/configmap.yaml b/applications/s3proxy/templates/configmap.yaml
new file mode 100644
index 0000000000..7284a9598d
--- /dev/null
+++ b/applications/s3proxy/templates/configmap.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: "s3proxy"
+ labels:
+ {{- include "s3proxy.labels" . | nindent 4 }}
+data:
+ S3PROXY_LOG_LEVEL: {{ .Values.config.logLevel | quote }}
+ S3PROXY_PATH_PREFIX: {{ .Values.config.pathPrefix | quote }}
+ S3PROXY_PROFILE: {{ .Values.config.logProfile | quote }}
+ S3_ENDPOINT_URL: {{ .Values.config.s3EndpointUrl | quote }}
+ {{- range .Values.config.profiles }}
+ LSST_RESOURCES_S3_PROFILE_{{ .name }}: {{ .url | quote }}
+ {{- end }}
diff --git a/applications/s3proxy/templates/deployment.yaml b/applications/s3proxy/templates/deployment.yaml
new file mode 100644
index 0000000000..d96e861819
--- /dev/null
+++ b/applications/s3proxy/templates/deployment.yaml
@@ -0,0 +1,90 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: "s3proxy"
+ labels:
+ {{- include "s3proxy.labels" . | nindent 4 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ {{- include "s3proxy.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ annotations:
+ checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+ {{- with .Values.podAnnotations }}
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "s3proxy.selectorLabels" . | nindent 8 }}
+ spec:
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ automountServiceAccountToken: false
+ containers:
+ - name: {{ .Chart.Name }}
+ env:
+ - name: AWS_SHARED_CREDENTIALS_FILE
+ value: /pod-secrets/secrets/aws-credentials.ini
+ envFrom:
+ - configMapRef:
+ name: "s3proxy"
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ ports:
+ - name: "http"
+ containerPort: 8080
+ protocol: "TCP"
+ readinessProbe:
+ httpGet:
+ path: "/"
+ port: "http"
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - "all"
+ readOnlyRootFilesystem: true
+ volumeMounts:
+ - name: pod-secrets
+ mountPath: /pod-secrets
+ initContainers:
+ - name: secret-setup
+ command:
+ - /bin/ash
+ - "-c"
+ - |
+ cp -L -r /secrets /pod-secrets
+ chmod -R go-rwx /pod-secrets/*
+ image: alpine
+ volumeMounts:
+ - name: secret-volume
+ mountPath: /secrets
+ readOnly: true
+ - name: pod-secrets
+ mountPath: /pod-secrets
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 1000
+ runAsGroup: 1000
+ volumes:
+ - name: pod-secrets
+ emptyDir:
+ sizeLimit: 1Mi
+ - name: secret-volume
+ secret:
+ secretName: "s3proxy"
+ secretKey: "aws-credentials.ini"
diff --git a/applications/s3proxy/templates/ingress.yaml b/applications/s3proxy/templates/ingress.yaml
new file mode 100644
index 0000000000..ed4bf7d933
--- /dev/null
+++ b/applications/s3proxy/templates/ingress.yaml
@@ -0,0 +1,35 @@
+apiVersion: gafaelfawr.lsst.io/v1alpha1
+kind: GafaelfawrIngress
+metadata:
+ name: "s3proxy"
+ labels:
+ {{- include "s3proxy.labels" . | nindent 4 }}
+config:
+ authCacheDuration: 5m
+ baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
+ onlyServices:
+ - portal
+ scopes:
+ all:
+ - "read:image"
+ service: "s3proxy"
+template:
+ metadata:
+ name: "s3proxy"
+ {{- with .Values.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 6 }}
+ {{- end }}
+ spec:
+ rules:
+ - host: {{ required "global.host must be set" .Values.global.host | quote }}
+ http:
+ paths:
+ - path: {{ .Values.config.pathPrefix | quote }}
+ pathType: "Prefix"
+ backend:
+ service:
+ name: "s3proxy"
+ port:
+ number: 8080
diff --git a/applications/s3proxy/templates/networkpolicy.yaml b/applications/s3proxy/templates/networkpolicy.yaml
new file mode 100644
index 0000000000..70d2c1e80d
--- /dev/null
+++ b/applications/s3proxy/templates/networkpolicy.yaml
@@ -0,0 +1,21 @@
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: "s3proxy"
+spec:
+ podSelector:
+ matchLabels:
+ {{- include "s3proxy.selectorLabels" . | nindent 6 }}
+ policyTypes:
+ - "Ingress"
+ ingress:
+ # Allow inbound access from pods (in any namespace) labeled
+ # gafaelfawr.lsst.io/ingress: true.
+ - from:
+ - namespaceSelector: {}
+ podSelector:
+ matchLabels:
+ gafaelfawr.lsst.io/ingress: "true"
+ ports:
+ - protocol: "TCP"
+ port: 8080
diff --git a/applications/s3proxy/templates/service.yaml b/applications/s3proxy/templates/service.yaml
new file mode 100644
index 0000000000..ffe65b1110
--- /dev/null
+++ b/applications/s3proxy/templates/service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: "s3proxy"
+ labels:
+ {{- include "s3proxy.labels" . | nindent 4 }}
+spec:
+ type: "ClusterIP"
+ ports:
+ - port: 8080
+ targetPort: "http"
+ protocol: "TCP"
+ name: "http"
+ selector:
+ {{- include "s3proxy.selectorLabels" . | nindent 4 }}
diff --git a/applications/s3proxy/templates/vault-secret.yaml b/applications/s3proxy/templates/vault-secret.yaml
new file mode 100644
index 0000000000..f1db384244
--- /dev/null
+++ b/applications/s3proxy/templates/vault-secret.yaml
@@ -0,0 +1,9 @@
+apiVersion: ricoberger.de/v1alpha1
+kind: VaultSecret
+metadata:
+ name: "s3proxy"
+ labels:
+ {{- include "s3proxy.labels" . | nindent 4 }}
+spec:
+ path: "{{ .Values.global.vaultSecretsPath }}/s3proxy"
+ type: Opaque
diff --git a/applications/s3proxy/values-usdfdev.yaml b/applications/s3proxy/values-usdfdev.yaml
new file mode 100644
index 0000000000..87d1d48df5
--- /dev/null
+++ b/applications/s3proxy/values-usdfdev.yaml
@@ -0,0 +1,13 @@
+config:
+ profiles:
+ - name: embargo
+ url: "https://sdfembs3.sdf.slac.stanford.edu/"
+ s3EndpointUrl: "https://s3dfrgw.slac.stanford.edu/"
+
+resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 200m
+ memory: 100Mi
diff --git a/applications/s3proxy/values-usdfprod.yaml b/applications/s3proxy/values-usdfprod.yaml
new file mode 100644
index 0000000000..87d1d48df5
--- /dev/null
+++ b/applications/s3proxy/values-usdfprod.yaml
@@ -0,0 +1,13 @@
+config:
+ profiles:
+ - name: embargo
+ url: "https://sdfembs3.sdf.slac.stanford.edu/"
+ s3EndpointUrl: "https://s3dfrgw.slac.stanford.edu/"
+
+resources:
+ limits:
+ cpu: 500m
+ memory: 1Gi
+ requests:
+ cpu: 200m
+ memory: 100Mi
diff --git a/applications/s3proxy/values.yaml b/applications/s3proxy/values.yaml
new file mode 100644
index 0000000000..c422f53ccc
--- /dev/null
+++ b/applications/s3proxy/values.yaml
@@ -0,0 +1,69 @@
+# Default values for s3proxy.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# -- Number of web deployment pods to start
+replicaCount: 1
+
+image:
+ # -- Image to use in the s3proxy deployment
+ repository: "ghcr.io/lsst-dm/s3proxy"
+
+ # -- Pull policy for the s3proxy image
+ pullPolicy: "IfNotPresent"
+
+ # -- Tag of image to use
+ # @default -- The appVersion of the chart
+ tag: ""
+
+config:
+ # -- Logging level
+ logLevel: "INFO"
+
+ # -- Logging profile (`production` for JSON, `development` for
+ # human-friendly)
+ logProfile: "production"
+
+ # -- URL path prefix
+ pathPrefix: "/s3proxy"
+
+ # -- Profiles using different endpoint URLs and credentials
+ profiles: []
+
+ # -- Default S3 endpoint URL
+ s3EndpointUrl: ""
+
+ingress:
+ # -- Additional annotations for the ingress rule
+ annotations: {}
+
+# -- Affinity rules for the s3proxy deployment pod
+affinity: {}
+
+# -- Node selection rules for the s3proxy deployment pod
+nodeSelector: {}
+
+# -- Annotations for the s3proxy deployment pod
+podAnnotations: {}
+
+# -- Resource limits and requests for the s3proxy deployment pod
+# @default -- See `values.yaml`
+resources: {}
+
+# -- Tolerations for the s3proxy deployment pod
+tolerations: []
+
+# The following will be set by parameters injected by Argo CD and should not
+# be set in the individual environment values files.
+global:
+ # -- Base URL for the environment
+ # @default -- Set by Argo CD
+ baseUrl: null
+
+ # -- Host name for ingress
+ # @default -- Set by Argo CD
+ host: null
+
+ # -- Base path for Vault secrets
+ # @default -- Set by Argo CD
+ vaultSecretsPath: null
diff --git a/applications/sasquatch/README.md b/applications/sasquatch/README.md
index a3a058d559..f21d37bc5f 100644
--- a/applications/sasquatch/README.md
+++ b/applications/sasquatch/README.md
@@ -336,7 +336,7 @@ Rubin Observatory's telemetry service
| rest-proxy.heapOptions | string | `"-Xms512M -Xmx512M"` | Kafka REST proxy JVM Heap Option |
| rest-proxy.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| rest-proxy.image.repository | string | `"confluentinc/cp-kafka-rest"` | Kafka REST proxy image repository |
-| rest-proxy.image.tag | string | `"7.7.1"` | Kafka REST proxy image tag |
+| rest-proxy.image.tag | string | `"7.8.0"` | Kafka REST proxy image tag |
| rest-proxy.ingress.annotations | object | See `values.yaml` | Additional annotations to add to the ingress |
| rest-proxy.ingress.enabled | bool | `false` | Whether to enable the ingress |
| rest-proxy.ingress.hostname | string | None, must be set if ingress is enabled | Ingress hostname |
@@ -419,6 +419,7 @@ Rubin Observatory's telemetry service
| strimzi-kafka.users.replicator.enabled | bool | `false` | Enable user replicator (used by Mirror Maker 2 and required at both source and target clusters) |
| strimzi-kafka.users.telegraf.enabled | bool | `false` | Enable user telegraf (deployed by parent Sasquatch chart) |
| strimzi-kafka.users.tsSalKafka.enabled | bool | `false` | Enable user ts-salkafka, used at the telescope environments |
+| strimzi-kafka.users.tsSalKafka.topics | list | `[]` | Create lsst.s3.* related topics for the ts-salkafka user. |
| telegraf-kafka-consumer.affinity | object | `{}` | Affinity for pod assignment |
| telegraf-kafka-consumer.args | list | `[]` | Arguments passed to the Telegraf agent containers |
| telegraf-kafka-consumer.enabled | bool | `false` | Wether the Telegraf Kafka Consumer is enabled |
diff --git a/applications/sasquatch/charts/rest-proxy/README.md b/applications/sasquatch/charts/rest-proxy/README.md
index eea798d3ae..baeb2a47f0 100644
--- a/applications/sasquatch/charts/rest-proxy/README.md
+++ b/applications/sasquatch/charts/rest-proxy/README.md
@@ -16,7 +16,7 @@ A subchart to deploy Confluent REST proxy for Sasquatch.
| heapOptions | string | `"-Xms512M -Xmx512M"` | Kafka REST proxy JVM Heap Option |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"confluentinc/cp-kafka-rest"` | Kafka REST proxy image repository |
-| image.tag | string | `"7.7.1"` | Kafka REST proxy image tag |
+| image.tag | string | `"7.8.0"` | Kafka REST proxy image tag |
| ingress.annotations | object | See `values.yaml` | Additional annotations to add to the ingress |
| ingress.enabled | bool | `false` | Whether to enable the ingress |
| ingress.hostname | string | None, must be set if ingress is enabled | Ingress hostname |
diff --git a/applications/sasquatch/charts/rest-proxy/values.yaml b/applications/sasquatch/charts/rest-proxy/values.yaml
index ef0cd8cbac..b61fc87780 100644
--- a/applications/sasquatch/charts/rest-proxy/values.yaml
+++ b/applications/sasquatch/charts/rest-proxy/values.yaml
@@ -11,7 +11,7 @@ image:
pullPolicy: IfNotPresent
# -- Kafka REST proxy image tag
- tag: 7.7.1
+ tag: 7.8.0
service:
# -- Kafka REST proxy service port
diff --git a/applications/sasquatch/charts/square-events/templates/ook-user.yaml b/applications/sasquatch/charts/square-events/templates/ook-user.yaml
index 0c3bb352cc..ee43ce4ca1 100644
--- a/applications/sasquatch/charts/square-events/templates/ook-user.yaml
+++ b/applications/sasquatch/charts/square-events/templates/ook-user.yaml
@@ -6,12 +6,6 @@ metadata:
labels:
strimzi.io/cluster: {{ .Values.cluster.name }}
spec:
- template:
- secret:
- metadata:
- annotations:
- replicator.v1.mittwald.de/replication-allowed: "true"
- replicator.v1.mittwald.de/replication-allowed-namespaces: "ook"
authentication:
type: tls
authorization:
diff --git a/applications/sasquatch/charts/square-events/templates/squarebot-user.yaml b/applications/sasquatch/charts/square-events/templates/squarebot-user.yaml
index 1285a4ec6f..65f6bf698b 100644
--- a/applications/sasquatch/charts/square-events/templates/squarebot-user.yaml
+++ b/applications/sasquatch/charts/square-events/templates/squarebot-user.yaml
@@ -6,12 +6,6 @@ metadata:
labels:
strimzi.io/cluster: {{ .Values.cluster.name }}
spec:
- template:
- secret:
- metadata:
- annotations:
- replicator.v1.mittwald.de/replication-allowed: "true"
- replicator.v1.mittwald.de/replication-allowed-namespaces: "squarebot"
authentication:
type: tls
authorization:
diff --git a/applications/sasquatch/charts/square-events/templates/templatebot-user.yaml b/applications/sasquatch/charts/square-events/templates/templatebot-user.yaml
index 580bfa028f..e3ea612ed6 100644
--- a/applications/sasquatch/charts/square-events/templates/templatebot-user.yaml
+++ b/applications/sasquatch/charts/square-events/templates/templatebot-user.yaml
@@ -6,12 +6,6 @@ metadata:
labels:
strimzi.io/cluster: {{ .Values.cluster.name }}
spec:
- template:
- secret:
- metadata:
- annotations:
- replicator.v1.mittwald.de/replication-allowed: "true"
- replicator.v1.mittwald.de/replication-allowed-namespaces: "templatebot"
authentication:
type: tls
authorization:
diff --git a/applications/sasquatch/charts/square-events/templates/unfurlbot-user.yaml b/applications/sasquatch/charts/square-events/templates/unfurlbot-user.yaml
index fe7a0c965a..1caaa805c2 100644
--- a/applications/sasquatch/charts/square-events/templates/unfurlbot-user.yaml
+++ b/applications/sasquatch/charts/square-events/templates/unfurlbot-user.yaml
@@ -6,12 +6,6 @@ metadata:
labels:
strimzi.io/cluster: {{ .Values.cluster.name }}
spec:
- template:
- secret:
- metadata:
- annotations:
- replicator.v1.mittwald.de/replication-allowed: "true"
- replicator.v1.mittwald.de/replication-allowed-namespaces: "unfurlbot"
authentication:
type: tls
authorization:
diff --git a/applications/sasquatch/charts/strimzi-kafka/README.md b/applications/sasquatch/charts/strimzi-kafka/README.md
index 10f3965922..bb6ee20e92 100644
--- a/applications/sasquatch/charts/strimzi-kafka/README.md
+++ b/applications/sasquatch/charts/strimzi-kafka/README.md
@@ -72,3 +72,4 @@ A subchart to deploy Strimzi Kafka components for Sasquatch.
| users.replicator.enabled | bool | `false` | Enable user replicator (used by Mirror Maker 2 and required at both source and target clusters) |
| users.telegraf.enabled | bool | `false` | Enable user telegraf (deployed by parent Sasquatch chart) |
| users.tsSalKafka.enabled | bool | `false` | Enable user ts-salkafka, used at the telescope environments |
+| users.tsSalKafka.topics | list | `[]` | Create lsst.s3.* related topics for the ts-salkafka user. |
diff --git a/applications/sasquatch/charts/strimzi-kafka/templates/topics.yaml b/applications/sasquatch/charts/strimzi-kafka/templates/topics.yaml
new file mode 100644
index 0000000000..4c323af95b
--- /dev/null
+++ b/applications/sasquatch/charts/strimzi-kafka/templates/topics.yaml
@@ -0,0 +1,15 @@
+{{- if .Values.users.tsSalKafka.enabled }}
+{{- $cluster := .Values.cluster.name }}
+{{- range $topic := .Values.users.tsSalKafka.topics }}
+---
+apiVersion: kafka.strimzi.io/v1beta1
+kind: KafkaTopic
+metadata:
+ name: {{ $topic }}
+ labels:
+ strimzi.io/cluster: {{ $cluster }}
+spec:
+ replicas: 3
+ partitions: 1
+{{- end }}
+{{- end }}
diff --git a/applications/sasquatch/charts/strimzi-kafka/values.yaml b/applications/sasquatch/charts/strimzi-kafka/values.yaml
index 8f0eab97bf..85abde504a 100644
--- a/applications/sasquatch/charts/strimzi-kafka/values.yaml
+++ b/applications/sasquatch/charts/strimzi-kafka/values.yaml
@@ -263,6 +263,9 @@ users:
# -- Enable user ts-salkafka, used at the telescope environments
enabled: false
+ # -- Create lsst.s3.* related topics for the ts-salkafka user.
+ topics: []
+
kafdrop:
# -- Enable user Kafdrop (deployed by parent Sasquatch chart).
enabled: false
diff --git a/applications/sasquatch/values-base.yaml b/applications/sasquatch/values-base.yaml
index d34b7659b3..3700e87ec7 100644
--- a/applications/sasquatch/values-base.yaml
+++ b/applications/sasquatch/values-base.yaml
@@ -82,6 +82,9 @@ strimzi-kafka:
enabled: true
tsSalKafka:
enabled: true
+ topics:
+ - lsst.s3.raw.latiss
+ - lsst.s3.raw.lsstcam
kafdrop:
enabled: true
telegraf:
@@ -161,7 +164,7 @@ telegraf-kafka-consumer:
enabled: true
database: "efd"
topicRegexps: |
- [ "lsst.sal.DIMM", "lsst.sal.DSM", "lsst.sal.EPM", "lsst.sal.ESS", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
+ [ "lsst.sal.DIMM", "lsst.sal.DSM", "lsst.sal.EAS", "lsst.sal.EPM", "lsst.sal.ESS", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
debug: true
latiss:
enabled: true
diff --git a/applications/sasquatch/values-summit.yaml b/applications/sasquatch/values-summit.yaml
index 24afd30be1..2e8b86a7ff 100644
--- a/applications/sasquatch/values-summit.yaml
+++ b/applications/sasquatch/values-summit.yaml
@@ -180,7 +180,7 @@ kafka-connect-manager:
eas:
enabled: true
repairerConnector: false
- topicsRegex: ".*DIMM|.*DREAM|.*DSM|.*EPM|.*ESS|.*HVAC|.*WeatherForecast"
+ topicsRegex: ".*DIMM|.*DREAM|.*DSM|.*EAS|.*EPM|.*ESS|.*HVAC|.*WeatherForecast"
latiss:
enabled: true
repairerConnector: false
@@ -339,7 +339,7 @@ telegraf-kafka-consumer:
database: "efd"
timestamp_field: "private_efdStamp"
topicRegexps: |
- [ "lsst.sal.DIMM", "lsst.sal.DREAM", "lsst.sal.DSM", "lsst.sal.EPM", "lsst.sal.ESS", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
+ [ "lsst.sal.DIMM", "lsst.sal.DREAM", "lsst.sal.DSM", "lsst.sal.EAS", "lsst.sal.EPM", "lsst.sal.ESS", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
debug: true
m1m3:
enabled: true
diff --git a/applications/sasquatch/values-tucson-teststand.yaml b/applications/sasquatch/values-tucson-teststand.yaml
index 3cfe4b3025..2fb04f5339 100644
--- a/applications/sasquatch/values-tucson-teststand.yaml
+++ b/applications/sasquatch/values-tucson-teststand.yaml
@@ -104,7 +104,7 @@ telegraf-kafka-consumer:
metric_batch_size: 100
flush_interval: 20s
topicRegexps: |
- [ "lsst.sal.DIMM", "lsst.sal.DREAM", "lsst.sal.DSM", "lsst.sal.EPM", "lsst.sal.ESS", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
+ [ "lsst.sal.DIMM", "lsst.sal.DREAM", "lsst.sal.DSM", "lsst.sal.EAS", "lsst.sal.EPM", "lsst.sal.ESS", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
debug: true
latiss:
enabled: true
diff --git a/applications/sasquatch/values-usdfprod.yaml b/applications/sasquatch/values-usdfprod.yaml
index 035ec26702..5aa6b0e191 100644
--- a/applications/sasquatch/values-usdfprod.yaml
+++ b/applications/sasquatch/values-usdfprod.yaml
@@ -165,7 +165,7 @@ telegraf-kafka-consumer:
database: "efd"
timestamp_field: "private_efdStamp"
topicRegexps: |
- [ "lsst.sal.DIMM", "lsst.sal.DREAM", "lsst.sal.ESS", "lsst.sal.DSM", "lsst.sal.EPM", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
+ [ "lsst.sal.DIMM", "lsst.sal.DREAM", "lsst.sal.EAS", "lsst.sal.ESS", "lsst.sal.DSM", "lsst.sal.EPM", "lsst.sal.HVAC", "lsst.sal.WeatherForecast" ]
debug: true
m1m3:
enabled: true
diff --git a/applications/schedview-snapshot/templates/ingress.yaml b/applications/schedview-snapshot/templates/ingress.yaml
index b6cb8ae716..9aa158b2f5 100644
--- a/applications/schedview-snapshot/templates/ingress.yaml
+++ b/applications/schedview-snapshot/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "schedview-snapshot.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "exec:portal"
- loginRedirect: true
+ service: "schedview-snapshot"
template:
metadata:
name: "schedview-snapshot"
diff --git a/applications/sia/templates/ingress.yaml b/applications/sia/templates/ingress.yaml
index bb9638b596..b548e371bb 100644
--- a/applications/sia/templates/ingress.yaml
+++ b/applications/sia/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: "sia"
delegate:
internal:
service: "sia"
diff --git a/applications/siav2/README.md b/applications/siav2/README.md
index 92993339b1..0f33a7137b 100644
--- a/applications/siav2/README.md
+++ b/applications/siav2/README.md
@@ -28,7 +28,7 @@ Simple Image Access v2 service
| uws.affinity | object | `{}` | Affinity rules for the UWS database pod |
| uws.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for the UWS database image |
| uws.image.repository | string | `"library/postgres"` | UWS database image to use |
-| uws.image.tag | string | `"17.0"` | Tag of UWS database image to use |
+| uws.image.tag | string | `"17.2"` | Tag of UWS database image to use |
| uws.nodeSelector | object | `{}` | Node selection rules for the UWS database pod |
| uws.podAnnotations | object | `{}` | Annotations for the UWS databse pod |
| uws.resources | object | `{"limits":{"cpu":2,"memory":"4Gi"},"requests":{"cpu":0.25,"memory":"1Gi"}}` | Resource limits and requests for the UWS database pod |
diff --git a/applications/siav2/templates/ingress.yaml b/applications/siav2/templates/ingress.yaml
index 7f9fa4bd21..2af5227a0e 100644
--- a/applications/siav2/templates/ingress.yaml
+++ b/applications/siav2/templates/ingress.yaml
@@ -7,16 +7,17 @@ metadata:
config:
authType: "basic"
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: false
+ scopes:
+ all:
+ - "read:image"
+ service: "siav2"
delegate:
internal:
scopes:
- - read:tap
+ - "read:tap"
service: "siav2"
useAuthorization: true
- loginRedirect: false
- scopes:
- all:
- - read:image
template:
metadata:
name: "siav2-authenticated"
diff --git a/applications/siav2/values.yaml b/applications/siav2/values.yaml
index f9ce8acc2f..8c313d75ba 100644
--- a/applications/siav2/values.yaml
+++ b/applications/siav2/values.yaml
@@ -79,7 +79,7 @@ uws:
pullPolicy: "IfNotPresent"
# -- Tag of UWS database image to use
- tag: "17.0"
+ tag: "17.2"
# -- Resource limits and requests for the UWS database pod
resources:
diff --git a/applications/sqlproxy-cross-project/README.md b/applications/sqlproxy-cross-project/README.md
index 74b079d5d9..cc9e12ac31 100644
--- a/applications/sqlproxy-cross-project/README.md
+++ b/applications/sqlproxy-cross-project/README.md
@@ -19,7 +19,7 @@ GCP SQL Proxy as a service
| fullnameOverride | string | `""` | Override the full name for resources (includes the release name) |
| image.pullPolicy | string | `"IfNotPresent"` | Pull policy for the Cloud SQL Proxy image |
| image.repository | string | `"gcr.io/cloudsql-docker/gce-proxy"` | Cloud SQL Proxy image to use |
-| image.tag | string | `"1.37.1"` | Tag of Cloud SQL Proxy image to use |
+| image.tag | string | `"1.37.2"` | Tag of Cloud SQL Proxy image to use |
| nameOverride | string | `""` | Override the base name for resources |
| nodeSelector | object | `{}` | Node selector rules for the Cloud SQL Proxy pod |
| podAnnotations | object | `{}` | Annotations for the Cloud SQL Proxy pod |
diff --git a/applications/sqlproxy-cross-project/values.yaml b/applications/sqlproxy-cross-project/values.yaml
index ac677e8060..46d9ed7585 100644
--- a/applications/sqlproxy-cross-project/values.yaml
+++ b/applications/sqlproxy-cross-project/values.yaml
@@ -14,7 +14,7 @@ image:
repository: "gcr.io/cloudsql-docker/gce-proxy"
# -- Tag of Cloud SQL Proxy image to use
- tag: "1.37.1"
+ tag: "1.37.2"
# -- Pull policy for the Cloud SQL Proxy image
pullPolicy: "IfNotPresent"
diff --git a/applications/squareone/templates/ingress-times-square.yaml b/applications/squareone/templates/ingress-times-square.yaml
index e820c1b32e..3c5dad1ac0 100644
--- a/applications/squareone/templates/ingress-times-square.yaml
+++ b/applications/squareone/templates/ingress-times-square.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "squareone.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- {{ .Values.ingress.timesSquareScope | quote }}
- loginRedirect: true
+ service: "times-square"
template:
metadata:
name: {{ template "squareone.fullname" . }}-times-square
diff --git a/applications/ssotap/README.md b/applications/ssotap/README.md
index 248e9b3cb4..c436610a22 100644
--- a/applications/ssotap/README.md
+++ b/applications/ssotap/README.md
@@ -15,9 +15,10 @@ IVOA TAP service for Solar System Objects
| cadc-tap.config.pg.database | string | `"dp03_catalogs"` | Postgres database to connect to |
| cadc-tap.config.pg.host | string | `"usdf-pg-catalogs.slac.stanford.edu:5432"` | Postgres hostname:port to connect to |
| cadc-tap.config.pg.username | string | `"dp03"` | Postgres username to use to connect |
+| cadc-tap.config.serviceName | string | `"ssotap"` | Name of the service from Gafaelfawr's perspective |
| cadc-tap.config.vaultSecretName | string | `"ssotap"` | Vault secret name: the final key in the vault path |
-| cadc-tap.ingress.path | string | `"ssotap"` | |
-| cadc-tap.serviceAccount.name | string | `"ssotap"` | |
+| cadc-tap.ingress.path | string | `"ssotap"` | Ingress path that should be routed to this service |
+| cadc-tap.serviceAccount.name | string | `"ssotap"` | Name of the Kubernetes `ServiceAccount`, used for CloudSQL access |
| global.baseUrl | string | Set by Argo CD | Base URL for the environment |
| global.host | string | Set by Argo CD | Host name for ingress |
| global.vaultSecretsPath | string | Set by Argo CD | Base path for Vault secrets |
diff --git a/applications/ssotap/values.yaml b/applications/ssotap/values.yaml
index bf5c3b7b82..e70295723c 100644
--- a/applications/ssotap/values.yaml
+++ b/applications/ssotap/values.yaml
@@ -1,12 +1,15 @@
cadc-tap:
- # Settings for the ingress rules.
ingress:
+ # -- Ingress path that should be routed to this service
path: "ssotap"
config:
# -- What type of backend?
backend: "pg"
+ # -- Name of the service from Gafaelfawr's perspective
+ serviceName: "ssotap"
+
pg:
# -- Postgres hostname:port to connect to
host: "usdf-pg-catalogs.slac.stanford.edu:5432"
@@ -21,7 +24,7 @@ cadc-tap:
vaultSecretName: "ssotap"
serviceAccount:
- # Name of Service Account
+ # -- Name of the Kubernetes `ServiceAccount`, used for CloudSQL access
name: "ssotap"
# The following will be set by parameters injected by Argo CD and should not
diff --git a/applications/tap/README.md b/applications/tap/README.md
index 62685520be..b72ac23eb7 100644
--- a/applications/tap/README.md
+++ b/applications/tap/README.md
@@ -12,9 +12,10 @@ IVOA TAP service
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| cadc-tap.config.backend | string | `"qserv"` | What type of backend? |
+| cadc-tap.config.serviceName | string | `"tap"` | Name of the service from Gafaelfawr's perspective |
| cadc-tap.config.vaultSecretName | string | `"tap"` | Vault secret name: the final key in the vault path |
-| cadc-tap.ingress.path | string | `"tap"` | |
-| cadc-tap.serviceAccount.name | string | `"tap"` | |
+| cadc-tap.ingress.path | string | `"tap"` | Ingress path that should be routed to this service |
+| cadc-tap.serviceAccount.name | string | `"tap"` | Name of the Kubernetes `ServiceAccount`, used for CloudSQL access |
| global.baseUrl | string | Set by Argo CD | Base URL for the environment |
| global.host | string | Set by Argo CD | Host name for ingress |
| global.vaultSecretsPath | string | Set by Argo CD | Base path for Vault secrets |
diff --git a/applications/tap/values.yaml b/applications/tap/values.yaml
index 21e256eeee..2e97e2b4fb 100644
--- a/applications/tap/values.yaml
+++ b/applications/tap/values.yaml
@@ -1,6 +1,6 @@
cadc-tap:
- # Settings for the ingress rules.
ingress:
+ # -- Ingress path that should be routed to this service
path: "tap"
config:
@@ -10,8 +10,11 @@ cadc-tap:
# -- Vault secret name: the final key in the vault path
vaultSecretName: "tap"
+ # -- Name of the service from Gafaelfawr's perspective
+ serviceName: "tap"
+
serviceAccount:
- # Name of Service Account
+ # -- Name of the Kubernetes `ServiceAccount`, used for CloudSQL access
name: "tap"
# The following will be set by parameters injected by Argo CD and should not
diff --git a/applications/telegraf/README.md b/applications/telegraf/README.md
index 84412df72c..574082f499 100644
--- a/applications/telegraf/README.md
+++ b/applications/telegraf/README.md
@@ -28,6 +28,7 @@ Application telemetry collection service
| telegraf.env[0].valueFrom.secretKeyRef.name | string | `"telegraf"` | |
| telegraf.mountPoints[0].mountPath | string | `"/etc/telegraf-generated"` | |
| telegraf.mountPoints[0].name | string | `"telegraf-generated-config"` | |
+| telegraf.pdb.create | bool | `false` | |
| telegraf.podLabels."hub.jupyter.org/network-access-hub" | string | `"true"` | |
| telegraf.rbac.clusterWide | bool | `true` | |
| telegraf.resources.limits.cpu | string | `"1"` | |
diff --git a/applications/telegraf/values.yaml b/applications/telegraf/values.yaml
index fe48caaf04..3bdbd8065f 100644
--- a/applications/telegraf/values.yaml
+++ b/applications/telegraf/values.yaml
@@ -13,6 +13,8 @@ telegraf:
requests:
memory: "350Mi"
cpu: "50m"
+ pdb:
+ create: false
args:
- "--config"
- "/etc/telegraf-generated/telegraf-generated.conf"
diff --git a/applications/times-square/README.md b/applications/times-square/README.md
index 366950ca28..3339c5b90e 100644
--- a/applications/times-square/README.md
+++ b/applications/times-square/README.md
@@ -19,7 +19,7 @@ An API service for managing and rendering parameterized Jupyter notebooks.
| cloudsql.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for Cloud SQL Auth Proxy images |
| cloudsql.image.repository | string | `"gcr.io/cloudsql-docker/gce-proxy"` | Cloud SQL Auth Proxy image to use |
| cloudsql.image.resources | object | see `values.yaml` | Resource requests and limits for Cloud SQL pod |
-| cloudsql.image.tag | string | `"1.37.1"` | Cloud SQL Auth Proxy tag to use |
+| cloudsql.image.tag | string | `"1.37.2"` | Cloud SQL Auth Proxy tag to use |
| cloudsql.instanceConnectionName | string | `""` | Instance connection name for a Cloud SQL PostgreSQL instance |
| cloudsql.serviceAccount | string | `""` | The Google service account that has an IAM binding to the `times-square` Kubernetes service accounts and has the `cloudsql.client` role |
| config.databaseUrl | string | None, must be set | URL for the PostgreSQL database |
diff --git a/applications/times-square/templates/ingress-templates.yaml b/applications/times-square/templates/ingress-templates.yaml
index 28a4d8ad51..439a3d2cd8 100644
--- a/applications/times-square/templates/ingress-templates.yaml
+++ b/applications/times-square/templates/ingress-templates.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "times-square.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- {{ .Values.ingress.templateApiScope | quote }}
- loginRedirect: true
+ service: "times-square"
template:
metadata:
name: "{{ template "times-square.fullname" . }}-templates"
diff --git a/applications/times-square/templates/ingress.yaml b/applications/times-square/templates/ingress.yaml
index 5f1a447ed5..5a74f8a68e 100644
--- a/applications/times-square/templates/ingress.yaml
+++ b/applications/times-square/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "times-square.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- {{ .Values.ingress.defaultScope }}
- loginRedirect: true
+ service: "times-square"
template:
metadata:
name: {{ template "times-square.fullname" . }}
diff --git a/applications/times-square/values.yaml b/applications/times-square/values.yaml
index f5509e689f..cfe2ff9d4c 100644
--- a/applications/times-square/values.yaml
+++ b/applications/times-square/values.yaml
@@ -156,7 +156,7 @@ cloudsql:
repository: "gcr.io/cloudsql-docker/gce-proxy"
# -- Cloud SQL Auth Proxy tag to use
- tag: "1.37.1"
+ tag: "1.37.2"
# -- Pull policy for Cloud SQL Auth Proxy images
pullPolicy: "IfNotPresent"
diff --git a/applications/unfurlbot/Chart.yaml b/applications/unfurlbot/Chart.yaml
index 9f739e437f..f6421a6498 100644
--- a/applications/unfurlbot/Chart.yaml
+++ b/applications/unfurlbot/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: "0.3.1"
+appVersion: "0.3.2"
description: Squarebot backend that unfurls Jira issues.
name: unfurlbot
sources:
diff --git a/applications/unfurlbot/README.md b/applications/unfurlbot/README.md
index 4d615367d9..fb494f08bb 100644
--- a/applications/unfurlbot/README.md
+++ b/applications/unfurlbot/README.md
@@ -11,10 +11,6 @@ Squarebot backend that unfurls Jira issues.
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity rules for the unfurlbot deployment pod |
-| autoscaling.enabled | bool | `false` | Enable autoscaling of unfurlbot deployment |
-| autoscaling.maxReplicas | int | `100` | Maximum number of unfurlbot deployment pods |
-| autoscaling.minReplicas | int | `1` | Minimum number of unfurlbot deployment pods |
-| autoscaling.targetCPUUtilizationPercentage | int | `80` | Target CPU utilization of unfurlbot deployment pods |
| config.jiraProjects | string | See `values.yaml` | Names of Jira projects to unfurl (comma-separated) |
| config.jiraUrl | string | `"https://rubinobs.atlassian.net/"` | Jira base URL |
| config.logLevel | string | `"INFO"` | Logging level: "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL" |
@@ -29,7 +25,7 @@ Squarebot backend that unfurls Jira issues.
| global.vaultSecretsPath | string | Set by Argo CD | Base path for Vault secrets |
| image.pullPolicy | string | `"IfNotPresent"` | Pull policy for the unfurlbot image |
| image.repository | string | `"ghcr.io/lsst-sqre/unfurlbot"` | Image to use in the unfurlbot deployment |
-| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
+| image.tag | string | The appVersion of the chart | Image tag to use |
| ingress.annotations | object | `{}` | Additional annotations for the ingress rule |
| nodeSelector | object | `{}` | Node selection rules for the unfurlbot deployment pod |
| podAnnotations | object | `{}` | Annotations for the unfurlbot deployment pod |
diff --git a/applications/unfurlbot/secrets.yaml b/applications/unfurlbot/secrets.yaml
index 1ccca0b2c9..da469635b6 100644
--- a/applications/unfurlbot/secrets.yaml
+++ b/applications/unfurlbot/secrets.yaml
@@ -20,7 +20,8 @@ UNFURLBOT_SLACK_APP_ID:
key: SQUAREBOT_SLACK_APP_ID
UNFURLBOT_SLACK_TOKEN:
description: >-
- The Slack bot user oauth token for the Slack App shared by all Squarebot services.
+ The Slack bot user OAuth token for the Slack App shared by all Squarebot
+ services.
copy:
application: squarebot
key: SQUAREBOT_SLACK_TOKEN
diff --git a/applications/unfurlbot/templates/deployment.yaml b/applications/unfurlbot/templates/deployment.yaml
index e511d62527..018fbb3c7f 100644
--- a/applications/unfurlbot/templates/deployment.yaml
+++ b/applications/unfurlbot/templates/deployment.yaml
@@ -7,9 +7,7 @@ metadata:
app.kubernetes.io/component: "server"
app.kubernetes.io/part-of: "unfurlbot"
spec:
- {{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
- {{- end }}
selector:
matchLabels:
{{- include "unfurlbot.selectorLabels" . | nindent 6 }}
diff --git a/applications/unfurlbot/templates/hpa.yaml b/applications/unfurlbot/templates/hpa.yaml
deleted file mode 100644
index 01f98ad397..0000000000
--- a/applications/unfurlbot/templates/hpa.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-{{- if .Values.autoscaling.enabled }}
-apiVersion: autoscaling/v2beta1
-kind: HorizontalPodAutoscaler
-metadata:
- name: "unfurlbot"
- labels:
- {{- include "unfurlbot.labels" . | nindent 4 }}
-spec:
- scaleTargetRef:
- apiVersion: apps/v1
- kind: Deployment
- name: "unfurlbot"
- minReplicas: {{ .Values.autoscaling.minReplicas }}
- maxReplicas: {{ .Values.autoscaling.maxReplicas }}
- metrics:
- {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- - type: Resource
- resource:
- name: "cpu"
- targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
- {{- end }}
- {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- - type: Resource
- resource:
- name: "memory"
- targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
- {{- end }}
-{{- end }}
diff --git a/applications/unfurlbot/templates/kafkaaccess.yaml b/applications/unfurlbot/templates/kafkaaccess.yaml
index 0c1db33801..322ad17ed6 100644
--- a/applications/unfurlbot/templates/kafkaaccess.yaml
+++ b/applications/unfurlbot/templates/kafkaaccess.yaml
@@ -1,14 +1,16 @@
apiVersion: access.strimzi.io/v1alpha1
kind: KafkaAccess
metadata:
- name: unfurlbot-kafka
+ name: "unfurlbot-kafka"
+ labels:
+ {{- include "unfurlbot.labels" . | nindent 4 }}
spec:
kafka:
- name: sasquatch
- namespace: sasquatch
- listener: tls
+ name: "sasquatch"
+ namespace: "sasquatch"
+ listener: "tls"
user:
- kind: KafkaUser
- apiGroup: kafka.strimzi.io
- name: unfurlbot
- namespace: sasquatch
+ kind: "KafkaUser"
+ apiGroup: "kafka.strimzi.io"
+ name: "unfurlbot"
+ namespace: "sasquatch"
diff --git a/applications/unfurlbot/templates/networkpolicy.yaml b/applications/unfurlbot/templates/networkpolicy.yaml
index 914cd78765..bfb84dd0b2 100644
--- a/applications/unfurlbot/templates/networkpolicy.yaml
+++ b/applications/unfurlbot/templates/networkpolicy.yaml
@@ -2,6 +2,8 @@ apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: "unfurlbot"
+ labels:
+ {{- include "unfurlbot.labels" . | nindent 4 }}
spec:
podSelector:
matchLabels:
diff --git a/applications/unfurlbot/values.yaml b/applications/unfurlbot/values.yaml
index 207f34358e..cb997a6f8e 100644
--- a/applications/unfurlbot/values.yaml
+++ b/applications/unfurlbot/values.yaml
@@ -12,7 +12,8 @@ image:
# -- Pull policy for the unfurlbot image
pullPolicy: "IfNotPresent"
- # -- Overrides the image tag whose default is the chart appVersion.
+ # -- Image tag to use
+ # @default -- The appVersion of the chart
tag: ""
config:
@@ -95,6 +96,7 @@ config:
PREOPS,
OBS,
SITCOM,
+ SP,
BLOCK
ingress:
@@ -102,7 +104,6 @@ ingress:
annotations: {}
redis:
-
# -- Resource requests and limits for the redis pod
# @default -- see `values.yaml`
resources:
@@ -113,19 +114,11 @@ redis:
cpu: "2m"
memory: "3Mi"
-autoscaling:
- # -- Enable autoscaling of unfurlbot deployment
- enabled: false
-
- # -- Minimum number of unfurlbot deployment pods
- minReplicas: 1
-
- # -- Maximum number of unfurlbot deployment pods
- maxReplicas: 100
+# -- Affinity rules for the unfurlbot deployment pod
+affinity: {}
- # -- Target CPU utilization of unfurlbot deployment pods
- targetCPUUtilizationPercentage: 80
- # targetMemoryUtilizationPercentage: 80
+# -- Node selection rules for the unfurlbot deployment pod
+nodeSelector: {}
# -- Annotations for the unfurlbot deployment pod
podAnnotations: {}
@@ -140,15 +133,9 @@ resources:
cpu: "9m"
memory: "60Mi"
-# -- Node selection rules for the unfurlbot deployment pod
-nodeSelector: {}
-
# -- Tolerations for the unfurlbot deployment pod
tolerations: []
-# -- Affinity rules for the unfurlbot deployment pod
-affinity: {}
-
# The following will be set by parameters injected by Argo CD and should not
# be set in the individual environment values files.
global:
diff --git a/applications/vault/Chart.yaml b/applications/vault/Chart.yaml
index 8226ae401f..ed7fcfcb46 100644
--- a/applications/vault/Chart.yaml
+++ b/applications/vault/Chart.yaml
@@ -4,5 +4,5 @@ version: 1.0.0
description: Secret Storage
dependencies:
- name: vault
- version: 0.29.0
+ version: 0.29.1
repository: https://helm.releases.hashicorp.com
diff --git a/applications/vo-cutouts/README.md b/applications/vo-cutouts/README.md
index 97213c69f0..0a51e70249 100644
--- a/applications/vo-cutouts/README.md
+++ b/applications/vo-cutouts/README.md
@@ -14,7 +14,7 @@ Image cutout service complying with IVOA SODA
| cloudsql.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for Cloud SQL Auth Proxy images |
| cloudsql.image.repository | string | `"gcr.io/cloudsql-docker/gce-proxy"` | Cloud SQL Auth Proxy image to use |
| cloudsql.image.schemaUpdateTagSuffix | string | `"-alpine"` | Tag suffix to use for the proxy for schema updates |
-| cloudsql.image.tag | string | `"1.37.1"` | Cloud SQL Auth Proxy tag to use |
+| cloudsql.image.tag | string | `"1.37.2"` | Cloud SQL Auth Proxy tag to use |
| cloudsql.instanceConnectionName | string | None, must be set if Cloud SQL is used | Instance connection name for a Cloud SQL PostgreSQL instance |
| cloudsql.resources | object | See `values.yaml` | Resource limits and requests for the Cloud SQL Proxy container |
| config.databaseUrl | string | None, must be set if `cloudsql.enabled` is false | URL for the PostgreSQL database if Cloud SQL is not in use |
diff --git a/applications/vo-cutouts/templates/ingress.yaml b/applications/vo-cutouts/templates/ingress.yaml
index 584bad30ec..cc11ae5341 100644
--- a/applications/vo-cutouts/templates/ingress.yaml
+++ b/applications/vo-cutouts/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: "vo-cutouts"
# Request a delegated token to use for making calls to Butler server with the
# end-user's credentials.
delegate:
diff --git a/applications/vo-cutouts/values.yaml b/applications/vo-cutouts/values.yaml
index 199c0ce730..40e4a9aa56 100644
--- a/applications/vo-cutouts/values.yaml
+++ b/applications/vo-cutouts/values.yaml
@@ -94,7 +94,7 @@ cloudsql:
repository: "gcr.io/cloudsql-docker/gce-proxy"
# -- Cloud SQL Auth Proxy tag to use
- tag: "1.37.1"
+ tag: "1.37.2"
# -- Tag suffix to use for the proxy for schema updates
schemaUpdateTagSuffix: "-alpine"
diff --git a/charts/cadc-tap/README.md b/charts/cadc-tap/README.md
index 8adaa4f4fd..1dcfc1198a 100644
--- a/charts/cadc-tap/README.md
+++ b/charts/cadc-tap/README.md
@@ -17,7 +17,7 @@ IVOA TAP service
| cloudsql.enabled | bool | `false` | Enable the Cloud SQL Auth Proxy sidecar, used with Cloud SQL databases on Google Cloud |
| cloudsql.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for Cloud SQL Auth Proxy images |
| cloudsql.image.repository | string | `"gcr.io/cloudsql-docker/gce-proxy"` | Cloud SQL Auth Proxy image to use |
-| cloudsql.image.tag | string | `"1.37.1"` | Cloud SQL Auth Proxy tag to use |
+| cloudsql.image.tag | string | `"1.37.2"` | Cloud SQL Auth Proxy tag to use |
| cloudsql.instanceConnectionName | string | `""` | Instance connection name for a Cloud SQL PostgreSQL instance |
| cloudsql.resources | object | See `values.yaml` | Resource limits and requests for the Cloud SQL Proxy container |
| cloudsql.serviceAccount | string | None, must be set | The Google service account that has an IAM binding to the `cadc-tap` Kubernetes service accounts and has the `cloudsql.client` role, access |
@@ -31,14 +31,15 @@ IVOA TAP service
| config.pg.host | string | None, must be set if backend is `pg` | Host to connect to |
| config.pg.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for the TAP image |
| config.pg.image.repository | string | `"ghcr.io/lsst-sqre/tap-postgres-service"` | TAP image to use |
-| config.pg.image.tag | string | `"1.18.6"` | Tag of TAP image to use |
+| config.pg.image.tag | string | `"1.19.0"` | Tag of TAP image to use |
| config.pg.username | string | None, must be set if backend is `pg` | Username to connect with |
| config.qserv.host | string | `"mock-db:3306"` (the mock QServ) | QServ hostname:port to connect to |
| config.qserv.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for the TAP image |
| config.qserv.image.repository | string | `"ghcr.io/lsst-sqre/lsst-tap-service"` | TAP image to use |
-| config.qserv.image.tag | string | `"2.4.7"` | Tag of TAP image to use |
+| config.qserv.image.tag | string | `"2.5.0"` | Tag of TAP image to use |
| config.qserv.jdbcParams | string | `""` | Extra JDBC connection parameters |
| config.qserv.passwordEnabled | bool | false | Whether the Qserv database is password protected |
+| config.serviceName | string | None, must be set | Name of the service from Gafaelfawr's perspective, used for metrics reporting |
| config.tapSchemaAddress | string | `"cadc-tap-schema-db:3306"` | Address to a MySQL database containing TAP schema data |
| config.vaultSecretName | string | `""` | Vault secret name, this is appended to the global path to find the vault secrets associated with this deployment. |
| fullnameOverride | string | `"cadc-tap"` | Override the full name for resources (includes the release name) |
@@ -78,7 +79,7 @@ IVOA TAP service
| uws.affinity | object | `{}` | Affinity rules for the UWS database pod |
| uws.image.pullPolicy | string | `"IfNotPresent"` | Pull policy for the UWS database image |
| uws.image.repository | string | `"ghcr.io/lsst-sqre/lsst-tap-uws-db"` | UWS database image to use |
-| uws.image.tag | string | `"2.4.7"` | Tag of UWS database image to use |
+| uws.image.tag | string | `"2.5.0"` | Tag of UWS database image to use |
| uws.nodeSelector | object | `{}` | Node selection rules for the UWS database pod |
| uws.podAnnotations | object | `{}` | Annotations for the UWS databse pod |
| uws.resources | object | See `values.yaml` | Resource limits and requests for the UWS database pod |
diff --git a/charts/cadc-tap/templates/configmap.yaml b/charts/cadc-tap/templates/configmap.yaml
index c7a872633b..4bceb70294 100644
--- a/charts/cadc-tap/templates/configmap.yaml
+++ b/charts/cadc-tap/templates/configmap.yaml
@@ -6,7 +6,7 @@ metadata:
{{- include "cadc-tap.labels" . | nindent 4 }}
data:
cadc-registry.properties: |
- ivo://ivoa.net/sso#OpenID = {{ .Values.global.baseUrl }}/auth/cadc
+ ivo://ivoa.net/sso#OpenID = {{ .Values.global.baseUrl }}
catalina.properties: |
# tomcat properties
tomcat.connector.connectionTimeout=20000
diff --git a/charts/cadc-tap/templates/tap-ingress-authenticated.yaml b/charts/cadc-tap/templates/tap-ingress-authenticated.yaml
index c4c0f4aaea..933baaba60 100644
--- a/charts/cadc-tap/templates/tap-ingress-authenticated.yaml
+++ b/charts/cadc-tap/templates/tap-ingress-authenticated.yaml
@@ -6,14 +6,15 @@ metadata:
{{- include "cadc-tap.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ authType: "basic"
scopes:
all:
- "read:tap"
- authType: "basic"
+ service: {{ required "config.serviceName must be set" .Values.config.serviceName | quote }}
delegate:
internal:
scopes: []
- service: "tap"
+ service: {{ .Values.config.serviceName | quote }}
useAuthorization: true
template:
metadata:
diff --git a/charts/cadc-tap/values.yaml b/charts/cadc-tap/values.yaml
index a755e17f89..8f043c830f 100644
--- a/charts/cadc-tap/values.yaml
+++ b/charts/cadc-tap/values.yaml
@@ -71,7 +71,7 @@ config:
pullPolicy: "IfNotPresent"
# -- Tag of TAP image to use
- tag: "1.18.6"
+ tag: "1.19.0"
qserv:
# -- QServ hostname:port to connect to
@@ -89,7 +89,7 @@ config:
pullPolicy: "IfNotPresent"
# -- Tag of TAP image to use
- tag: "2.4.7"
+ tag: "2.5.0"
# -- Whether the Qserv database is password protected
# @default -- false
@@ -115,6 +115,11 @@ config:
# maths.
jvmMaxHeapSize: 31G
+ # -- Name of the service from Gafaelfawr's perspective, used for metrics
+ # reporting
+ # @default -- None, must be set
+ serviceName: ""
+
# -- Vault secret name, this is appended to the global path to find the
# vault secrets associated with this deployment.
vaultSecretName: ""
@@ -195,7 +200,7 @@ uws:
pullPolicy: "IfNotPresent"
# -- Tag of UWS database image to use
- tag: "2.4.7"
+ tag: "2.5.0"
# -- Resource limits and requests for the UWS database pod
# @default -- See `values.yaml`
@@ -229,7 +234,7 @@ cloudsql:
repository: "gcr.io/cloudsql-docker/gce-proxy"
# -- Cloud SQL Auth Proxy tag to use
- tag: "1.37.1"
+ tag: "1.37.2"
# -- Pull policy for Cloud SQL Auth Proxy images
pullPolicy: "IfNotPresent"
diff --git a/charts/prompt-proto-service/README.md b/charts/prompt-proto-service/README.md
index 06c8d5eff9..f2d8e7f96d 100644
--- a/charts/prompt-proto-service/README.md
+++ b/charts/prompt-proto-service/README.md
@@ -22,8 +22,9 @@ Event-driven processing of camera images
| cache.maxFilters | int | `20` | The maximum number of datasets of a given type the service might load if the filter is unknown. Should be greater than or equal to the number of filters that have e.g. flats or transmission curves. |
| cache.patchesPerImage | int | `4` | A factor by which to multiply `baseSize` for templates and other patch-based datasets. |
| cache.refcatsPerImage | int | `4` | A factor by which to multiply `baseSize` for refcat datasets. |
-| cacheCalibs | bool | `true` | Whether or not calibs should be cached between runs of a pod. This is a temporary flag that should only be unset in specific circumstances, and only in the development environment. |
| containerConcurrency | int | `1` | The number of Knative requests that can be handled simultaneously by one container |
+| debug.cacheCalibs | bool | `true` | Whether or not calibs should be cached between runs of a pod. This is a temporary flag that should only be unset in specific circumstances, and only in the development environment. |
+| debug.exportOutputs | bool | `true` | Whether or not pipeline outputs should be exported to the central repo. This flag does not turn off APDB writes or alert generation; those must be handled at the pipeline level or by setting up an alternative destination. |
| fullnameOverride | string | `"prompt-proto-service"` | Override the full name for resources (includes the release name) |
| image.pullPolicy | string | `IfNotPresent` in prod, `Always` in dev | Pull policy for the PP image |
| image.repository | string | `"ghcr.io/lsst-dm/prompt-service"` | Image to use in the PP deployment |
@@ -34,8 +35,8 @@ Event-driven processing of camera images
| imagePullSecrets | list | `[]` | |
| instrument.calibRepo | string | None, must be set | URI to the shared repo used for calibrations, templates, and pipeline outputs. If `registry.centralRepoFile` is set, this URI points to a local redirect instead of the central repo itself. |
| instrument.name | string | None, must be set | The "short" name of the instrument |
-| instrument.pipelines.main | string | None, must be set | Machine-readable string describing which pipeline(s) should be run for which visits' raws. Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
-| instrument.pipelines.preprocessing | string | None, must be set | Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival. |
+| instrument.pipelines.main | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run for which visits' raws. Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples. |
+| instrument.pipelines.preprocessing | string | None, must be set | YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival. |
| instrument.preloadPadding | int | `30` | Number of arcseconds to pad the spatial region in preloading. |
| instrument.skymap | string | `""` | Skymap to use with the instrument |
| knative.cpuLimit | int | `1` | The maximum cpu cores for the full pod (see `containerConcurrency`). |
diff --git a/charts/prompt-proto-service/templates/prompt-proto-service.yaml b/charts/prompt-proto-service/templates/prompt-proto-service.yaml
index aca24d55ba..ac77260360 100644
--- a/charts/prompt-proto-service/templates/prompt-proto-service.yaml
+++ b/charts/prompt-proto-service/templates/prompt-proto-service.yaml
@@ -42,9 +42,11 @@ spec:
- name: RUBIN_INSTRUMENT
value: {{ .Values.instrument.name }}
- name: PREPROCESSING_PIPELINES_CONFIG
- value: {{ .Values.instrument.pipelines.preprocessing }}
+ value: |-
+ {{- .Values.instrument.pipelines.preprocessing | nindent 12 }}
- name: MAIN_PIPELINES_CONFIG
- value: {{ .Values.instrument.pipelines.main }}
+ value: |-
+ {{- .Values.instrument.pipelines.main | nindent 12 }}
- name: SKYMAP
value: {{ .Values.instrument.skymap }}
- name: PRELOAD_PADDING
@@ -120,7 +122,9 @@ spec:
- name: FILTERS_WITH_CALIBS
value: {{ .Values.cache.maxFilters | toString | quote }}
- name: DEBUG_CACHE_CALIBS
- value: {{ if .Values.cacheCalibs }}'1'{{ else }}'0'{{ end }}
+ value: {{ if .Values.debug.cacheCalibs }}'1'{{ else }}'0'{{ end }}
+ - name: DEBUG_EXPORT_OUTPUTS
+ value: {{ if .Values.debug.exportOutputs }}'1'{{ else }}'0'{{ end }}
volumeMounts:
- mountPath: /tmp-butler
name: ephemeral
diff --git a/charts/prompt-proto-service/values.yaml b/charts/prompt-proto-service/values.yaml
index 04c55b7472..45eea955ed 100644
--- a/charts/prompt-proto-service/values.yaml
+++ b/charts/prompt-proto-service/values.yaml
@@ -40,11 +40,11 @@ instrument:
# @default -- None, must be set
name: ""
pipelines:
- # -- Machine-readable string describing which pipeline(s) should be run for which visits' raws.
- # Notation is complex and still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
+ # -- YAML-formatted config describing which pipeline(s) should be run for which visits' raws.
+ # Fields are still in flux; see [the source code](https://github.com/lsst-dm/prompt_processing/blob/main/python/activator/config.py) for examples.
# @default -- None, must be set
main: ""
- # -- Machine-readable string describing which pipeline(s) should be run before which visits' raw arrival.
+ # -- YAML-formatted config describing which pipeline(s) should be run before which visits' raw arrival.
# @default -- None, must be set
preprocessing: ""
# -- Skymap to use with the instrument
@@ -168,9 +168,13 @@ fullnameOverride: "prompt-proto-service"
# -- The number of Knative requests that can be handled simultaneously by one container
containerConcurrency: 1
-# -- Whether or not calibs should be cached between runs of a pod.
-# This is a temporary flag that should only be unset in specific circumstances, and only in the development environment.
-cacheCalibs: true
+debug:
+ # -- Whether or not calibs should be cached between runs of a pod.
+ # This is a temporary flag that should only be unset in specific circumstances, and only in the development environment.
+ cacheCalibs: true
+ # -- Whether or not pipeline outputs should be exported to the central repo.
+ # This flag does not turn off APDB writes or alert generation; those must be handled at the pipeline level or by setting up an alternative destination.
+ exportOutputs: true
# -- Kubernetes YAML configs for extra container volume(s).
# Any volumes required by other config options are automatically handled by the Helm chart.
diff --git a/charts/rubintv/templates/deployment-workers.yaml b/charts/rubintv/templates/deployment-workers.yaml
index b4784e839e..51010dce2f 100644
--- a/charts/rubintv/templates/deployment-workers.yaml
+++ b/charts/rubintv/templates/deployment-workers.yaml
@@ -100,6 +100,9 @@ spec:
initContainers:
- name: "secret-perm-fixer"
image: "busybox"
+ # TODO: Note that rubintv-secrets and butler-secrets share the same
+ # aws-credentials.ini and postgres-credentials.txt files so this will
+ # need to be fixed. See DM-47762.
command:
- "/bin/sh"
- "-c"
diff --git a/charts/rubintv/templates/ingress.yaml b/charts/rubintv/templates/ingress.yaml
index 9234160481..834447a46c 100644
--- a/charts/rubintv/templates/ingress.yaml
+++ b/charts/rubintv/templates/ingress.yaml
@@ -6,10 +6,11 @@ metadata:
{{- include "rubintv.labels" . | nindent 4 }}
config:
baseUrl: {{ .Values.global.baseUrl | quote }}
+ loginRedirect: true
scopes:
all:
- "read:image"
- loginRedirect: true
+ service: "rubintv"
template:
metadata:
name: {{ template "rubintv.fullname" . }}
diff --git a/docs/applications/kubernetes-replicator/index.rst b/docs/applications/kubernetes-replicator/index.rst
deleted file mode 100644
index f7eeb2ccdd..0000000000
--- a/docs/applications/kubernetes-replicator/index.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-.. px-app:: kubernetes-replicator
-
-#################################################
-kubernetes-replicator — Cross-namespace resources
-#################################################
-
-kubernetes-replicator is a Kubernetes operator that replicates resources across namespaces.
-
-.. jinja:: kubernetes-replicator
- :file: applications/_summary.rst.jinja
-
-Guides
-======
-
-.. toctree::
-
- values
diff --git a/docs/applications/kubernetes-replicator/values.md b/docs/applications/kubernetes-replicator/values.md
deleted file mode 100644
index da8e6f4d19..0000000000
--- a/docs/applications/kubernetes-replicator/values.md
+++ /dev/null
@@ -1,12 +0,0 @@
-```{px-app-values} kubernetes-replicator
-```
-
-# Kubernetes Helm values reference
-
-Helm values reference table for the {px-app}`kubernetes-replicator` application.
-
-```{include} ../../../applications/kubernetes-replicator/README.md
----
-start-after: "## Values"
----
-```
diff --git a/docs/applications/rubin.rst b/docs/applications/rubin.rst
index 483f483438..ebd6ab8be3 100644
--- a/docs/applications/rubin.rst
+++ b/docs/applications/rubin.rst
@@ -23,4 +23,5 @@ Argo CD project: ``rubin``
rapid-analysis/index
rubintv/index
rubintv-dev/index
+ s3proxy/index
schedview-snapshot/index
diff --git a/docs/applications/s3proxy/index.rst b/docs/applications/s3proxy/index.rst
new file mode 100644
index 0000000000..7ed9bd8ccc
--- /dev/null
+++ b/docs/applications/s3proxy/index.rst
@@ -0,0 +1,19 @@
+.. px-app:: s3proxy
+
+########################################################
+s3proxy — Simple application to gateway S3 URLs to HTTPS
+########################################################
+
+This application provides authenticated internal links to S3 resources.
+It is intended for deployment only at the USDF, but it could be used elsewhere.
+
+.. jinja:: s3proxy
+ :file: applications/_summary.rst.jinja
+
+Guides
+======
+
+.. toctree::
+ :maxdepth: 1
+
+ values
diff --git a/docs/applications/s3proxy/values.md b/docs/applications/s3proxy/values.md
new file mode 100644
index 0000000000..1e546df95b
--- /dev/null
+++ b/docs/applications/s3proxy/values.md
@@ -0,0 +1,12 @@
+```{px-app-values} s3proxy
+```
+
+# s3proxy Helm values reference
+
+Helm values reference table for the {px-app}`s3proxy` application.
+
+```{include} ../../../applications/s3proxy/README.md
+---
+start-after: "## Values"
+---
+```
\ No newline at end of file
diff --git a/docs/applications/support.rst b/docs/applications/support.rst
index 14c67ff93d..b43473ccca 100644
--- a/docs/applications/support.rst
+++ b/docs/applications/support.rst
@@ -11,7 +11,6 @@ Argo CD project: ``support``
:maxdepth: 1
ghostwriter/index
- kubernetes-replicator/index
postgres/index
sqlproxy-cross-project/index
strimzi/index
diff --git a/environments/README.md b/environments/README.md
index e92de4f65a..1ccb8660e5 100644
--- a/environments/README.md
+++ b/environments/README.md
@@ -26,7 +26,6 @@
| applications.hips | bool | `false` | Enable the HiPS application |
| applications.ingress-nginx | bool | `true` | Enable the ingress-nginx application. This is required for all environments, but is still configurable because currently USDF uses an unsupported configuration with ingress-nginx deployed in a different cluster. |
| applications.jira-data-proxy | bool | `false` | Enable the jira-data-proxy application |
-| applications.kubernetes-replicator | bool | `false` | Enable the kubernetes-replicator application |
| applications.livetap | bool | `false` | Enable the livetap application |
| applications.love | bool | `false` | Enable the love control system application |
| applications.mobu | bool | `false` | Enable the mobu application |
@@ -53,6 +52,7 @@
| applications.prompt-proto-service-lsstcomcamsim | bool | `false` | Enable the prompt-proto-service-lsstcomcamsim application |
| applications.rubintv | bool | `false` | Enable the rubintv application |
| applications.rubintv-dev | bool | `false` | Enable the rubintv-dev application |
+| applications.s3proxy | bool | `false` | Enable the s3proxy application |
| applications.sasquatch | bool | `false` | Enable the sasquatch application |
| applications.sasquatch-backpack | bool | `false` | Enable the sasquatch-backpack application |
| applications.schedview-snapshot | bool | `false` | Enable the schedview-snapshot application |
diff --git a/environments/templates/applications/support/kubernetes-replicator.yaml b/environments/templates/applications/rubin/s3proxy.yaml
similarity index 74%
rename from environments/templates/applications/support/kubernetes-replicator.yaml
rename to environments/templates/applications/rubin/s3proxy.yaml
index 8cdc7bd1a6..1f33f79960 100644
--- a/environments/templates/applications/support/kubernetes-replicator.yaml
+++ b/environments/templates/applications/rubin/s3proxy.yaml
@@ -1,23 +1,23 @@
-{{- if (index .Values "applications" "kubernetes-replicator") -}}
+{{- if (index .Values "applications" "s3proxy") -}}
apiVersion: v1
kind: Namespace
metadata:
- name: "kubernetes-replicator"
+ name: "s3proxy"
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
- name: "kubernetes-replicator"
+ name: "s3proxy"
namespace: "argocd"
finalizers:
- "resources-finalizer.argocd.argoproj.io"
spec:
destination:
- namespace: "kubernetes-replicator"
+ namespace: "s3proxy"
server: "https://kubernetes.default.svc"
- project: "support"
+ project: "rubin"
source:
- path: "applications/kubernetes-replicator"
+ path: "applications/s3proxy"
repoURL: {{ .Values.repoUrl | quote }}
targetRevision: {{ .Values.targetRevision | quote }}
helm:
@@ -31,4 +31,4 @@ spec:
valueFiles:
- "values.yaml"
- "values-{{ .Values.name }}.yaml"
-{{- end -}}
+{{- end -}}
\ No newline at end of file
diff --git a/environments/values-base.yaml b/environments/values-base.yaml
index 03455ce0a7..ea94b64e03 100644
--- a/environments/values-base.yaml
+++ b/environments/values-base.yaml
@@ -35,6 +35,6 @@ applications:
uws: true
controlSystem:
- imageTag: "k0002"
+ imageTag: "k0003"
siteTag: "base"
s3EndpointUrl: "https://s3.ls.lsst.org"
diff --git a/environments/values-roundtable-dev.yaml b/environments/values-roundtable-dev.yaml
index a447b4b181..d97f6b3e86 100644
--- a/environments/values-roundtable-dev.yaml
+++ b/environments/values-roundtable-dev.yaml
@@ -13,7 +13,6 @@ vaultPathPrefix: "secret/phalanx/roundtable-dev"
applications:
giftless: true
jira-data-proxy: true
- kubernetes-replicator: true
mobu: true
monitoring: true
onepassword-connect: true
diff --git a/environments/values-roundtable-prod.yaml b/environments/values-roundtable-prod.yaml
index c0625aa465..abf6d60994 100644
--- a/environments/values-roundtable-prod.yaml
+++ b/environments/values-roundtable-prod.yaml
@@ -14,7 +14,6 @@ applications:
checkerboard: true
giftless: true
jira-data-proxy: true
- kubernetes-replicator: true
monitoring: true
mobu: true
onepassword-connect: true
diff --git a/environments/values-usdfdev.yaml b/environments/values-usdfdev.yaml
index d186cba8d2..ee2390b317 100644
--- a/environments/values-usdfdev.yaml
+++ b/environments/values-usdfdev.yaml
@@ -29,6 +29,7 @@ applications:
postgres: true
ppdb-replication: true
rubintv: true
+ s3proxy: true
sasquatch: true
schedview-snapshot: true
semaphore: true
diff --git a/environments/values-usdfprod.yaml b/environments/values-usdfprod.yaml
index 641d4bad06..16e5b9da08 100644
--- a/environments/values-usdfprod.yaml
+++ b/environments/values-usdfprod.yaml
@@ -24,6 +24,7 @@ applications:
portal: true
postgres: true
rubintv: true
+ s3proxy: true
sasquatch: true
semaphore: true
siav2: true
diff --git a/environments/values.yaml b/environments/values.yaml
index b65965df03..5a4c7efe93 100644
--- a/environments/values.yaml
+++ b/environments/values.yaml
@@ -100,9 +100,6 @@ applications:
# -- Enable the jira-data-proxy application
jira-data-proxy: false
- # -- Enable the kubernetes-replicator application
- kubernetes-replicator: false
-
# -- Enable the livetap application
livetap: false
@@ -162,6 +159,9 @@ applications:
# -- Enable the rubintv-dev application
rubintv-dev: false
+ # -- Enable the s3proxy application
+ s3proxy: false
+
# -- Enable the sasquatch application
sasquatch: false
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 3c3e316dab..36fff76eba 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -14,9 +14,9 @@ appnope==0.1.4 ; platform_system == 'Darwin' \
--hash=sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee \
--hash=sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c
# via ipykernel
-asttokens==2.4.1 \
- --hash=sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24 \
- --hash=sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0
+asttokens==3.0.0 \
+ --hash=sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7 \
+ --hash=sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2
# via stack-data
attrs==24.2.0 \
--hash=sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346 \
@@ -244,99 +244,99 @@ comm==0.2.2 \
--hash=sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e \
--hash=sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3
# via ipykernel
-coverage==7.6.7 \
- --hash=sha256:0266b62cbea568bd5e93a4da364d05de422110cbed5056d69339bd5af5685433 \
- --hash=sha256:0573f5cbf39114270842d01872952d301027d2d6e2d84013f30966313cadb529 \
- --hash=sha256:0ddcb70b3a3a57581b450571b31cb774f23eb9519c2aaa6176d3a84c9fc57671 \
- --hash=sha256:108bb458827765d538abcbf8288599fee07d2743357bdd9b9dad456c287e121e \
- --hash=sha256:14045b8bfd5909196a90da145a37f9d335a5d988a83db34e80f41e965fb7cb42 \
- --hash=sha256:1a5407a75ca4abc20d6252efeb238377a71ce7bda849c26c7a9bece8680a5d99 \
- --hash=sha256:2bc3e45c16564cc72de09e37413262b9f99167803e5e48c6156bccdfb22c8327 \
- --hash=sha256:2d608a7808793e3615e54e9267519351c3ae204a6d85764d8337bd95993581a8 \
- --hash=sha256:34d23e28ccb26236718a3a78ba72744212aa383141961dd6825f6595005c8b06 \
- --hash=sha256:37a15573f988b67f7348916077c6d8ad43adb75e478d0910957394df397d2874 \
- --hash=sha256:3c0317288f032221d35fa4cbc35d9f4923ff0dfd176c79c9b356e8ef8ef2dff4 \
- --hash=sha256:3c42ec2c522e3ddd683dec5cdce8e62817afb648caedad9da725001fa530d354 \
- --hash=sha256:3c6b24007c4bcd0b19fac25763a7cac5035c735ae017e9a349b927cfc88f31c1 \
- --hash=sha256:40cca284c7c310d622a1677f105e8507441d1bb7c226f41978ba7c86979609ab \
- --hash=sha256:46f21663e358beae6b368429ffadf14ed0a329996248a847a4322fb2e35d64d3 \
- --hash=sha256:49ed5ee4109258973630c1f9d099c7e72c5c36605029f3a91fe9982c6076c82b \
- --hash=sha256:5c95e0fa3d1547cb6f021ab72f5c23402da2358beec0a8e6d19a368bd7b0fb37 \
- --hash=sha256:5dd4e4a49d9c72a38d18d641135d2fb0bdf7b726ca60a103836b3d00a1182acd \
- --hash=sha256:5e444b8e88339a2a67ce07d41faabb1d60d1004820cee5a2c2b54e2d8e429a0f \
- --hash=sha256:60dcf7605c50ea72a14490d0756daffef77a5be15ed1b9fea468b1c7bda1bc3b \
- --hash=sha256:623e6965dcf4e28a3debaa6fcf4b99ee06d27218f46d43befe4db1c70841551c \
- --hash=sha256:673184b3156cba06154825f25af33baa2671ddae6343f23175764e65a8c4c30b \
- --hash=sha256:6cf96ceaa275f071f1bea3067f8fd43bec184a25a962c754024c973af871e1b7 \
- --hash=sha256:70a56a2ec1869e6e9fa69ef6b76b1a8a7ef709972b9cc473f9ce9d26b5997ce3 \
- --hash=sha256:77256ad2345c29fe59ae861aa11cfc74579c88d4e8dbf121cbe46b8e32aec808 \
- --hash=sha256:796c9b107d11d2d69e1849b2dfe41730134b526a49d3acb98ca02f4985eeff7a \
- --hash=sha256:7c07de0d2a110f02af30883cd7dddbe704887617d5c27cf373362667445a4c76 \
- --hash=sha256:7e61b0e77ff4dddebb35a0e8bb5a68bf0f8b872407d8d9f0c726b65dfabe2469 \
- --hash=sha256:82c809a62e953867cf57e0548c2b8464207f5f3a6ff0e1e961683e79b89f2c55 \
- --hash=sha256:850cfd2d6fc26f8346f422920ac204e1d28814e32e3a58c19c91980fa74d8289 \
- --hash=sha256:87ea64b9fa52bf395272e54020537990a28078478167ade6c61da7ac04dc14bc \
- --hash=sha256:90746521206c88bdb305a4bf3342b1b7316ab80f804d40c536fc7d329301ee13 \
- --hash=sha256:951aade8297358f3618a6e0660dc74f6b52233c42089d28525749fc8267dccd2 \
- --hash=sha256:963e4a08cbb0af6623e61492c0ec4c0ec5c5cf74db5f6564f98248d27ee57d30 \
- --hash=sha256:987a8e3da7da4eed10a20491cf790589a8e5e07656b6dc22d3814c4d88faf163 \
- --hash=sha256:9c2eb378bebb2c8f65befcb5147877fc1c9fbc640fc0aad3add759b5df79d55d \
- --hash=sha256:a1ab9763d291a17b527ac6fd11d1a9a9c358280adb320e9c2672a97af346ac2c \
- --hash=sha256:a3b925300484a3294d1c70f6b2b810d6526f2929de954e5b6be2bf8caa1f12c1 \
- --hash=sha256:acbb8af78f8f91b3b51f58f288c0994ba63c646bc1a8a22ad072e4e7e0a49f1c \
- --hash=sha256:ad32a981bcdedb8d2ace03b05e4fd8dace8901eec64a532b00b15217d3677dd2 \
- --hash=sha256:aee9cf6b0134d6f932d219ce253ef0e624f4fa588ee64830fcba193269e4daa3 \
- --hash=sha256:af05bbba896c4472a29408455fe31b3797b4d8648ed0a2ccac03e074a77e2314 \
- --hash=sha256:b6cce5c76985f81da3769c52203ee94722cd5d5889731cd70d31fee939b74bf0 \
- --hash=sha256:bb684694e99d0b791a43e9fc0fa58efc15ec357ac48d25b619f207c41f2fd384 \
- --hash=sha256:c132b5a22821f9b143f87446805e13580b67c670a548b96da945a8f6b4f2efbb \
- --hash=sha256:c296263093f099da4f51b3dff1eff5d4959b527d4f2f419e16508c5da9e15e8c \
- --hash=sha256:c973b2fe4dc445cb865ab369df7521df9c27bf40715c837a113edaa2aa9faf45 \
- --hash=sha256:cdd94501d65adc5c24f8a1a0eda110452ba62b3f4aeaba01e021c1ed9cb8f34a \
- --hash=sha256:d79d4826e41441c9a118ff045e4bccb9fdbdcb1d02413e7ea6eb5c87b5439d24 \
- --hash=sha256:dbba8210f5067398b2c4d96b4e64d8fb943644d5eb70be0d989067c8ca40c0f8 \
- --hash=sha256:df002e59f2d29e889c37abd0b9ee0d0e6e38c24f5f55d71ff0e09e3412a340ec \
- --hash=sha256:dfd14bcae0c94004baba5184d1c935ae0d1231b8409eb6c103a5fd75e8ecdc56 \
- --hash=sha256:e25bacb53a8c7325e34d45dddd2f2fbae0dbc230d0e2642e264a64e17322a777 \
- --hash=sha256:e2c8e3384c12dfa19fa9a52f23eb091a8fad93b5b81a41b14c17c78e23dd1d8b \
- --hash=sha256:e5f2a0f161d126ccc7038f1f3029184dbdf8f018230af17ef6fd6a707a5b881f \
- --hash=sha256:e69ad502f1a2243f739f5bd60565d14a278be58be4c137d90799f2c263e7049a \
- --hash=sha256:ead9b9605c54d15be228687552916c89c9683c215370c4a44f1f217d2adcc34d \
- --hash=sha256:f07ff574986bc3edb80e2c36391678a271d555f91fd1d332a1e0f4b5ea4b6ea9 \
- --hash=sha256:f2c7a045eef561e9544359a0bf5784b44e55cefc7261a20e730baa9220c83413 \
- --hash=sha256:f3e8796434a8106b3ac025fd15417315d7a58ee3e600ad4dbcfddc3f4b14342c \
- --hash=sha256:f63e21ed474edd23f7501f89b53280014436e383a14b9bd77a648366c81dce7b \
- --hash=sha256:fd49c01e5057a451c30c9b892948976f5d38f2cbd04dc556a82743ba8e27ed8c
+coverage==7.6.8 \
+ --hash=sha256:093896e530c38c8e9c996901858ac63f3d4171268db2c9c8b373a228f459bbc5 \
+ --hash=sha256:09b9f848b28081e7b975a3626e9081574a7b9196cde26604540582da60235fdf \
+ --hash=sha256:0b0c69f4f724c64dfbfe79f5dfb503b42fe6127b8d479b2677f2b227478db2eb \
+ --hash=sha256:13618bed0c38acc418896005732e565b317aa9e98d855a0e9f211a7ffc2d6638 \
+ --hash=sha256:13690e923a3932e4fad4c0ebfb9cb5988e03d9dcb4c5150b5fcbf58fd8bddfc4 \
+ --hash=sha256:177f01eeaa3aee4a5ffb0d1439c5952b53d5010f86e9d2667963e632e30082cc \
+ --hash=sha256:193e3bffca48ad74b8c764fb4492dd875038a2f9925530cb094db92bb5e47bed \
+ --hash=sha256:1defe91d41ce1bd44b40fabf071e6a01a5aa14de4a31b986aa9dfd1b3e3e414a \
+ --hash=sha256:1f188a2402f8359cf0c4b1fe89eea40dc13b52e7b4fd4812450da9fcd210181d \
+ --hash=sha256:202a2d645c5a46b84992f55b0a3affe4f0ba6b4c611abec32ee88358db4bb649 \
+ --hash=sha256:24eda3a24a38157eee639ca9afe45eefa8d2420d49468819ac5f88b10de84f4c \
+ --hash=sha256:2e4e0f60cb4bd7396108823548e82fdab72d4d8a65e58e2c19bbbc2f1e2bfa4b \
+ --hash=sha256:379c111d3558272a2cae3d8e57e6b6e6f4fe652905692d54bad5ea0ca37c5ad4 \
+ --hash=sha256:37cda8712145917105e07aab96388ae76e787270ec04bcb9d5cc786d7cbb8443 \
+ --hash=sha256:38c51297b35b3ed91670e1e4efb702b790002e3245a28c76e627478aa3c10d83 \
+ --hash=sha256:3985b9be361d8fb6b2d1adc9924d01dec575a1d7453a14cccd73225cb79243ee \
+ --hash=sha256:3988665ee376abce49613701336544041f2117de7b7fbfe91b93d8ff8b151c8e \
+ --hash=sha256:3ac47fa29d8d41059ea3df65bd3ade92f97ee4910ed638e87075b8e8ce69599e \
+ --hash=sha256:3b4b4299dd0d2c67caaaf286d58aef5e75b125b95615dda4542561a5a566a1e3 \
+ --hash=sha256:3ea8bb1ab9558374c0ab591783808511d135a833c3ca64a18ec927f20c4030f0 \
+ --hash=sha256:3fe47da3e4fda5f1abb5709c156eca207eacf8007304ce3019eb001e7a7204cb \
+ --hash=sha256:428ac484592f780e8cd7b6b14eb568f7c85460c92e2a37cb0c0e5186e1a0d076 \
+ --hash=sha256:44e6c85bbdc809383b509d732b06419fb4544dca29ebe18480379633623baafb \
+ --hash=sha256:4674f0daa1823c295845b6a740d98a840d7a1c11df00d1fd62614545c1583787 \
+ --hash=sha256:4be32da0c3827ac9132bb488d331cb32e8d9638dd41a0557c5569d57cf22c9c1 \
+ --hash=sha256:4db3ed6a907b555e57cc2e6f14dc3a4c2458cdad8919e40b5357ab9b6db6c43e \
+ --hash=sha256:5c52a036535d12590c32c49209e79cabaad9f9ad8aa4cbd875b68c4d67a9cbce \
+ --hash=sha256:629a1ba2115dce8bf75a5cce9f2486ae483cb89c0145795603d6554bdc83e801 \
+ --hash=sha256:62a66ff235e4c2e37ed3b6104d8b478d767ff73838d1222132a7a026aa548764 \
+ --hash=sha256:63068a11171e4276f6ece913bde059e77c713b48c3a848814a6537f35afb8365 \
+ --hash=sha256:63c19702db10ad79151a059d2d6336fe0c470f2e18d0d4d1a57f7f9713875dcf \
+ --hash=sha256:644ec81edec0f4ad17d51c838a7d01e42811054543b76d4ba2c5d6af741ce2a6 \
+ --hash=sha256:6535d996f6537ecb298b4e287a855f37deaf64ff007162ec0afb9ab8ba3b8b71 \
+ --hash=sha256:6f4548c5ead23ad13fb7a2c8ea541357474ec13c2b736feb02e19a3085fac002 \
+ --hash=sha256:716a78a342679cd1177bc8c2fe957e0ab91405bd43a17094324845200b2fddf4 \
+ --hash=sha256:74610105ebd6f33d7c10f8907afed696e79c59e3043c5f20eaa3a46fddf33b4c \
+ --hash=sha256:768939f7c4353c0fac2f7c37897e10b1414b571fd85dd9fc49e6a87e37a2e0d8 \
+ --hash=sha256:86cffe9c6dfcfe22e28027069725c7f57f4b868a3f86e81d1c62462764dc46d4 \
+ --hash=sha256:8aae5aea53cbfe024919715eca696b1a3201886ce83790537d1c3668459c7146 \
+ --hash=sha256:8b2b8503edb06822c86d82fa64a4a5cb0760bb8f31f26e138ec743f422f37cfc \
+ --hash=sha256:912e95017ff51dc3d7b6e2be158dedc889d9a5cc3382445589ce554f1a34c0ea \
+ --hash=sha256:9a7b8ac36fd688c8361cbc7bf1cb5866977ece6e0b17c34aa0df58bda4fa18a4 \
+ --hash=sha256:9e89d5c8509fbd6c03d0dd1972925b22f50db0792ce06324ba069f10787429ad \
+ --hash=sha256:ae270e79f7e169ccfe23284ff5ea2d52a6f401dc01b337efb54b3783e2ce3f28 \
+ --hash=sha256:b07c25d52b1c16ce5de088046cd2432b30f9ad5e224ff17c8f496d9cb7d1d451 \
+ --hash=sha256:b39e6011cd06822eb964d038d5dff5da5d98652b81f5ecd439277b32361a3a50 \
+ --hash=sha256:bd55f8fc8fa494958772a2a7302b0354ab16e0b9272b3c3d83cdb5bec5bd1779 \
+ --hash=sha256:c15b32a7aca8038ed7644f854bf17b663bc38e1671b5d6f43f9a2b2bd0c46f63 \
+ --hash=sha256:c1b4474beee02ede1eef86c25ad4600a424fe36cff01a6103cb4533c6bf0169e \
+ --hash=sha256:c79c0685f142ca53256722a384540832420dff4ab15fec1863d7e5bc8691bdcc \
+ --hash=sha256:c9ebfb2507751f7196995142f057d1324afdab56db1d9743aab7f50289abd022 \
+ --hash=sha256:d7ad66e8e50225ebf4236368cc43c37f59d5e6728f15f6e258c8639fa0dd8e6d \
+ --hash=sha256:d82ab6816c3277dc962cfcdc85b1efa0e5f50fb2c449432deaf2398a2928ab94 \
+ --hash=sha256:d9fd2547e6decdbf985d579cf3fc78e4c1d662b9b0ff7cc7862baaab71c9cc5b \
+ --hash=sha256:de38add67a0af869b0d79c525d3e4588ac1ffa92f39116dbe0ed9753f26eba7d \
+ --hash=sha256:e19122296822deafce89a0c5e8685704c067ae65d45e79718c92df7b3ec3d331 \
+ --hash=sha256:e44961e36cb13c495806d4cac67640ac2866cb99044e210895b506c26ee63d3a \
+ --hash=sha256:e4c81ed2820b9023a9a90717020315e63b17b18c274a332e3b6437d7ff70abe0 \
+ --hash=sha256:e683e6ecc587643f8cde8f5da6768e9d165cd31edf39ee90ed7034f9ca0eefee \
+ --hash=sha256:f39e2f3530ed1626c66e7493be7a8423b023ca852aacdc91fb30162c350d2a92 \
+ --hash=sha256:f56f49b2553d7dd85fd86e029515a221e5c1f8cb3d9c38b470bc38bde7b8445a \
+ --hash=sha256:fb9fc32399dca861584d96eccd6c980b69bbcd7c228d06fb74fe53e007aa8ef9
# via
# -r requirements/dev.in
# pytest-cov
-debugpy==1.8.8 \
- --hash=sha256:09cc7b162586ea2171eea055985da2702b0723f6f907a423c9b2da5996ad67ba \
- --hash=sha256:0cc94186340be87b9ac5a707184ec8f36547fb66636d1029ff4f1cc020e53996 \
- --hash=sha256:143ef07940aeb8e7316de48f5ed9447644da5203726fca378f3a6952a50a9eae \
- --hash=sha256:19ffbd84e757a6ca0113574d1bf5a2298b3947320a3e9d7d8dc3377f02d9f864 \
- --hash=sha256:26b461123a030e82602a750fb24d7801776aa81cd78404e54ab60e8b5fecdad5 \
- --hash=sha256:3a9c013077a3a0000e83d97cf9cc9328d2b0bbb31f56b0e99ea3662d29d7a6a2 \
- --hash=sha256:4b93e4832fd4a759a0c465c967214ed0c8a6e8914bced63a28ddb0dd8c5f078b \
- --hash=sha256:535f4fb1c024ddca5913bb0eb17880c8f24ba28aa2c225059db145ee557035e9 \
- --hash=sha256:53709d4ec586b525724819dc6af1a7703502f7e06f34ded7157f7b1f963bb854 \
- --hash=sha256:5c0e5a38c7f9b481bf31277d2f74d2109292179081f11108e668195ef926c0f9 \
- --hash=sha256:5c6e885dbf12015aed73770f29dec7023cb310d0dc2ba8bfbeb5c8e43f80edc9 \
- --hash=sha256:64674e95916e53c2e9540a056e5f489e0ad4872645399d778f7c598eacb7b7f9 \
- --hash=sha256:705cd123a773d184860ed8dae99becd879dfec361098edbefb5fc0d3683eb804 \
- --hash=sha256:890fd16803f50aa9cb1a9b9b25b5ec321656dd6b78157c74283de241993d086f \
- --hash=sha256:90244598214bbe704aa47556ec591d2f9869ff9e042e301a2859c57106649add \
- --hash=sha256:a6531d952b565b7cb2fbd1ef5df3d333cf160b44f37547a4e7cf73666aca5d8d \
- --hash=sha256:b01f4a5e5c5fb1d34f4ccba99a20ed01eabc45a4684f4948b5db17a319dfb23f \
- --hash=sha256:c399023146e40ae373753a58d1be0a98bf6397fadc737b97ad612886b53df318 \
- --hash=sha256:d4483836da2a533f4b1454dffc9f668096ac0433de855f0c22cdce8c9f7e10c4 \
- --hash=sha256:e59b1607c51b71545cb3496876544f7186a7a27c00b436a62f285603cc68d1c6 \
- --hash=sha256:e6355385db85cbd666be703a96ab7351bc9e6c61d694893206f8001e22aee091 \
- --hash=sha256:ec684553aba5b4066d4de510859922419febc710df7bba04fe9e7ef3de15d34f \
- --hash=sha256:eea8821d998ebeb02f0625dd0d76839ddde8cbf8152ebbe289dd7acf2cdc6b98 \
- --hash=sha256:f3cbf1833e644a3100eadb6120f25be8a532035e8245584c4f7532937edc652a \
- --hash=sha256:f95651bdcbfd3b27a408869a53fbefcc2bcae13b694daee5f1365b1b83a00113 \
- --hash=sha256:ffe94dd5e9a6739a75f0b85316dc185560db3e97afa6b215628d1b6a17561cb2
+debugpy==1.8.9 \
+ --hash=sha256:1339e14c7d980407248f09824d1b25ff5c5616651689f1e0f0e51bdead3ea13e \
+ --hash=sha256:17c5e0297678442511cf00a745c9709e928ea4ca263d764e90d233208889a19e \
+ --hash=sha256:1efbb3ff61487e2c16b3e033bc8595aea578222c08aaf3c4bf0f93fadbd662ee \
+ --hash=sha256:365e556a4772d7d0d151d7eb0e77ec4db03bcd95f26b67b15742b88cacff88e9 \
+ --hash=sha256:3d9755e77a2d680ce3d2c5394a444cf42be4a592caaf246dbfbdd100ffcf7ae5 \
+ --hash=sha256:3e59842d6c4569c65ceb3751075ff8d7e6a6ada209ceca6308c9bde932bcef11 \
+ --hash=sha256:472a3994999fe6c0756945ffa359e9e7e2d690fb55d251639d07208dbc37caea \
+ --hash=sha256:54a7e6d3014c408eb37b0b06021366ee985f1539e12fe49ca2ee0d392d9ceca5 \
+ --hash=sha256:5e565fc54b680292b418bb809f1386f17081d1346dca9a871bf69a8ac4071afe \
+ --hash=sha256:62d22dacdb0e296966d7d74a7141aaab4bec123fa43d1a35ddcb39bf9fd29d70 \
+ --hash=sha256:66eeae42f3137eb428ea3a86d4a55f28da9bd5a4a3d369ba95ecc3a92c1bba53 \
+ --hash=sha256:6953b335b804a41f16a192fa2e7851bdcfd92173cbb2f9f777bb934f49baab65 \
+ --hash=sha256:7c4d65d03bee875bcb211c76c1d8f10f600c305dbd734beaed4077e902606fee \
+ --hash=sha256:7e646e62d4602bb8956db88b1e72fe63172148c1e25c041e03b103a25f36673c \
+ --hash=sha256:7e8b079323a56f719977fde9d8115590cb5e7a1cba2fcee0986ef8817116e7c1 \
+ --hash=sha256:8138efff315cd09b8dcd14226a21afda4ca582284bf4215126d87342bba1cc66 \
+ --hash=sha256:8e99c0b1cc7bf86d83fb95d5ccdc4ad0586d4432d489d1f54e4055bcc795f693 \
+ --hash=sha256:957363d9a7a6612a37458d9a15e72d03a635047f946e5fceee74b50d52a9c8e2 \
+ --hash=sha256:957ecffff80d47cafa9b6545de9e016ae8c9547c98a538ee96ab5947115fb3dd \
+ --hash=sha256:ada7fb65102a4d2c9ab62e8908e9e9f12aed9d76ef44880367bc9308ebe49a0f \
+ --hash=sha256:b74a49753e21e33e7cf030883a92fa607bddc4ede1aa4145172debc637780040 \
+ --hash=sha256:c36856343cbaa448171cba62a721531e10e7ffb0abff838004701454149bc037 \
+ --hash=sha256:cc37a6c9987ad743d9c3a14fa1b1a14b7e4e6041f9dd0c8abf8895fe7a97b899 \
+ --hash=sha256:cfe1e6c6ad7178265f74981edf1154ffce97b69005212fbc90ca22ddfe3d017e \
+ --hash=sha256:e46b420dc1bea64e5bbedd678148be512442bc589b0111bd799367cde051e71a \
+ --hash=sha256:ff54ef77ad9f5c425398efb150239f6fe8e20c53ae2f68367eba7ece1e96226d
# via ipykernel
decorator==5.1.1 \
--hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \
@@ -367,9 +367,9 @@ executing==2.1.0 \
--hash=sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf \
--hash=sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab
# via stack-data
-fastjsonschema==2.20.0 \
- --hash=sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23 \
- --hash=sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a
+fastjsonschema==2.21.1 \
+ --hash=sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4 \
+ --hash=sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667
# via nbformat
gitdb==4.0.11 \
--hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \
@@ -487,9 +487,9 @@ ipykernel==6.29.5 \
--hash=sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5 \
--hash=sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215
# via myst-nb
-ipython==8.29.0 \
- --hash=sha256:0188a1bd83267192123ccea7f4a8ed0a78910535dbaa3f37671dca76ebd429c8 \
- --hash=sha256:40b60e15b22591450eef73e40a027cf77bd652e757523eebc5bd7c7c498290eb
+ipython==8.30.0 \
+ --hash=sha256:85ec56a7e20f6c38fce7727dcca699ae4ffc85985aa7b23635a8008f918ae321 \
+ --hash=sha256:cb0a405a306d2995a5cbb9901894d240784a9f341394c6ba3f4fe8c6eb89ff6e
# via
# ipykernel
# myst-nb
@@ -677,9 +677,9 @@ myst-parser==4.0.0 \
# via
# documenteer
# myst-nb
-nbclient==0.10.0 \
- --hash=sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09 \
- --hash=sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f
+nbclient==0.10.1 \
+ --hash=sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68 \
+ --hash=sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d
# via
# jupyter-cache
# myst-nb
@@ -766,104 +766,115 @@ pycparser==2.22 ; implementation_name == 'pypy' \
# via
# -c requirements/main.txt
# cffi
-pydantic==2.9.2 \
- --hash=sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f \
- --hash=sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12
+pydantic==2.10.2 \
+ --hash=sha256:2bc2d7f17232e0841cbba4641e65ba1eb6fafb3a08de3a091ff3ce14a197c4fa \
+ --hash=sha256:cfb96e45951117c3024e6b67b25cdc33a3cb7b2fa62e239f7af1378358a1d99e
# via
# -c requirements/main.txt
# autodoc-pydantic
# documenteer
# pydantic-settings
-pydantic-core==2.23.4 \
- --hash=sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36 \
- --hash=sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05 \
- --hash=sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071 \
- --hash=sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327 \
- --hash=sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c \
- --hash=sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36 \
- --hash=sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29 \
- --hash=sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744 \
- --hash=sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d \
- --hash=sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec \
- --hash=sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e \
- --hash=sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e \
- --hash=sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577 \
- --hash=sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232 \
- --hash=sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863 \
- --hash=sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6 \
- --hash=sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368 \
- --hash=sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480 \
- --hash=sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2 \
- --hash=sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2 \
- --hash=sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6 \
- --hash=sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769 \
- --hash=sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d \
- --hash=sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2 \
- --hash=sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84 \
- --hash=sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166 \
- --hash=sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271 \
- --hash=sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5 \
- --hash=sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb \
- --hash=sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13 \
- --hash=sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323 \
- --hash=sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556 \
- --hash=sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665 \
- --hash=sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef \
- --hash=sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb \
- --hash=sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119 \
- --hash=sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126 \
- --hash=sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510 \
- --hash=sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b \
- --hash=sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87 \
- --hash=sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f \
- --hash=sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc \
- --hash=sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8 \
- --hash=sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21 \
- --hash=sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f \
- --hash=sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6 \
- --hash=sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658 \
- --hash=sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b \
- --hash=sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3 \
- --hash=sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb \
- --hash=sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59 \
- --hash=sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24 \
- --hash=sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9 \
- --hash=sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3 \
- --hash=sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd \
- --hash=sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753 \
- --hash=sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55 \
- --hash=sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad \
- --hash=sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a \
- --hash=sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605 \
- --hash=sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e \
- --hash=sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b \
- --hash=sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433 \
- --hash=sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8 \
- --hash=sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07 \
- --hash=sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728 \
- --hash=sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0 \
- --hash=sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327 \
- --hash=sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555 \
- --hash=sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64 \
- --hash=sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6 \
- --hash=sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea \
- --hash=sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b \
- --hash=sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df \
- --hash=sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e \
- --hash=sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd \
- --hash=sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068 \
- --hash=sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3 \
- --hash=sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040 \
- --hash=sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12 \
- --hash=sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916 \
- --hash=sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f \
- --hash=sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f \
- --hash=sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801 \
- --hash=sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231 \
- --hash=sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5 \
- --hash=sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8 \
- --hash=sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee \
- --hash=sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607
+pydantic-core==2.27.1 \
+ --hash=sha256:00e6424f4b26fe82d44577b4c842d7df97c20be6439e8e685d0d715feceb9fb9 \
+ --hash=sha256:029d9757eb621cc6e1848fa0b0310310de7301057f623985698ed7ebb014391b \
+ --hash=sha256:02a3d637bd387c41d46b002f0e49c52642281edacd2740e5a42f7017feea3f2c \
+ --hash=sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529 \
+ --hash=sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc \
+ --hash=sha256:0b3dfe500de26c52abe0477dde16192ac39c98f05bf2d80e76102d394bd13854 \
+ --hash=sha256:0e4216e64d203e39c62df627aa882f02a2438d18a5f21d7f721621f7a5d3611d \
+ --hash=sha256:121ceb0e822f79163dd4699e4c54f5ad38b157084d97b34de8b232bcaad70278 \
+ --hash=sha256:159cac0a3d096f79ab6a44d77a961917219707e2a130739c64d4dd46281f5c2a \
+ --hash=sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c \
+ --hash=sha256:15cc53a3179ba0fcefe1e3ae50beb2784dede4003ad2dfd24f81bba4b23a454f \
+ --hash=sha256:161c27ccce13b6b0c8689418da3885d3220ed2eae2ea5e9b2f7f3d48f1d52c27 \
+ --hash=sha256:19910754e4cc9c63bc1c7f6d73aa1cfee82f42007e407c0f413695c2f7ed777f \
+ --hash=sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac \
+ --hash=sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2 \
+ --hash=sha256:1c39b07d90be6b48968ddc8c19e7585052088fd7ec8d568bb31ff64c70ae3c97 \
+ --hash=sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a \
+ --hash=sha256:258c57abf1188926c774a4c94dd29237e77eda19462e5bb901d88adcab6af919 \
+ --hash=sha256:2cdf7d86886bc6982354862204ae3b2f7f96f21a3eb0ba5ca0ac42c7b38598b9 \
+ --hash=sha256:2d4567c850905d5eaaed2f7a404e61012a51caf288292e016360aa2b96ff38d4 \
+ --hash=sha256:35c14ac45fcfdf7167ca76cc80b2001205a8d5d16d80524e13508371fb8cdd9c \
+ --hash=sha256:38de0a70160dd97540335b7ad3a74571b24f1dc3ed33f815f0880682e6880131 \
+ --hash=sha256:3af385b0cee8df3746c3f406f38bcbfdc9041b5c2d5ce3e5fc6637256e60bbc5 \
+ --hash=sha256:3b748c44bb9f53031c8cbc99a8a061bc181c1000c60a30f55393b6e9c45cc5bd \
+ --hash=sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089 \
+ --hash=sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107 \
+ --hash=sha256:3fa80ac2bd5856580e242dbc202db873c60a01b20309c8319b5c5986fbe53ce6 \
+ --hash=sha256:4228b5b646caa73f119b1ae756216b59cc6e2267201c27d3912b592c5e323b60 \
+ --hash=sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf \
+ --hash=sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5 \
+ --hash=sha256:45d9c5eb9273aa50999ad6adc6be5e0ecea7e09dbd0d31bd0c65a55a2592ca08 \
+ --hash=sha256:4603137322c18eaf2e06a4495f426aa8d8388940f3c457e7548145011bb68e05 \
+ --hash=sha256:46ccfe3032b3915586e469d4972973f893c0a2bb65669194a5bdea9bacc088c2 \
+ --hash=sha256:4fefee876e07a6e9aad7a8c8c9f85b0cdbe7df52b8a9552307b09050f7512c7e \
+ --hash=sha256:5556470f1a2157031e676f776c2bc20acd34c1990ca5f7e56f1ebf938b9ab57c \
+ --hash=sha256:57866a76e0b3823e0b56692d1a0bf722bffb324839bb5b7226a7dbd6c9a40b17 \
+ --hash=sha256:5897bec80a09b4084aee23f9b73a9477a46c3304ad1d2d07acca19723fb1de62 \
+ --hash=sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23 \
+ --hash=sha256:5ca038c7f6a0afd0b2448941b6ef9d5e1949e999f9e5517692eb6da58e9d44be \
+ --hash=sha256:5f6c8a66741c5f5447e047ab0ba7a1c61d1e95580d64bce852e3df1f895c4067 \
+ --hash=sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02 \
+ --hash=sha256:5fde892e6c697ce3e30c61b239330fc5d569a71fefd4eb6512fc6caec9dd9e2f \
+ --hash=sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235 \
+ --hash=sha256:62ba45e21cf6571d7f716d903b5b7b6d2617e2d5d67c0923dc47b9d41369f840 \
+ --hash=sha256:64c65f40b4cd8b0e049a8edde07e38b476da7e3aaebe63287c899d2cff253fa5 \
+ --hash=sha256:655d7dd86f26cb15ce8a431036f66ce0318648f8853d709b4167786ec2fa4807 \
+ --hash=sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16 \
+ --hash=sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c \
+ --hash=sha256:6b9af86e1d8e4cfc82c2022bfaa6f459381a50b94a29e95dcdda8442d6d83864 \
+ --hash=sha256:6e0bd57539da59a3e4671b90a502da9a28c72322a4f17866ba3ac63a82c4498e \
+ --hash=sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a \
+ --hash=sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35 \
+ --hash=sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737 \
+ --hash=sha256:7699b1df36a48169cdebda7ab5a2bac265204003f153b4bd17276153d997670a \
+ --hash=sha256:7ccebf51efc61634f6c2344da73e366c75e735960b5654b63d7e6f69a5885fa3 \
+ --hash=sha256:7f7059ca8d64fea7f238994c97d91f75965216bcbe5f695bb44f354893f11d52 \
+ --hash=sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05 \
+ --hash=sha256:816f5aa087094099fff7edabb5e01cc370eb21aa1a1d44fe2d2aefdfb5599b31 \
+ --hash=sha256:81f2ec23ddc1b476ff96563f2e8d723830b06dceae348ce02914a37cb4e74b89 \
+ --hash=sha256:84286494f6c5d05243456e04223d5a9417d7f443c3b76065e75001beb26f88de \
+ --hash=sha256:8bf7b66ce12a2ac52d16f776b31d16d91033150266eb796967a7e4621707e4f6 \
+ --hash=sha256:8f1edcea27918d748c7e5e4d917297b2a0ab80cad10f86631e488b7cddf76a36 \
+ --hash=sha256:981fb88516bd1ae8b0cbbd2034678a39dedc98752f264ac9bc5839d3923fa04c \
+ --hash=sha256:98476c98b02c8e9b2eec76ac4156fd006628b1b2d0ef27e548ffa978393fd154 \
+ --hash=sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb \
+ --hash=sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e \
+ --hash=sha256:9a42d6a8156ff78981f8aa56eb6394114e0dedb217cf8b729f438f643608cbcd \
+ --hash=sha256:9c10c309e18e443ddb108f0ef64e8729363adbfd92d6d57beec680f6261556f3 \
+ --hash=sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f \
+ --hash=sha256:9fdcf339322a3fae5cbd504edcefddd5a50d9ee00d968696846f089b4432cf78 \
+ --hash=sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960 \
+ --hash=sha256:a28af0695a45f7060e6f9b7092558a928a28553366519f64083c63a44f70e618 \
+ --hash=sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08 \
+ --hash=sha256:a33cd6ad9017bbeaa9ed78a2e0752c5e250eafb9534f308e7a5f7849b0b1bfb4 \
+ --hash=sha256:a3cb37038123447cf0f3ea4c74751f6a9d7afef0eb71aa07bf5f652b5e6a132c \
+ --hash=sha256:a57847b090d7892f123726202b7daa20df6694cbd583b67a592e856bff603d6c \
+ --hash=sha256:a5a8e19d7c707c4cadb8c18f5f60c843052ae83c20fa7d44f41594c644a1d330 \
+ --hash=sha256:ac3b20653bdbe160febbea8aa6c079d3df19310d50ac314911ed8cc4eb7f8cb8 \
+ --hash=sha256:ac6c2c45c847bbf8f91930d88716a0fb924b51e0c6dad329b793d670ec5db792 \
+ --hash=sha256:acc07b2cfc5b835444b44a9956846b578d27beeacd4b52e45489e93276241025 \
+ --hash=sha256:aee66be87825cdf72ac64cb03ad4c15ffef4143dbf5c113f64a5ff4f81477bf9 \
+ --hash=sha256:af52d26579b308921b73b956153066481f064875140ccd1dfd4e77db89dbb12f \
+ --hash=sha256:b94d4ba43739bbe8b0ce4262bcc3b7b9f31459ad120fb595627eaeb7f9b9ca01 \
+ --hash=sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337 \
+ --hash=sha256:bed0f8a0eeea9fb72937ba118f9db0cb7e90773462af7962d382445f3005e5a4 \
+ --hash=sha256:bf99c8404f008750c846cb4ac4667b798a9f7de673ff719d705d9b2d6de49c5f \
+ --hash=sha256:c3027001c28434e7ca5a6e1e527487051136aa81803ac812be51802150d880dd \
+ --hash=sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51 \
+ --hash=sha256:d0165ab2914379bd56908c02294ed8405c252250668ebcb438a55494c69f44ab \
+ --hash=sha256:d1b26e1dff225c31897696cab7d4f0a315d4c0d9e8666dbffdb28216f3b17fdc \
+ --hash=sha256:d950caa237bb1954f1b8c9227b5065ba6875ac9771bb8ec790d956a699b78676 \
+ --hash=sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381 \
+ --hash=sha256:e173486019cc283dc9778315fa29a363579372fe67045e971e89b6365cc035ed \
+ --hash=sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb \
+ --hash=sha256:e9386266798d64eeb19dd3677051f5705bf873e98e15897ddb7d76f477131967 \
+ --hash=sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073 \
+ --hash=sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae \
+ --hash=sha256:f5a823165e6d04ccea61a9f0576f345f8ce40ed533013580e087bd4d7442b52c \
+ --hash=sha256:f69ed81ab24d5a3bd93861c8c4436f54afdf8e8cc421562b0c7504cf3be58206 \
+ --hash=sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b
# via
# -c requirements/main.txt
# pydantic
@@ -886,9 +897,9 @@ pygments==2.18.0 \
pylatexenc==2.10 \
--hash=sha256:3dd8fd84eb46dc30bee1e23eaab8d8fb5a7f507347b23e5f38ad9675c84f40d3
# via documenteer
-pytest==8.3.3 \
- --hash=sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181 \
- --hash=sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2
+pytest==8.3.4 \
+ --hash=sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6 \
+ --hash=sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761
# via
# -r requirements/dev.in
# pytest-cov
@@ -1121,103 +1132,114 @@ requests==2.32.3 \
# documenteer
# sphinx
# sphinxcontrib-youtube
-rpds-py==0.21.0 \
- --hash=sha256:031819f906bb146561af051c7cef4ba2003d28cff07efacef59da973ff7969ba \
- --hash=sha256:0626238a43152918f9e72ede9a3b6ccc9e299adc8ade0d67c5e142d564c9a83d \
- --hash=sha256:085ed25baac88953d4283e5b5bd094b155075bb40d07c29c4f073e10623f9f2e \
- --hash=sha256:0a9e0759e7be10109645a9fddaaad0619d58c9bf30a3f248a2ea57a7c417173a \
- --hash=sha256:0c025820b78817db6a76413fff6866790786c38f95ea3f3d3c93dbb73b632202 \
- --hash=sha256:1ff2eba7f6c0cb523d7e9cff0903f2fe1feff8f0b2ceb6bd71c0e20a4dcee271 \
- --hash=sha256:20cc1ed0bcc86d8e1a7e968cce15be45178fd16e2ff656a243145e0b439bd250 \
- --hash=sha256:241e6c125568493f553c3d0fdbb38c74babf54b45cef86439d4cd97ff8feb34d \
- --hash=sha256:2c51d99c30091f72a3c5d126fad26236c3f75716b8b5e5cf8effb18889ced928 \
- --hash=sha256:2d6129137f43f7fa02d41542ffff4871d4aefa724a5fe38e2c31a4e0fd343fb0 \
- --hash=sha256:30b912c965b2aa76ba5168fd610087bad7fcde47f0a8367ee8f1876086ee6d1d \
- --hash=sha256:30bdc973f10d28e0337f71d202ff29345320f8bc49a31c90e6c257e1ccef4333 \
- --hash=sha256:320c808df533695326610a1b6a0a6e98f033e49de55d7dc36a13c8a30cfa756e \
- --hash=sha256:32eb88c30b6a4f0605508023b7141d043a79b14acb3b969aa0b4f99b25bc7d4a \
- --hash=sha256:3b766a9f57663396e4f34f5140b3595b233a7b146e94777b97a8413a1da1be18 \
- --hash=sha256:3b929c2bb6e29ab31f12a1117c39f7e6d6450419ab7464a4ea9b0b417174f044 \
- --hash=sha256:3e30a69a706e8ea20444b98a49f386c17b26f860aa9245329bab0851ed100677 \
- --hash=sha256:3e53861b29a13d5b70116ea4230b5f0f3547b2c222c5daa090eb7c9c82d7f664 \
- --hash=sha256:40c91c6e34cf016fa8e6b59d75e3dbe354830777fcfd74c58b279dceb7975b75 \
- --hash=sha256:4991ca61656e3160cdaca4851151fd3f4a92e9eba5c7a530ab030d6aee96ec89 \
- --hash=sha256:4ab2c2a26d2f69cdf833174f4d9d86118edc781ad9a8fa13970b527bf8236027 \
- --hash=sha256:4e8921a259f54bfbc755c5bbd60c82bb2339ae0324163f32868f63f0ebb873d9 \
- --hash=sha256:4eb2de8a147ffe0626bfdc275fc6563aa7bf4b6db59cf0d44f0ccd6ca625a24e \
- --hash=sha256:5145282a7cd2ac16ea0dc46b82167754d5e103a05614b724457cffe614f25bd8 \
- --hash=sha256:520ed8b99b0bf86a176271f6fe23024323862ac674b1ce5b02a72bfeff3fff44 \
- --hash=sha256:52c041802a6efa625ea18027a0723676a778869481d16803481ef6cc02ea8cb3 \
- --hash=sha256:5555db3e618a77034954b9dc547eae94166391a98eb867905ec8fcbce1308d95 \
- --hash=sha256:58a0e345be4b18e6b8501d3b0aa540dad90caeed814c515e5206bb2ec26736fd \
- --hash=sha256:590ef88db231c9c1eece44dcfefd7515d8bf0d986d64d0caf06a81998a9e8cab \
- --hash=sha256:5afb5efde74c54724e1a01118c6e5c15e54e642c42a1ba588ab1f03544ac8c7a \
- --hash=sha256:688c93b77e468d72579351a84b95f976bd7b3e84aa6686be6497045ba84be560 \
- --hash=sha256:6b4ef7725386dc0762857097f6b7266a6cdd62bfd209664da6712cb26acef035 \
- --hash=sha256:6bc0e697d4d79ab1aacbf20ee5f0df80359ecf55db33ff41481cf3e24f206919 \
- --hash=sha256:6dcc4949be728ede49e6244eabd04064336012b37f5c2200e8ec8eb2988b209c \
- --hash=sha256:6f54e7106f0001244a5f4cf810ba8d3f9c542e2730821b16e969d6887b664266 \
- --hash=sha256:808f1ac7cf3b44f81c9475475ceb221f982ef548e44e024ad5f9e7060649540e \
- --hash=sha256:8404b3717da03cbf773a1d275d01fec84ea007754ed380f63dfc24fb76ce4592 \
- --hash=sha256:878f6fea96621fda5303a2867887686d7a198d9e0f8a40be100a63f5d60c88c9 \
- --hash=sha256:8a7ff941004d74d55a47f916afc38494bd1cfd4b53c482b77c03147c91ac0ac3 \
- --hash=sha256:95a5bad1ac8a5c77b4e658671642e4af3707f095d2b78a1fdd08af0dfb647624 \
- --hash=sha256:97ef67d9bbc3e15584c2f3c74bcf064af36336c10d2e21a2131e123ce0f924c9 \
- --hash=sha256:98486337f7b4f3c324ab402e83453e25bb844f44418c066623db88e4c56b7c7b \
- --hash=sha256:98e4fe5db40db87ce1c65031463a760ec7906ab230ad2249b4572c2fc3ef1f9f \
- --hash=sha256:998a8080c4495e4f72132f3d66ff91f5997d799e86cec6ee05342f8f3cda7dca \
- --hash=sha256:9afe42102b40007f588666bc7de82451e10c6788f6f70984629db193849dced1 \
- --hash=sha256:9e20da3957bdf7824afdd4b6eeb29510e83e026473e04952dca565170cd1ecc8 \
- --hash=sha256:a017f813f24b9df929674d0332a374d40d7f0162b326562daae8066b502d0590 \
- --hash=sha256:a429b99337062877d7875e4ff1a51fe788424d522bd64a8c0a20ef3021fdb6ed \
- --hash=sha256:a58ce66847711c4aa2ecfcfaff04cb0327f907fead8945ffc47d9407f41ff952 \
- --hash=sha256:a78d8b634c9df7f8d175451cfeac3810a702ccb85f98ec95797fa98b942cea11 \
- --hash=sha256:a89a8ce9e4e75aeb7fa5d8ad0f3fecdee813802592f4f46a15754dcb2fd6b061 \
- --hash=sha256:a8eeec67590e94189f434c6d11c426892e396ae59e4801d17a93ac96b8c02a6c \
- --hash=sha256:aaeb25ccfb9b9014a10eaf70904ebf3f79faaa8e60e99e19eef9f478651b9b74 \
- --hash=sha256:ad116dda078d0bc4886cb7840e19811562acdc7a8e296ea6ec37e70326c1b41c \
- --hash=sha256:af04ac89c738e0f0f1b913918024c3eab6e3ace989518ea838807177d38a2e94 \
- --hash=sha256:af4a644bf890f56e41e74be7d34e9511e4954894d544ec6b8efe1e21a1a8da6c \
- --hash=sha256:b21747f79f360e790525e6f6438c7569ddbfb1b3197b9e65043f25c3c9b489d8 \
- --hash=sha256:b229ce052ddf1a01c67d68166c19cb004fb3612424921b81c46e7ea7ccf7c3bf \
- --hash=sha256:b4de1da871b5c0fd5537b26a6fc6814c3cc05cabe0c941db6e9044ffbb12f04a \
- --hash=sha256:b80b4690bbff51a034bfde9c9f6bf9357f0a8c61f548942b80f7b66356508bf5 \
- --hash=sha256:b876f2bc27ab5954e2fd88890c071bd0ed18b9c50f6ec3de3c50a5ece612f7a6 \
- --hash=sha256:b8f107395f2f1d151181880b69a2869c69e87ec079c49c0016ab96860b6acbe5 \
- --hash=sha256:b9b76e2afd585803c53c5b29e992ecd183f68285b62fe2668383a18e74abe7a3 \
- --hash=sha256:c2b2f71c6ad6c2e4fc9ed9401080badd1469fa9889657ec3abea42a3d6b2e1ed \
- --hash=sha256:c3761f62fcfccf0864cc4665b6e7c3f0c626f0380b41b8bd1ce322103fa3ef87 \
- --hash=sha256:c38dbf31c57032667dd5a2f0568ccde66e868e8f78d5a0d27dcc56d70f3fcd3b \
- --hash=sha256:ca9989d5d9b1b300bc18e1801c67b9f6d2c66b8fd9621b36072ed1df2c977f72 \
- --hash=sha256:cbd7504a10b0955ea287114f003b7ad62330c9e65ba012c6223dba646f6ffd05 \
- --hash=sha256:d167e4dbbdac48bd58893c7e446684ad5d425b407f9336e04ab52e8b9194e2ed \
- --hash=sha256:d2132377f9deef0c4db89e65e8bb28644ff75a18df5293e132a8d67748397b9f \
- --hash=sha256:da52d62a96e61c1c444f3998c434e8b263c384f6d68aca8274d2e08d1906325c \
- --hash=sha256:daa8efac2a1273eed2354397a51216ae1e198ecbce9036fba4e7610b308b6153 \
- --hash=sha256:dc5695c321e518d9f03b7ea6abb5ea3af4567766f9852ad1560f501b17588c7b \
- --hash=sha256:de552f4a1916e520f2703ec474d2b4d3f86d41f353e7680b597512ffe7eac5d0 \
- --hash=sha256:de609a6f1b682f70bb7163da745ee815d8f230d97276db049ab447767466a09d \
- --hash=sha256:e12bb09678f38b7597b8346983d2323a6482dcd59e423d9448108c1be37cac9d \
- --hash=sha256:e168afe6bf6ab7ab46c8c375606298784ecbe3ba31c0980b7dcbb9631dcba97e \
- --hash=sha256:e78868e98f34f34a88e23ee9ccaeeec460e4eaf6db16d51d7a9b883e5e785a5e \
- --hash=sha256:e860f065cc4ea6f256d6f411aba4b1251255366e48e972f8a347cf88077b24fd \
- --hash=sha256:ea3a6ac4d74820c98fcc9da4a57847ad2cc36475a8bd9683f32ab6d47a2bd682 \
- --hash=sha256:ebf64e281a06c904a7636781d2e973d1f0926a5b8b480ac658dc0f556e7779f4 \
- --hash=sha256:ed6378c9d66d0de903763e7706383d60c33829581f0adff47b6535f1802fa6db \
- --hash=sha256:ee1e4fc267b437bb89990b2f2abf6c25765b89b72dd4a11e21934df449e0c976 \
- --hash=sha256:ee4eafd77cc98d355a0d02f263efc0d3ae3ce4a7c24740010a8b4012bbb24937 \
- --hash=sha256:efec946f331349dfc4ae9d0e034c263ddde19414fe5128580f512619abed05f1 \
- --hash=sha256:f414da5c51bf350e4b7960644617c130140423882305f7574b6cf65a3081cecb \
- --hash=sha256:f71009b0d5e94c0e86533c0b27ed7cacc1239cb51c178fd239c3cfefefb0400a \
- --hash=sha256:f983e4c2f603c95dde63df633eec42955508eefd8d0f0e6d236d31a044c882d7 \
- --hash=sha256:faa5e8496c530f9c71f2b4e1c49758b06e5f4055e17144906245c99fa6d45356 \
- --hash=sha256:fed5dfefdf384d6fe975cc026886aece4f292feaf69d0eeb716cfd3c5a4dd8be
+rpds-py==0.22.0 \
+ --hash=sha256:034964ea0ea09645bdde13038b38abb14be0aa747f20fcfab6181207dd9e0483 \
+ --hash=sha256:0686f2c16eafdc2c6b4ce6e86e5b3092e87db09ae64be2787616444eb35b9756 \
+ --hash=sha256:0903ffdb5b9007e503203b6285e4ff0faf96d875c19f1d103b475acf7d9f7311 \
+ --hash=sha256:1212cb231f2002934cd8d71a0d718fdd9d9a2dd671e0feef8501038df3508026 \
+ --hash=sha256:1357c3092702078b7782b6ebd5ba9b22c1a291c34fbf9d8f1a48237466ac7758 \
+ --hash=sha256:1a6cc4eb1e86364331928acafb2bb41d8ab735ca3caf2d6019b9f6dac3f4f65d \
+ --hash=sha256:208ce1d8e3af138d1d9b21d7206356b7f29b96675e0113aea652cf024e4ddfdc \
+ --hash=sha256:2498ff422823be087b48bc82710deb87ac34f6b7c8034ee39920647647de1e60 \
+ --hash=sha256:24c28df05bd284879d0fac850ba697077d2a33b7ebcaea6318d6b6cdfdc86ddc \
+ --hash=sha256:2a57300cc8b034c5707085249efd09f19116bb80278d0ec925d7f3710165c510 \
+ --hash=sha256:2d2fc3ab021be3e0b5aec6d4164f2689d231b8bfc5185cc454314746aa4aee72 \
+ --hash=sha256:2f513758e7cda8bc262e80299a8e3395d7ef7f4ae705be62632f229bc6c33208 \
+ --hash=sha256:306da3dfa174b489a3fc63b0872e2226a5ddf94c59875a770d72aff945d5ed96 \
+ --hash=sha256:326e42f2b49462e05f8527a1311ce98f9f97c484b3e443ec0ea4638bed3aebcf \
+ --hash=sha256:32a0e24cab2daae0503b06666d516e90a080c1a95aff0406b9f03c6489177c4b \
+ --hash=sha256:32de71c393f126d8203e9815557c7ff4d72ed1ad3aa3f52f6c7938413176750a \
+ --hash=sha256:341a07a4b55126bfae68c9bf24220a73d456111e5eb3dcbdab9fd16de2341224 \
+ --hash=sha256:38cacf1f378571450576f2c8ce87da6f3fddc59d744de5c12b37acc23285b1e1 \
+ --hash=sha256:3b94b074dcce39976db22ea75c7aea8b22d95e6d3b62f76e20e1179a278521d8 \
+ --hash=sha256:3dc7c64b56b82428894f056e9ff6e8ee917ff74fc26b65211a33602c2372e928 \
+ --hash=sha256:3f7a048ec1ebc991331d709be4884dc318c9eaafa66dcde8be0933ac0e702149 \
+ --hash=sha256:41f65a97bf2c4b161c9f8f89bc37058346bec9b36e373c8ad00a16c957bff625 \
+ --hash=sha256:48c95997af9314f4034fe5ba2d837399e786586e220835a578d28fe8161e6ae5 \
+ --hash=sha256:49e084d47a66027ac72844f9f52f13d347a9a1f05d4f84381b420e47f836a7fd \
+ --hash=sha256:4b5d17d8f5b885ce50e0cda85f99c0719e365e98b587338535fa566a48375afb \
+ --hash=sha256:4c0321bc03a1c513eca1837e3bba948b975bcf3a172aebc197ab3573207f137a \
+ --hash=sha256:4e7c9aa2353eb0b0d845323857197daa036c2ff8624df990b0d886d22a8f665e \
+ --hash=sha256:4fc4824e38c1e91a73bc820e7caacaf19d0acd557465aceef0420ca59489b390 \
+ --hash=sha256:54d8f94dec5765a9edc19610fecf0fdf9cab36cbb9def1213188215f735a6f98 \
+ --hash=sha256:574c5c94213bc9990805bfd7e4ba3826d3c098516cbc19f0d0ef0433ad93fa06 \
+ --hash=sha256:59e63da174ff287db05ef7c21d75974a5bac727ed60452aeb3a14278477842a8 \
+ --hash=sha256:5ae7927cd2b869ca4dc645169d8af5494a29c99afd0ea0f24dd00c811ab1d8b8 \
+ --hash=sha256:5f21e1278c9456cd601832375c778ca44614d3433996488221a56572c223f04a \
+ --hash=sha256:5fdf91a7c07f40e47b193f2acae0ed9da35d09325d7c3c3279f722b7cbf3d264 \
+ --hash=sha256:62ab12fe03ffc49978d29de9c31bbb216610157f7e5ca8e172fed6642aead3be \
+ --hash=sha256:632d2fdddd9fbe3ac8896a119fd18a71fc95ca9c4cbe5223096c142d8c4a2b1d \
+ --hash=sha256:64a0c965a1e299c9b280006bdb15c276c427c45360aed676305dc36bcaa4d13c \
+ --hash=sha256:67e013a17a3db4d98cc228fd5aeb36a51b0f5cf7330b9102a552060f1fe4e560 \
+ --hash=sha256:6b639a19e1791b646d27f15d17530a51722cc728d43b2dff3aeb904f92d91bac \
+ --hash=sha256:6b6e4bcfc32f831bfe3d6d8a5acedfbfd5e252a03c83fa24813b277a3a8a13ca \
+ --hash=sha256:7539dbb8f705e13629ba6f23388976aad809e387f32a6e5c0712e4e8d9bfcce7 \
+ --hash=sha256:758098b38c344d9a7f279baf0689261777e601f620078ef5afdc9bd3339965c3 \
+ --hash=sha256:762206ba3bf1d6c8c9e0055871d3c0d5b074b7c3120193e6c067e7866f106ab1 \
+ --hash=sha256:771c9a3851beaa617d8c8115d65f834a2b52490f42ee2b88b13f1fc5529e9e0c \
+ --hash=sha256:81e7a27365b02fe70a77f1365376879917235b3fec551d19b4c91b51d0bc1d07 \
+ --hash=sha256:8338db3c76833d02dc21c3e2c42534091341d26e4f7ba32c6032bb558a02e07b \
+ --hash=sha256:8426f97117b914b9bfb2a7bd46edc148e8defda728a55a5df3a564abe70cd7a4 \
+ --hash=sha256:842855bbb113a19c393c6de5aa6ed9a26c6b13c2fead5e49114d39f0d08b94d8 \
+ --hash=sha256:87453d491369cd8018016d2714a13e8461975161703c18ee31eecf087a8ae5d4 \
+ --hash=sha256:875fe8dffb43c20f68379ee098b035a7038d7903c795d46715f66575a7050b19 \
+ --hash=sha256:8ad4dfda52e64af3202ceb2143a62deba97894b71c64a4405ee80f6b3ea77285 \
+ --hash=sha256:8c48fc7458fe3a74dcdf56ba3534ff41bd421f69436df09ff3497fdaac18b431 \
+ --hash=sha256:8cbb040fec8eddd5a6a75e737fd73c9ce37e51f94bacdd0b178d0174a4758395 \
+ --hash=sha256:92d28a608127b357da47c99e0d0e0655ca2060286540fe9f2a25a2e8ac666e05 \
+ --hash=sha256:931bf3d0705b2834fed29354f35170fa022fe22a95542b61b7c66aca5f8a224f \
+ --hash=sha256:93bbd66f46dddc41e8c656130c97c0fb515e0fa44e1eebb2592769dbbd41b2f5 \
+ --hash=sha256:9ad4640a409bc2b7d22b7921e7660f0db96c5c8c69fbb2e8f3261d4f71d33983 \
+ --hash=sha256:a4366f264fa60d3c109f0b27af0cd9eb8d46746bd70bd3d9d425f035b6c7e286 \
+ --hash=sha256:a73ed43d64209e853bba567a543170267a5cd64f359540b0ca2d597e329ba172 \
+ --hash=sha256:a810a57ce5e8ecf8eac6ec4dab534ff80c34e5a2c31db60e992009cd20f58e0f \
+ --hash=sha256:b4660943030406aaa40ec9f51960dd88049903d9536bc3c8ebb5cc4e1f119bbe \
+ --hash=sha256:b8906f537978da3f7f0bd1ba37b69f6a877bb43312023b086582707d2835bf2f \
+ --hash=sha256:b91bfef5daa2a5a4fe62f8d317fc91a626073639f951f851bd2cb252d01bc6c5 \
+ --hash=sha256:ba1fc34d0b2f6fd53377a4c954116251eba6d076bf64f903311f4a7d27d10acd \
+ --hash=sha256:ba235e00e0878ba1080b0f2a761f143b2a2d1c354f3d8e507fbf2f3de401bf18 \
+ --hash=sha256:bb11809b0de643a292a82f728c494a2bbef0e30a7c42d37464abbd6bef7ca7b1 \
+ --hash=sha256:c17b43fe9c6da16885e3fe28922bcd1a029e61631fb771c7d501019b40bcc904 \
+ --hash=sha256:c1c21030ed494deb10226f90e2dbd84a012d59810c409832714a3dd576527be2 \
+ --hash=sha256:c398a5a8e258dfdc5ea2aa4e5aa2ca3207f654a8eb268693dd1a76939074a588 \
+ --hash=sha256:c637188b930175c256f13adbfc427b83ec7e64476d1ec9d6608f312bb84e06c3 \
+ --hash=sha256:c7b4450093c0c909299770226fb0285be47b0a57545bae25b5c4e51566b0e587 \
+ --hash=sha256:c8fd7a16f7a047e06c747cfcf2acef3ac316132df1c6077445b29ee6f3f3a70b \
+ --hash=sha256:ca505fd3767a09a139737f3278bc8a485cb64043062da89bcba27e2f2ea78d33 \
+ --hash=sha256:d1522025cda9e57329aade769f56e5793b2a5da7759a21914ee10e67e17e601e \
+ --hash=sha256:d276280649305c1da6cdd84585d48ae1f0efa67434d8b10d2df95228e59a05bb \
+ --hash=sha256:d33622dc63c295788eed09dbb1d11bed178909d3267b02d873116ee6be368244 \
+ --hash=sha256:d4f2af3107fe4dc40c0d1a2409863f5249c6796398a1d83c1d99a0b3fa6cfb8d \
+ --hash=sha256:d5469b347445d1c31105f33e7bfc9a8ba213d48e42641a610dda65bf9e3c83f5 \
+ --hash=sha256:d80fd710b3307a3c63809048b72c536689b9b0b31a2518339c3f1a4d29c73d7a \
+ --hash=sha256:d9bb9242b38a664f307b3b897f093896f7ed51ef4fe25a0502e5a368de9151ea \
+ --hash=sha256:d9ceca96df54cb1675a0b7f52f1c6d5d1df62c5b40741ba211780f1b05a282a2 \
+ --hash=sha256:dc2c00acdf68f1f69a476b770af311a7dc3955b7de228b04a40bcc51ac4d743b \
+ --hash=sha256:dfdabdf8519c93908b2bf0f87c3f86f9e88bab279fb4acfd0907519ca5a1739f \
+ --hash=sha256:e04919ffa9a728c446b27b6b625fa1d00ece221bdb9d633e978a7e0353a12c0e \
+ --hash=sha256:e0abcce5e874474d3eab5ad53be03dae2abe651d248bdeaabe83708e82969e78 \
+ --hash=sha256:e1c04fb380bc8efaae2fdf17ed6cd5d223da78a8b0b18a610f53d4c5d6e31dfd \
+ --hash=sha256:e23dcdd4b2ff9c6b3317ea7921b210d39592f8ca1cdea58ada25b202c65c0a69 \
+ --hash=sha256:e34a3e665d38d0749072e6565400c8ce9abae976e338919a0dfbfb0e1ba43068 \
+ --hash=sha256:e6da2e0500742e0f157f005924a0589f2e2dcbfdd6cd0cc0abce367433e989be \
+ --hash=sha256:e9aa4af6b879bb75a3c7766fbf49d77f4097dd12b548ecbbd8b3f85caa833281 \
+ --hash=sha256:e9bbdba9e75b1a9ee1dd1335034dad998ef1acc08492226c6fd50aa773bdfa7d \
+ --hash=sha256:e9d4293b21c69ee4f9e1a99ac4f772951d345611c614a0cfae2ec6b565279bc9 \
+ --hash=sha256:eadd2417e83a77ce3ae4a0efd08cb0ebdfd317b6406d11020354a53ad458ec84 \
+ --hash=sha256:ed0102146574e5e9f079b2e1a06e6b5b12a691f9c74a65b93b7f3d4feda566c6 \
+ --hash=sha256:f0fb8efc9e579acf1e556fd86277fecec320c21ca9b5d39db96433ad8c45bc4a \
+ --hash=sha256:f4e9946c8c7def17e4fcb5eddb14c4eb6ebc7f6f309075e6c8d23b133c104607 \
+ --hash=sha256:f7649c8b8e4bd1ccc5fcbd51a855d57a617deeba19c66e3d04b1abecc61036b2 \
+ --hash=sha256:f980a0640599a74f27fd9d50c84c293f1cb7afc2046c5c6d3efaf8ec7cdbc326 \
+ --hash=sha256:f9dc2113e0cf0dd637751ca736186fca63664939ceb9f9f67e93ade88c69c0c9 \
+ --hash=sha256:fde778947304e55fc732bc8ea5c6063e74244ac1808471cb498983a210aaf62c \
+ --hash=sha256:fe23687924b25a2dee52fab15976fd6577ed8518072bcda9ff2e2b88ab1f168b
# via
# jsonschema
# referencing
-setuptools==75.5.0 \
- --hash=sha256:5c4ccb41111392671f02bb5f8436dfc5a9a7185e80500531b133f5775c4163ef \
- --hash=sha256:87cb777c3b96d638ca02031192d40390e0ad97737e27b6b4fa831bea86f2f829
+setuptools==75.6.0 \
+ --hash=sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6 \
+ --hash=sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d
# via
# documenteer
# sphinxcontrib-bibtex
@@ -1226,7 +1248,6 @@ six==1.16.0 \
--hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
# via
# -c requirements/main.txt
- # asttokens
# pybtex
# python-dateutil
# sphinxcontrib-redoc
@@ -1427,18 +1448,18 @@ tomlkit==0.13.2 \
--hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde \
--hash=sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79
# via documenteer
-tornado==6.4.1 \
- --hash=sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8 \
- --hash=sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f \
- --hash=sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4 \
- --hash=sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3 \
- --hash=sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14 \
- --hash=sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842 \
- --hash=sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9 \
- --hash=sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698 \
- --hash=sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7 \
- --hash=sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d \
- --hash=sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4
+tornado==6.4.2 \
+ --hash=sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803 \
+ --hash=sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec \
+ --hash=sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482 \
+ --hash=sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634 \
+ --hash=sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38 \
+ --hash=sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b \
+ --hash=sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c \
+ --hash=sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf \
+ --hash=sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946 \
+ --hash=sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73 \
+ --hash=sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1
# via
# ipykernel
# jupyter-client
diff --git a/requirements/main.txt b/requirements/main.txt
index 489a168c0c..714a655a93 100644
--- a/requirements/main.txt
+++ b/requirements/main.txt
@@ -10,34 +10,32 @@ anyio==4.6.2.post1 \
# via
# httpcore
# starlette
-bcrypt==4.2.0 \
- --hash=sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb \
- --hash=sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399 \
- --hash=sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291 \
- --hash=sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d \
- --hash=sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7 \
- --hash=sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170 \
- --hash=sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d \
- --hash=sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe \
- --hash=sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060 \
- --hash=sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184 \
- --hash=sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a \
- --hash=sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68 \
- --hash=sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c \
- --hash=sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458 \
- --hash=sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9 \
- --hash=sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328 \
- --hash=sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7 \
- --hash=sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34 \
- --hash=sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e \
- --hash=sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2 \
- --hash=sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5 \
- --hash=sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae \
- --hash=sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00 \
- --hash=sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841 \
- --hash=sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8 \
- --hash=sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221 \
- --hash=sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db
+bcrypt==4.2.1 \
+ --hash=sha256:041fa0155c9004eb98a232d54da05c0b41d4b8e66b6fc3cb71b4b3f6144ba837 \
+ --hash=sha256:04e56e3fe8308a88b77e0afd20bec516f74aecf391cdd6e374f15cbed32783d6 \
+ --hash=sha256:1340411a0894b7d3ef562fb233e4b6ed58add185228650942bdc885362f32c17 \
+ --hash=sha256:533e7f3bcf2f07caee7ad98124fab7499cb3333ba2274f7a36cf1daee7409d99 \
+ --hash=sha256:6765386e3ab87f569b276988742039baab087b2cdb01e809d74e74503c2faafe \
+ --hash=sha256:687cf30e6681eeda39548a93ce9bfbb300e48b4d445a43db4298d2474d2a1e54 \
+ --hash=sha256:76132c176a6d9953cdc83c296aeaed65e1a708485fd55abf163e0d9f8f16ce0e \
+ --hash=sha256:76d3e352b32f4eeb34703370e370997065d28a561e4a18afe4fef07249cb4396 \
+ --hash=sha256:807261df60a8b1ccd13e6599c779014a362ae4e795f5c59747f60208daddd96d \
+ --hash=sha256:89df2aea2c43be1e1fa066df5f86c8ce822ab70a30e4c210968669565c0f4685 \
+ --hash=sha256:8ad2f4528cbf0febe80e5a3a57d7a74e6635e41af1ea5675282a33d769fba413 \
+ --hash=sha256:8c458cd103e6c5d1d85cf600e546a639f234964d0228909d8f8dbeebff82d526 \
+ --hash=sha256:8dbd0747208912b1e4ce730c6725cb56c07ac734b3629b60d4398f082ea718ad \
+ --hash=sha256:909faa1027900f2252a9ca5dfebd25fc0ef1417943824783d1c8418dd7d6df4a \
+ --hash=sha256:aaa2e285be097050dba798d537b6efd9b698aa88eef52ec98d23dcd6d7cf6fea \
+ --hash=sha256:adadd36274510a01f33e6dc08f5824b97c9580583bd4487c564fc4617b328005 \
+ --hash=sha256:b1ee315739bc8387aa36ff127afc99120ee452924e0df517a8f3e4c0187a0f5f \
+ --hash=sha256:b588af02b89d9fad33e5f98f7838bf590d6d692df7153647724a7f20c186f6bf \
+ --hash=sha256:b7703ede632dc945ed1172d6f24e9f30f27b1b1a067f32f68bf169c5f08d0425 \
+ --hash=sha256:c6f5fa3775966cca251848d4d5393ab016b3afed251163c1436fefdec3b02c84 \
+ --hash=sha256:cde78d385d5e93ece5479a0a87f73cd6fa26b171c786a884f955e165032b262c \
+ --hash=sha256:cfdf3d7530c790432046c40cda41dfee8c83e29482e6a604f8930b9930e94139 \
+ --hash=sha256:e158009a54c4c8bc91d5e0da80920d048f918c61a581f0a63e4e93bb556d362f \
+ --hash=sha256:e84e0e6f8e40a242b11bce56c313edc2be121cec3e0ec2d76fce01f6af33c07c \
+ --hash=sha256:f85b1ffa09240c89aa2e1ae9f3b1c687104f7b2b9d2098da4e923f1b7082d331
# via phalanx (pyproject.toml)
certifi==2024.8.30 \
--hash=sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 \
@@ -380,109 +378,120 @@ pycparser==2.22 ; platform_python_implementation != 'PyPy' \
--hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \
--hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
# via cffi
-pydantic==2.9.2 \
- --hash=sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f \
- --hash=sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12
+pydantic==2.10.2 \
+ --hash=sha256:2bc2d7f17232e0841cbba4641e65ba1eb6fafb3a08de3a091ff3ce14a197c4fa \
+ --hash=sha256:cfb96e45951117c3024e6b67b25cdc33a3cb7b2fa62e239f7af1378358a1d99e
# via
# phalanx (pyproject.toml)
# fastapi
# safir
-pydantic-core==2.23.4 \
- --hash=sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36 \
- --hash=sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05 \
- --hash=sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071 \
- --hash=sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327 \
- --hash=sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c \
- --hash=sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36 \
- --hash=sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29 \
- --hash=sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744 \
- --hash=sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d \
- --hash=sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec \
- --hash=sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e \
- --hash=sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e \
- --hash=sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577 \
- --hash=sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232 \
- --hash=sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863 \
- --hash=sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6 \
- --hash=sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368 \
- --hash=sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480 \
- --hash=sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2 \
- --hash=sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2 \
- --hash=sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6 \
- --hash=sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769 \
- --hash=sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d \
- --hash=sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2 \
- --hash=sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84 \
- --hash=sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166 \
- --hash=sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271 \
- --hash=sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5 \
- --hash=sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb \
- --hash=sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13 \
- --hash=sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323 \
- --hash=sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556 \
- --hash=sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665 \
- --hash=sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef \
- --hash=sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb \
- --hash=sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119 \
- --hash=sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126 \
- --hash=sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510 \
- --hash=sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b \
- --hash=sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87 \
- --hash=sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f \
- --hash=sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc \
- --hash=sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8 \
- --hash=sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21 \
- --hash=sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f \
- --hash=sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6 \
- --hash=sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658 \
- --hash=sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b \
- --hash=sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3 \
- --hash=sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb \
- --hash=sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59 \
- --hash=sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24 \
- --hash=sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9 \
- --hash=sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3 \
- --hash=sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd \
- --hash=sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753 \
- --hash=sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55 \
- --hash=sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad \
- --hash=sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a \
- --hash=sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605 \
- --hash=sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e \
- --hash=sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b \
- --hash=sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433 \
- --hash=sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8 \
- --hash=sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07 \
- --hash=sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728 \
- --hash=sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0 \
- --hash=sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327 \
- --hash=sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555 \
- --hash=sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64 \
- --hash=sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6 \
- --hash=sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea \
- --hash=sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b \
- --hash=sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df \
- --hash=sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e \
- --hash=sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd \
- --hash=sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068 \
- --hash=sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3 \
- --hash=sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040 \
- --hash=sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12 \
- --hash=sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916 \
- --hash=sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f \
- --hash=sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f \
- --hash=sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801 \
- --hash=sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231 \
- --hash=sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5 \
- --hash=sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8 \
- --hash=sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee \
- --hash=sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607
+pydantic-core==2.27.1 \
+ --hash=sha256:00e6424f4b26fe82d44577b4c842d7df97c20be6439e8e685d0d715feceb9fb9 \
+ --hash=sha256:029d9757eb621cc6e1848fa0b0310310de7301057f623985698ed7ebb014391b \
+ --hash=sha256:02a3d637bd387c41d46b002f0e49c52642281edacd2740e5a42f7017feea3f2c \
+ --hash=sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529 \
+ --hash=sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc \
+ --hash=sha256:0b3dfe500de26c52abe0477dde16192ac39c98f05bf2d80e76102d394bd13854 \
+ --hash=sha256:0e4216e64d203e39c62df627aa882f02a2438d18a5f21d7f721621f7a5d3611d \
+ --hash=sha256:121ceb0e822f79163dd4699e4c54f5ad38b157084d97b34de8b232bcaad70278 \
+ --hash=sha256:159cac0a3d096f79ab6a44d77a961917219707e2a130739c64d4dd46281f5c2a \
+ --hash=sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c \
+ --hash=sha256:15cc53a3179ba0fcefe1e3ae50beb2784dede4003ad2dfd24f81bba4b23a454f \
+ --hash=sha256:161c27ccce13b6b0c8689418da3885d3220ed2eae2ea5e9b2f7f3d48f1d52c27 \
+ --hash=sha256:19910754e4cc9c63bc1c7f6d73aa1cfee82f42007e407c0f413695c2f7ed777f \
+ --hash=sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac \
+ --hash=sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2 \
+ --hash=sha256:1c39b07d90be6b48968ddc8c19e7585052088fd7ec8d568bb31ff64c70ae3c97 \
+ --hash=sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a \
+ --hash=sha256:258c57abf1188926c774a4c94dd29237e77eda19462e5bb901d88adcab6af919 \
+ --hash=sha256:2cdf7d86886bc6982354862204ae3b2f7f96f21a3eb0ba5ca0ac42c7b38598b9 \
+ --hash=sha256:2d4567c850905d5eaaed2f7a404e61012a51caf288292e016360aa2b96ff38d4 \
+ --hash=sha256:35c14ac45fcfdf7167ca76cc80b2001205a8d5d16d80524e13508371fb8cdd9c \
+ --hash=sha256:38de0a70160dd97540335b7ad3a74571b24f1dc3ed33f815f0880682e6880131 \
+ --hash=sha256:3af385b0cee8df3746c3f406f38bcbfdc9041b5c2d5ce3e5fc6637256e60bbc5 \
+ --hash=sha256:3b748c44bb9f53031c8cbc99a8a061bc181c1000c60a30f55393b6e9c45cc5bd \
+ --hash=sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089 \
+ --hash=sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107 \
+ --hash=sha256:3fa80ac2bd5856580e242dbc202db873c60a01b20309c8319b5c5986fbe53ce6 \
+ --hash=sha256:4228b5b646caa73f119b1ae756216b59cc6e2267201c27d3912b592c5e323b60 \
+ --hash=sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf \
+ --hash=sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5 \
+ --hash=sha256:45d9c5eb9273aa50999ad6adc6be5e0ecea7e09dbd0d31bd0c65a55a2592ca08 \
+ --hash=sha256:4603137322c18eaf2e06a4495f426aa8d8388940f3c457e7548145011bb68e05 \
+ --hash=sha256:46ccfe3032b3915586e469d4972973f893c0a2bb65669194a5bdea9bacc088c2 \
+ --hash=sha256:4fefee876e07a6e9aad7a8c8c9f85b0cdbe7df52b8a9552307b09050f7512c7e \
+ --hash=sha256:5556470f1a2157031e676f776c2bc20acd34c1990ca5f7e56f1ebf938b9ab57c \
+ --hash=sha256:57866a76e0b3823e0b56692d1a0bf722bffb324839bb5b7226a7dbd6c9a40b17 \
+ --hash=sha256:5897bec80a09b4084aee23f9b73a9477a46c3304ad1d2d07acca19723fb1de62 \
+ --hash=sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23 \
+ --hash=sha256:5ca038c7f6a0afd0b2448941b6ef9d5e1949e999f9e5517692eb6da58e9d44be \
+ --hash=sha256:5f6c8a66741c5f5447e047ab0ba7a1c61d1e95580d64bce852e3df1f895c4067 \
+ --hash=sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02 \
+ --hash=sha256:5fde892e6c697ce3e30c61b239330fc5d569a71fefd4eb6512fc6caec9dd9e2f \
+ --hash=sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235 \
+ --hash=sha256:62ba45e21cf6571d7f716d903b5b7b6d2617e2d5d67c0923dc47b9d41369f840 \
+ --hash=sha256:64c65f40b4cd8b0e049a8edde07e38b476da7e3aaebe63287c899d2cff253fa5 \
+ --hash=sha256:655d7dd86f26cb15ce8a431036f66ce0318648f8853d709b4167786ec2fa4807 \
+ --hash=sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16 \
+ --hash=sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c \
+ --hash=sha256:6b9af86e1d8e4cfc82c2022bfaa6f459381a50b94a29e95dcdda8442d6d83864 \
+ --hash=sha256:6e0bd57539da59a3e4671b90a502da9a28c72322a4f17866ba3ac63a82c4498e \
+ --hash=sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a \
+ --hash=sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35 \
+ --hash=sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737 \
+ --hash=sha256:7699b1df36a48169cdebda7ab5a2bac265204003f153b4bd17276153d997670a \
+ --hash=sha256:7ccebf51efc61634f6c2344da73e366c75e735960b5654b63d7e6f69a5885fa3 \
+ --hash=sha256:7f7059ca8d64fea7f238994c97d91f75965216bcbe5f695bb44f354893f11d52 \
+ --hash=sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05 \
+ --hash=sha256:816f5aa087094099fff7edabb5e01cc370eb21aa1a1d44fe2d2aefdfb5599b31 \
+ --hash=sha256:81f2ec23ddc1b476ff96563f2e8d723830b06dceae348ce02914a37cb4e74b89 \
+ --hash=sha256:84286494f6c5d05243456e04223d5a9417d7f443c3b76065e75001beb26f88de \
+ --hash=sha256:8bf7b66ce12a2ac52d16f776b31d16d91033150266eb796967a7e4621707e4f6 \
+ --hash=sha256:8f1edcea27918d748c7e5e4d917297b2a0ab80cad10f86631e488b7cddf76a36 \
+ --hash=sha256:981fb88516bd1ae8b0cbbd2034678a39dedc98752f264ac9bc5839d3923fa04c \
+ --hash=sha256:98476c98b02c8e9b2eec76ac4156fd006628b1b2d0ef27e548ffa978393fd154 \
+ --hash=sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb \
+ --hash=sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e \
+ --hash=sha256:9a42d6a8156ff78981f8aa56eb6394114e0dedb217cf8b729f438f643608cbcd \
+ --hash=sha256:9c10c309e18e443ddb108f0ef64e8729363adbfd92d6d57beec680f6261556f3 \
+ --hash=sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f \
+ --hash=sha256:9fdcf339322a3fae5cbd504edcefddd5a50d9ee00d968696846f089b4432cf78 \
+ --hash=sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960 \
+ --hash=sha256:a28af0695a45f7060e6f9b7092558a928a28553366519f64083c63a44f70e618 \
+ --hash=sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08 \
+ --hash=sha256:a33cd6ad9017bbeaa9ed78a2e0752c5e250eafb9534f308e7a5f7849b0b1bfb4 \
+ --hash=sha256:a3cb37038123447cf0f3ea4c74751f6a9d7afef0eb71aa07bf5f652b5e6a132c \
+ --hash=sha256:a57847b090d7892f123726202b7daa20df6694cbd583b67a592e856bff603d6c \
+ --hash=sha256:a5a8e19d7c707c4cadb8c18f5f60c843052ae83c20fa7d44f41594c644a1d330 \
+ --hash=sha256:ac3b20653bdbe160febbea8aa6c079d3df19310d50ac314911ed8cc4eb7f8cb8 \
+ --hash=sha256:ac6c2c45c847bbf8f91930d88716a0fb924b51e0c6dad329b793d670ec5db792 \
+ --hash=sha256:acc07b2cfc5b835444b44a9956846b578d27beeacd4b52e45489e93276241025 \
+ --hash=sha256:aee66be87825cdf72ac64cb03ad4c15ffef4143dbf5c113f64a5ff4f81477bf9 \
+ --hash=sha256:af52d26579b308921b73b956153066481f064875140ccd1dfd4e77db89dbb12f \
+ --hash=sha256:b94d4ba43739bbe8b0ce4262bcc3b7b9f31459ad120fb595627eaeb7f9b9ca01 \
+ --hash=sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337 \
+ --hash=sha256:bed0f8a0eeea9fb72937ba118f9db0cb7e90773462af7962d382445f3005e5a4 \
+ --hash=sha256:bf99c8404f008750c846cb4ac4667b798a9f7de673ff719d705d9b2d6de49c5f \
+ --hash=sha256:c3027001c28434e7ca5a6e1e527487051136aa81803ac812be51802150d880dd \
+ --hash=sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51 \
+ --hash=sha256:d0165ab2914379bd56908c02294ed8405c252250668ebcb438a55494c69f44ab \
+ --hash=sha256:d1b26e1dff225c31897696cab7d4f0a315d4c0d9e8666dbffdb28216f3b17fdc \
+ --hash=sha256:d950caa237bb1954f1b8c9227b5065ba6875ac9771bb8ec790d956a699b78676 \
+ --hash=sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381 \
+ --hash=sha256:e173486019cc283dc9778315fa29a363579372fe67045e971e89b6365cc035ed \
+ --hash=sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb \
+ --hash=sha256:e9386266798d64eeb19dd3677051f5705bf873e98e15897ddb7d76f477131967 \
+ --hash=sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073 \
+ --hash=sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae \
+ --hash=sha256:f5a823165e6d04ccea61a9f0576f345f8ce40ed533013580e087bd4d7442b52c \
+ --hash=sha256:f69ed81ab24d5a3bd93861c8c4436f54afdf8e8cc421562b0c7504cf3be58206 \
+ --hash=sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b
# via
# pydantic
# safir
-pyjwt==2.10.0 \
- --hash=sha256:543b77207db656de204372350926bed5a86201c4cbff159f623f79c7bb487a15 \
- --hash=sha256:7628a7eb7938959ac1b26e819a1df0fd3259505627b575e4bad6d08f76db695c
+pyjwt==2.10.1 \
+ --hash=sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953 \
+ --hash=sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb
# via gidgethub
python-dateutil==2.9.0.post0 \
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
@@ -574,9 +583,9 @@ sniffio==1.3.1 \
# anyio
# httpcore
# httpx
-starlette==0.41.2 \
- --hash=sha256:9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62 \
- --hash=sha256:fbc189474b4731cf30fcef52f18a8d070e3f3b46c6a04c97579e85e6ffca942d
+starlette==0.41.3 \
+ --hash=sha256:0e4ab3d16522a255be6b28260b938eae2482f98ce5cc934cb08dce8dc3ba5835 \
+ --hash=sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7
# via
# fastapi
# safir
diff --git a/requirements/tox.txt b/requirements/tox.txt
index a3206bec05..136300fdd7 100644
--- a/requirements/tox.txt
+++ b/requirements/tox.txt
@@ -60,27 +60,27 @@ tox-uv==1.16.0 \
--hash=sha256:71b2e2fa6c35c1360b91a302df1d65b3e5a1f656b321c5ebf7b84545804c9f01 \
--hash=sha256:e6f0b525a687e745ab878d07cbf5c7e85d582028d4a7c8935f95e84350651432
# via -r requirements/tox.in
-uv==0.5.2 \
- --hash=sha256:15c7ffa08ae21abd221dbdf9ba25c8969235f587cec6df8035552434e5ca1cc5 \
- --hash=sha256:2597e91be45b3f4458d0d16a5a1cda7e93af7d6dbfddf251aae5377f9187fa88 \
- --hash=sha256:27d666da8fbb0f87d9df67abf9feea0da4ee1336730f2c4be29a11f3feaa0a29 \
- --hash=sha256:374e9498e155fcaa8728a6770b84f03781106d705332f4ec059e1cc93c8f4d8a \
- --hash=sha256:5052758d374dd769efd0c70b4789ffb08439567eb114ad8fe728536bb5cc5299 \
- --hash=sha256:675ca34829ceca3e9de395cf05e8f881334a24488f97dd923c463830270d52a7 \
- --hash=sha256:67776d34cba359c63919c5ad50331171261d2ec7a83fd07f032eb8cc22e22b8e \
- --hash=sha256:71467545d51883d1af7094c8f6da69b55e7d49b742c2dc707d644676dcb66515 \
- --hash=sha256:772b32d157ec8f27c0099ecac94cf5cd298bce72f1a1f512205591de4e9f0c5c \
- --hash=sha256:7bde66f13571e437fd45f32f5742ab53d5e011b4edb1c74cb74cb8b1cbb828b5 \
- --hash=sha256:89e60ad9601f35f187326de84f35e7517c6eb1438359da42ec85cfd9c1895957 \
- --hash=sha256:a4d4fdad03e6dc3e8216192b8a12bcf2c71c8b12046e755575c7f262cbb61924 \
- --hash=sha256:a8a9897dd7657258c53f41aecdbe787da99f4fc0775f19826ab65cc0a7136cbf \
- --hash=sha256:c9795b990fb0b2a18d3a8cef8822e13c6a6f438bc16d34ccf01d931c76cfd5da \
- --hash=sha256:cfba5b0070652da4174083b78852f3ab3d262ba1c8b63a4d5ae497263b02b834 \
- --hash=sha256:d0834c6b37750c045bbea80600d3ae3e95becc4db148f5c0d0bc3ec6a7924e8f \
- --hash=sha256:d1fe4e025dbb9ec5c9250bfc1231847b8487706538f94d10c769f0a54db3e0af \
- --hash=sha256:dfcd8275ff8cb59d5f26f826a44270b2fe8f38aa7188d7355c48d3e9b759d0c0
+uv==0.5.5 \
+ --hash=sha256:0314a4b9a25bf00afe4e5472c338c8c6bd34688c23d63ce1ad35462cf087b492 \
+ --hash=sha256:0f7f04ae5a5430873d8610d8ea0a5d35df92e60bf701f80b3cf24857e0ac5e72 \
+ --hash=sha256:29286cd6b9f8e040d02894a67c6b6304811ea393ca9dfade109e93cf4b3b842c \
+ --hash=sha256:34e894c922ba29a59bbe812a458a7095a575f76b87dfc362e0c3f4f650d6f631 \
+ --hash=sha256:365715e7247c2cd8ef661e8f96927b181248f689c07e48b076c9dbc78a4a0877 \
+ --hash=sha256:3dee9517ebba13d07d8f139c439c5ff63e438d31ebda4d7eb0af8d0f0cc6a181 \
+ --hash=sha256:553901e95cb5a4da1da19e288c29c5f886793f981750400e5cef48e3031b970b \
+ --hash=sha256:59d53cce11718ce5d5367afc8c93ebcfc5e1cddfa4a44aedbf08d08d9b738381 \
+ --hash=sha256:5a47345ccafc0105b2f0cc22fcb0bb05be4d0e60df67f5beea28069b0bb372c8 \
+ --hash=sha256:69e15f24493d86c3a2da3764891e35a033ceda09404c1f9b386671d509db95f3 \
+ --hash=sha256:7f8db4bdf7eaef6be271457c4b2a167f41ad115434944a09f5034018a29b4093 \
+ --hash=sha256:9af7018430da1f0960eee1592c820c343e2619f2d71f66c3be62da330826c537 \
+ --hash=sha256:a4f0c7647187044056dc6f6f5d31b01f445d8695eb7d2f442b29fd5c9216a56f \
+ --hash=sha256:b55d507bfe2bd2330c41680e4b0077972381f40975a59b53007254196abc4477 \
+ --hash=sha256:d091e88a9c2c830169c3ccf95fd972759e0ab629dacc2d5eff525e5ba3583904 \
+ --hash=sha256:f0bfc7ced2fe0c85b3070dfa219072a1406133e18aab2f2fe10b6455ede0f8b2 \
+ --hash=sha256:f4e9ddcffc29f009f692cda699912b02f6a12089d741b71d2fcd0b181eb71c5d \
+ --hash=sha256:f5569798fc8eaad58fbb4fb70ced8f09ebe607fbbfb95fa42c559f57bbe0cabd
# via tox-uv
-virtualenv==20.27.1 \
- --hash=sha256:142c6be10212543b32c6c45d3d3893dff89112cc588b7d0879ae5a1ec03a47ba \
- --hash=sha256:f11f1b8a29525562925f745563bfd48b189450f61fb34c4f9cc79dd5aa32a1f4
+virtualenv==20.28.0 \
+ --hash=sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0 \
+ --hash=sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa
# via tox
diff --git a/ruff-shared.toml b/ruff-shared.toml
index dc46f19b43..3617fad62c 100644
--- a/ruff-shared.toml
+++ b/ruff-shared.toml
@@ -57,9 +57,9 @@ ignore = [
"S607", # using PATH is not a security vulnerability
"SIM102", # sometimes the formatting of nested if statements is clearer
"SIM117", # sometimes nested with contexts are clearer
- "TCH001", # we decided to not maintain separate TYPE_CHECKING blocks
- "TCH002", # we decided to not maintain separate TYPE_CHECKING blocks
- "TCH003", # we decided to not maintain separate TYPE_CHECKING blocks
+ "TC001", # we decided to not maintain separate TYPE_CHECKING blocks
+ "TC002", # we decided to not maintain separate TYPE_CHECKING blocks
+ "TC003", # we decided to not maintain separate TYPE_CHECKING blocks
"TD003", # we don't require issues be created for TODOs
"TID252", # if we're going to use relative imports, use them always
"TRY003", # good general advice but lint is way too aggressive
diff --git a/src/phalanx/cli.py b/src/phalanx/cli.py
index fb1a6c4ba8..5401b4ee2f 100644
--- a/src/phalanx/cli.py
+++ b/src/phalanx/cli.py
@@ -34,8 +34,6 @@
P = ParamSpec("P")
__all__ = [
- "main",
- "help",
"application",
"application_add_helm_repos",
"application_create",
@@ -47,6 +45,8 @@
"environment_lint",
"environment_schema",
"environment_template",
+ "help",
+ "main",
"secrets",
"secrets_audit",
"secrets_list",
diff --git a/starters/fastapi-safir-uws/templates/ingress.yaml b/starters/fastapi-safir-uws/templates/ingress.yaml
index 8b59497224..377d44ca08 100644
--- a/starters/fastapi-safir-uws/templates/ingress.yaml
+++ b/starters/fastapi-safir-uws/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: ""
# Request a delegated token to use for making calls to Butler server with the
# end-user's credentials.
delegate:
diff --git a/starters/fastapi-safir-uws/values.yaml b/starters/fastapi-safir-uws/values.yaml
index 44d1783c3b..8a08de91f7 100644
--- a/starters/fastapi-safir-uws/values.yaml
+++ b/starters/fastapi-safir-uws/values.yaml
@@ -86,7 +86,7 @@ cloudsql:
repository: "gcr.io/cloudsql-docker/gce-proxy"
# -- Cloud SQL Auth Proxy tag to use
- tag: "1.37.1"
+ tag: "1.37.2"
# -- Pull policy for Cloud SQL Auth Proxy images
pullPolicy: "IfNotPresent"
diff --git a/starters/fastapi-safir/templates/ingress.yaml b/starters/fastapi-safir/templates/ingress.yaml
index ddbe364182..8d326fb9f3 100644
--- a/starters/fastapi-safir/templates/ingress.yaml
+++ b/starters/fastapi-safir/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: ""
template:
metadata:
name: ""
diff --git a/starters/web-service/templates/ingress.yaml b/starters/web-service/templates/ingress.yaml
index b3a26d8bbf..e66ab1a80f 100644
--- a/starters/web-service/templates/ingress.yaml
+++ b/starters/web-service/templates/ingress.yaml
@@ -9,6 +9,7 @@ config:
scopes:
all:
- "read:image"
+ service: ""
template:
metadata:
name: ""