From ce7b7ad8a44d0036acab06400e6ded840167c1ca Mon Sep 17 00:00:00 2001 From: David Hadley Date: Thu, 6 Aug 2026 10:41:19 +0100 Subject: [PATCH] style: fix whitespace and formatting --- .github/workflows/_auth_daemon_container.yaml | 2 +- .github/workflows/_dashboard_container.yaml | 2 +- .github/workflows/_github_pages.yaml | 2 +- .github/workflows/_graph_proxy_container.yaml | 2 +- .github/workflows/_helm_lint.yaml | 1 + .../workflows/_sessionspaces_container.yaml | 2 +- .github/workflows/ci.yaml | 7 +- .lintconf.yaml | 8 ++ LICENSE | 2 +- backend/auth-core/Cargo.toml | 2 +- backend/auth-core/README.md | 1 - backend/auth-daemon/README.md | 1 - backend/auth-gateway/README.md | 1 - backend/graph-proxy/.dockerignore | 1 - backend/graph-proxy/src/graphql/workflows.rs | 6 +- backend/graph-proxy/src/validate_token.rs | 2 +- backend/identity-mapper/README.md | 2 +- .../.devcontainer.local/README.md | 4 +- .../tests/fixtures/bl_sessions.sql | 6 +- .../sessionspaces/tests/fixtures/persons.sql | 4 +- .../tests/fixtures/proposals.sql | 2 +- .../tests/fixtures/session_has_person.sql | 10 +- charts/apps/Chart.yaml | 2 +- charts/apps/values.yaml | 9 +- charts/argocd/Chart.yaml | 2 +- charts/argocd/staging-values.yaml | 1 - charts/dashboard/Chart.yaml | 2 +- charts/dashboard/templates/service.yaml | 1 - charts/events/Chart.yaml | 2 +- charts/events/crds/trigger-crds.yaml | 4 +- charts/events/hooks/sync.py | 12 +- charts/events/templates/event-bus.yaml | 6 +- charts/events/templates/event-sources.yaml | 2 +- charts/events/templates/example-trigger.yaml | 2 +- charts/events/templates/stomp-server.yaml | 2 +- charts/events/templates/webhooks.yaml | 2 +- .../assign-trigger-ttl/chainsaw-test.yaml | 1 - .../chainsaw-test.yaml | 1 - charts/graph-proxy/Chart.yaml | 2 +- charts/graph-proxy/staging-values.yaml | 1 - charts/groups/Chart.yaml | 2 +- charts/groups/templates/applications.yaml | 2 +- charts/identity-mapper/Chart.yaml | 2 +- charts/identity-mapper/templates/policy.yaml | 4 +- charts/k6-operator/Chart.yaml | 2 +- .../templates/k6-operator-configmap.yaml | 1 - .../templates/k6-probe-configmap.yaml | 11 +- .../templates/k6-spam-workflows-testrun.yaml | 1 - charts/k6-operator/templates/k6-testrun.yaml | 9 +- .../templates/k6-ws-subscription-testrun.yaml | 9 +- charts/kueue/Chart.yaml | 2 +- charts/kueue/values.yaml | 2 +- charts/monitoring/Chart.yaml | 2 +- .../analysis-platform-dashboard.json | 2 +- .../grafana-dashboards/k6-dash.json | 1 - .../grafana-dashboards/kyverno-dash.json | 2 +- .../grafana-dashboards/postgres-dash.json | 2 +- charts/prek.toml | 2 +- charts/sessionspaces/Chart.yaml | 2 +- .../charts/database/templates/service.yaml | 1 - charts/workflows-cluster/Chart.yaml | 2 +- .../charts/secrets/Chart.yaml | 1 - .../secrets/templates/argo-server-sso.yaml | 1 - .../secrets/templates/argocd-oauth.yaml | 1 - .../templates/graph-proxy-artifact.yaml | 1 - .../templates/graph-proxy-k6-auth.yaml | 4 +- .../charts/secrets/templates/s3-artifact.yaml | 1 - .../templates/sessionspaces-ispyb.yaml | 1 - .../templates/workflows-cluster-client.yaml | 2 +- .../scripts/restore-vcluster-postgres.sh | 5 +- charts/workflows-cluster/staging-values.yaml | 116 +++++++++--------- charts/workflows-cluster/values.yaml | 69 +++++------ charts/workflows/Chart.yaml | 2 +- .../charts/s3mock/templates/service.yaml | 1 - .../inject-envoy-sidecar-clusterpolicy.yaml | 2 +- .../templates/pgpool-passwords-secret.yaml | 1 - .../templates/postgres-secrets-policy.yaml | 8 +- .../synchronize-artifact-s3-secret.yaml | 2 +- .../test-policy/localqueue/chainsaw-test.yaml | 1 - docs/explanations/description-annotation.md | 2 +- docs/explanations/k6-overview.md | 22 ++-- docs/explanations/template-labels.md | 2 +- docs/explanations/title-annotation.md | 2 +- docs/how-tos/create-artifacts.md | 8 +- docs/how-tos/create-writeable-container.md | 4 +- docs/how-tos/mount-filesystem.md | 5 +- docs/requirements.txt | 1 - docs/tutorials/ptypy-workflows.md | 10 +- docs/tutorials/your-first-workflow.md | 2 +- .../dawn-powder-calibration.yaml | 2 +- .../live-clustertemplate.yaml | 4 +- .../numpy-benchmark.yaml | 2 +- examples/conventional-templates/pytorch.yaml | 8 +- .../templates/notebook.yaml | 2 +- .../templates/pytorch-notebook.yaml | 6 +- .../conventional-templates/README.md | 1 - .../helm-based-templates/README.md | 1 - 97 files changed, 233 insertions(+), 257 deletions(-) create mode 100644 .lintconf.yaml diff --git a/.github/workflows/_auth_daemon_container.yaml b/.github/workflows/_auth_daemon_container.yaml index 4380530b4..871373ce6 100644 --- a/.github/workflows/_auth_daemon_container.yaml +++ b/.github/workflows/_auth_daemon_container.yaml @@ -25,7 +25,7 @@ jobs: - name: Extract Version from Tag id: tags - run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT + run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT - name: Docker Metadata id: meta diff --git a/.github/workflows/_dashboard_container.yaml b/.github/workflows/_dashboard_container.yaml index 6e357f3ae..51072f6e7 100644 --- a/.github/workflows/_dashboard_container.yaml +++ b/.github/workflows/_dashboard_container.yaml @@ -32,7 +32,7 @@ jobs: - name: Extract Version from Tag id: tags - run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT + run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT - name: Docker Metadata id: meta diff --git a/.github/workflows/_github_pages.yaml b/.github/workflows/_github_pages.yaml index 4ca4a346d..7007ff82d 100644 --- a/.github/workflows/_github_pages.yaml +++ b/.github/workflows/_github_pages.yaml @@ -111,7 +111,7 @@ jobs: - name: Merge Artifacts uses: actions/upload-artifact/merge@v7 with: - separate-directories: true + separate-directories: true - name: Download Merged Artifact uses: actions/download-artifact@v6.0.0 diff --git a/.github/workflows/_graph_proxy_container.yaml b/.github/workflows/_graph_proxy_container.yaml index 85c907e58..9beaed18e 100644 --- a/.github/workflows/_graph_proxy_container.yaml +++ b/.github/workflows/_graph_proxy_container.yaml @@ -26,7 +26,7 @@ jobs: - name: Extract Version from Tag id: tags - run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT + run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT - name: Docker Metadata id: meta diff --git a/.github/workflows/_helm_lint.yaml b/.github/workflows/_helm_lint.yaml index bb4bcdab1..adda337cc 100644 --- a/.github/workflows/_helm_lint.yaml +++ b/.github/workflows/_helm_lint.yaml @@ -37,3 +37,4 @@ jobs: --target-branch=${{ github.event.repository.default_branch }} --validate-maintainers=false --check-version-increment=true + --lint-conf=.lintconf.yaml diff --git a/.github/workflows/_sessionspaces_container.yaml b/.github/workflows/_sessionspaces_container.yaml index 6e1ccc774..897b28680 100644 --- a/.github/workflows/_sessionspaces_container.yaml +++ b/.github/workflows/_sessionspaces_container.yaml @@ -37,7 +37,7 @@ jobs: - name: Extract Version from Tag id: tags - run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT + run: echo version=$(echo "${{ github.ref }}" | awk -F '[@v]' '{print $3}') >> $GITHUB_OUTPUT - name: Docker Metadata id: meta diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fb7c596b7..7a686bf2d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -143,7 +143,7 @@ jobs: github-app-id: 1010045 github-app-private-key: ${{ secrets.GRAPH_FEDERATOR }} publish: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/graph-proxy@') }} - + frontend_code: # Deduplicate jobs from pull requests and branch pushes within the same repo. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository @@ -177,12 +177,12 @@ jobs: release_please: if: github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main') uses: ./.github/workflows/_release_please.yaml - secrets: + secrets: release_please_token: ${{ secrets.RELEASE_PLEASE_CLIENT_SECRET }} permissions: contents: write pull-requests: write - + telemetry_code: # Deduplicate jobs from pull requests and branch pushes within the same repo. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository @@ -203,4 +203,3 @@ jobs: steps: - name: Lint Workflows uses: diamondlightsource/workflows@main - diff --git a/.lintconf.yaml b/.lintconf.yaml new file mode 100644 index 000000000..9e803cc12 --- /dev/null +++ b/.lintconf.yaml @@ -0,0 +1,8 @@ +--- +extends: default + +rules: + document-start: disable + line-length: disable + comments: + min-spaces-from-content: 1 diff --git a/LICENSE b/LICENSE index 9c8f3ea08..8dada3eda 100644 --- a/LICENSE +++ b/LICENSE @@ -198,4 +198,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License. diff --git a/backend/auth-core/Cargo.toml b/backend/auth-core/Cargo.toml index 98a04bf8d..9d3831cb9 100644 --- a/backend/auth-core/Cargo.toml +++ b/backend/auth-core/Cargo.toml @@ -27,7 +27,7 @@ rustls = { workspace = true, features = ["aws-lc-rs"] } sea-orm = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } -serde_yaml = { workspace = true } +serde_yaml = { workspace = true } sodiumoxide = "0.2.7" thiserror = { workspace = true } tokio = { workspace = true, features = ["full"] } diff --git a/backend/auth-core/README.md b/backend/auth-core/README.md index 2b4ba02af..fde5696de 100644 --- a/backend/auth-core/README.md +++ b/backend/auth-core/README.md @@ -22,4 +22,3 @@ Outputs Base64-encoded public and private keys to set in service config. ```sh cd migration && cargo run ``` - diff --git a/backend/auth-daemon/README.md b/backend/auth-daemon/README.md index faabf266e..38dce80c2 100644 --- a/backend/auth-daemon/README.md +++ b/backend/auth-daemon/README.md @@ -16,4 +16,3 @@ The daemon resolves the subject (the user whose stored refresh token to load) at |------|--------|-------------| | `/` | any | Authenticated proxy to the configured GraphQL endpoint | | `/healthz` | `GET` | Health check (returns 202) | - diff --git a/backend/auth-gateway/README.md b/backend/auth-gateway/README.md index 241db604f..53ab72f1f 100644 --- a/backend/auth-gateway/README.md +++ b/backend/auth-gateway/README.md @@ -19,4 +19,3 @@ Serves on port `5173` by default (configurable in `config.yaml`). | `/auth/logout` | `POST` | Clear session and delete stored tokens | | `/healthcheck` | `GET` | Health check (returns 202) | | `/*` | any | Authenticated proxy to the GraphQL backend | - diff --git a/backend/graph-proxy/.dockerignore b/backend/graph-proxy/.dockerignore index f3f06a90e..5df79c372 100644 --- a/backend/graph-proxy/.dockerignore +++ b/backend/graph-proxy/.dockerignore @@ -1,3 +1,2 @@ .devcontainer target - diff --git a/backend/graph-proxy/src/graphql/workflows.rs b/backend/graph-proxy/src/graphql/workflows.rs index e40240d8f..e692703c5 100644 --- a/backend/graph-proxy/src/graphql/workflows.rs +++ b/backend/graph-proxy/src/graphql/workflows.rs @@ -1628,7 +1628,7 @@ mod tests { r#" query {{ workflows( - visit: {{proposalCode: "{}", proposalNumber: {}, number: {}}}, + visit: {{proposalCode: "{}", proposalNumber: {}, number: {}}}, filter: {{ workflowStatusFilter: {{ error: true }}, creator: "enu43627" }} ) {{ nodes {{ @@ -1658,7 +1658,7 @@ mod tests { r#" query {{ workflows( - visit: {{proposalCode: "{}", proposalNumber: {}, number: {}}}, + visit: {{proposalCode: "{}", proposalNumber: {}, number: {}}}, filter: {{ workflowStatusFilter: {{ failed: true, error: true, succeeded: false, pending: false, running: false }} }} ) {{ nodes {{ @@ -1708,7 +1708,7 @@ mod tests { r#" query {{ workflows( - visit: {{proposalCode: "{}", proposalNumber: {}, number: {}}}, + visit: {{proposalCode: "{}", proposalNumber: {}, number: {}}}, filter: {{ creator: "abc12345" }} ) {{ nodes {{ diff --git a/backend/graph-proxy/src/validate_token.rs b/backend/graph-proxy/src/validate_token.rs index 2631595fd..0200b8d76 100644 --- a/backend/graph-proxy/src/validate_token.rs +++ b/backend/graph-proxy/src/validate_token.rs @@ -232,7 +232,7 @@ struct IntrospectionEndpointProviderMetadata { } impl AdditionalProviderMetadata for IntrospectionEndpointProviderMetadata {} -/// The concrete type returned by OIDC discovery +/// The concrete type returned by OIDC discovery type ProviderMetadataWithInstrospectionEndpoint = ProviderMetadata< IntrospectionEndpointProviderMetadata, CoreAuthDisplay, diff --git a/backend/identity-mapper/README.md b/backend/identity-mapper/README.md index 53a41a225..4acd5a73e 100644 --- a/backend/identity-mapper/README.md +++ b/backend/identity-mapper/README.md @@ -2,4 +2,4 @@ This is an MVP to collect user group information to patch Argo Worflows and Pod securityContext based on LDAP information. -TODO: replace with a rust implementation. \ No newline at end of file +TODO: replace with a rust implementation. diff --git a/backend/sessionspaces/.devcontainer.local/README.md b/backend/sessionspaces/.devcontainer.local/README.md index 185cd98b3..87c33b277 100644 --- a/backend/sessionspaces/.devcontainer.local/README.md +++ b/backend/sessionspaces/.devcontainer.local/README.md @@ -22,7 +22,7 @@ systemctl --user enable --now podman.socket 2) Proxy the LDAP. The LDAP is only accessible from workstations, the local cluster is usable on a root laptop. We get around this by proxying the LDAP traffic via a workstation. Something like this should work, with your own workstation as the ssh host. -```bash +```bash ssh -L 1389:ldapmaster.diamond.ac.uk:389 USER@WORKSTATION ``` @@ -45,4 +45,4 @@ cargo run The kind cluster can be deleted and re-created on demand when a clean-slate is desired. -View the created namespaces/configmaps with 'kubectl' (pre-installed in the dev dockerfile) \ No newline at end of file +View the created namespaces/configmaps with 'kubectl' (pre-installed in the dev dockerfile) diff --git a/backend/sessionspaces/tests/fixtures/bl_sessions.sql b/backend/sessionspaces/tests/fixtures/bl_sessions.sql index 24ca68866..79bdd23c4 100644 --- a/backend/sessionspaces/tests/fixtures/bl_sessions.sql +++ b/backend/sessionspaces/tests/fixtures/bl_sessions.sql @@ -7,8 +7,8 @@ INSERT INTO `startDate`, `endDate` ) -VALUES +VALUES (40, 30, 1, "i03", "2009-06-19 09:00:00","2009-07-19 09:00:00"), - (41, 30, 2, "i04-1", "2010-06-19 00:00:00", "2010-06-19 00:00:00"), - (43, 31, 4, "i22", "2011-01-19 00:00:00", "2011-01-19 00:00:00"), + (41, 30, 2, "i04-1", "2010-06-19 00:00:00", "2010-06-19 00:00:00"), + (43, 31, 4, "i22", "2011-01-19 00:00:00", "2011-01-19 00:00:00"), (44, 31, 5, "p45", "2011-01-19 00:00:00", "2011-01-19 00:00:00"); diff --git a/backend/sessionspaces/tests/fixtures/persons.sql b/backend/sessionspaces/tests/fixtures/persons.sql index 3c6547154..7c9c94cf9 100644 --- a/backend/sessionspaces/tests/fixtures/persons.sql +++ b/backend/sessionspaces/tests/fixtures/persons.sql @@ -3,6 +3,6 @@ INSERT INTO `personId`, `login` ) -VALUES - (20, "foo"), +VALUES + (20, "foo"), (21, "bar"); diff --git a/backend/sessionspaces/tests/fixtures/proposals.sql b/backend/sessionspaces/tests/fixtures/proposals.sql index 659132bab..65de89aed 100644 --- a/backend/sessionspaces/tests/fixtures/proposals.sql +++ b/backend/sessionspaces/tests/fixtures/proposals.sql @@ -4,6 +4,6 @@ INSERT INTO `proposalNumber`, `proposalCode` ) -VALUES +VALUES (30, "10030", "sw"), (31, "10031", "cm") diff --git a/backend/sessionspaces/tests/fixtures/session_has_person.sql b/backend/sessionspaces/tests/fixtures/session_has_person.sql index 1d31f3a5f..d448d30b0 100644 --- a/backend/sessionspaces/tests/fixtures/session_has_person.sql +++ b/backend/sessionspaces/tests/fixtures/session_has_person.sql @@ -1,11 +1,11 @@ -INSERT INTO +INSERT INTO `Session_has_Person` ( `sessionId`, `personId` ) -VALUES +VALUES (40, 20), - (41, 20), - (42, 20), - (43, 21), + (41, 20), + (42, 20), + (43, 21), (44, 21); diff --git a/charts/apps/Chart.yaml b/charts/apps/Chart.yaml index 819f4a72a..c602709d2 100644 --- a/charts/apps/Chart.yaml +++ b/charts/apps/Chart.yaml @@ -2,4 +2,4 @@ apiVersion: v2 name: apps description: An argocd app to deploy apps inside the virtual cluster type: application -version: 0.5.12 +version: 0.5.13 diff --git a/charts/apps/values.yaml b/charts/apps/values.yaml index 20115f1cc..55052b213 100644 --- a/charts/apps/values.yaml +++ b/charts/apps/values.yaml @@ -39,13 +39,16 @@ kyverno: enabled: true kyverno_policy_execution_duration_seconds: enabled: true - disabledLabelDimensions: ["resource_namespace", "resource_request_operation"] + disabledLabelDimensions: + ["resource_namespace", "resource_request_operation"] kyverno_validating_policy_execution_duration_seconds: enabled: true - disabledLabelDimensions: ["resource_namespace", "resource_request_operation"] + disabledLabelDimensions: + ["resource_namespace", "resource_request_operation"] kyverno_image_validating_policy_execution_duration_seconds: enabled: true - disabledLabelDimensions: ["resource_namespace", "resource_request_operation"] + disabledLabelDimensions: + ["resource_namespace", "resource_request_operation"] kyverno_admission_review_duration_seconds: enabled: true disabledLabelDimensions: ["resource_namespace"] diff --git a/charts/argocd/Chart.yaml b/charts/argocd/Chart.yaml index d3cbdab0d..2a263fb53 100644 --- a/charts/argocd/Chart.yaml +++ b/charts/argocd/Chart.yaml @@ -3,7 +3,7 @@ name: argocd description: ArgoCD, with a few extras type: application -version: 0.3.34 +version: 0.3.35 dependencies: - name: common version: 2.23.0 diff --git a/charts/argocd/staging-values.yaml b/charts/argocd/staging-values.yaml index c015b216c..04f509904 100644 --- a/charts/argocd/staging-values.yaml +++ b/charts/argocd/staging-values.yaml @@ -15,4 +15,3 @@ argo-cd: ingress: enabled: true host: argo-cd.staging.workflows.diamond.ac.uk - diff --git a/charts/dashboard/Chart.yaml b/charts/dashboard/Chart.yaml index 0d904eceb..bdb4b32ad 100644 --- a/charts/dashboard/Chart.yaml +++ b/charts/dashboard/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: dashboard description: A dashboard for Diamond workflows type: application -version: 0.2.27 +version: 0.2.28 appVersion: 0.1.15 dependencies: - name: common diff --git a/charts/dashboard/templates/service.yaml b/charts/dashboard/templates/service.yaml index 1a6eeabf2..cbc43766e 100644 --- a/charts/dashboard/templates/service.yaml +++ b/charts/dashboard/templates/service.yaml @@ -20,4 +20,3 @@ spec: targetPort: dashboard protocol: TCP {{- end }} - diff --git a/charts/events/Chart.yaml b/charts/events/Chart.yaml index 4d6fb8f56..a42ad91d8 100644 --- a/charts/events/Chart.yaml +++ b/charts/events/Chart.yaml @@ -3,7 +3,7 @@ name: events description: Data Analysis event triggering type: application -version: 0.3.5 +version: 0.3.6 dependencies: - name: argo-events diff --git a/charts/events/crds/trigger-crds.yaml b/charts/events/crds/trigger-crds.yaml index 176e5b57f..f5b82e660 100644 --- a/charts/events/crds/trigger-crds.yaml +++ b/charts/events/crds/trigger-crds.yaml @@ -24,7 +24,7 @@ spec: properties: lifetime: type: string - pattern: '^(\d+[smh]|forever)$' + pattern: '^(\d+[smh]|forever)$' enabled: type: boolean default: true @@ -86,7 +86,7 @@ spec: properties: lifetime: type: string - pattern: '^(\d+[smh]|forever)$' + pattern: '^(\d+[smh]|forever)$' default: 24h templateRef: type: string diff --git a/charts/events/hooks/sync.py b/charts/events/hooks/sync.py index 18d97ed2d..b913ea9e0 100644 --- a/charts/events/hooks/sync.py +++ b/charts/events/hooks/sync.py @@ -29,7 +29,7 @@ class CustomizeRequest(TypedDict): controller: dict parent: dict -""" +""" A JSON object representing the desired resource description. A list of these constitutes the response expected from the customize hook """ @@ -114,22 +114,22 @@ def sync(self, parent: dict, related: dict) -> SyncResponse: "type": "string", "value": [workflow.triggerOnMessageType], }) - + if namespace != "events": dataFilters.append({ "path": "body.doc.instrument_session", "type": "string", "value": [namespace], }) - + if dataFilters: dependency.update({"filters": {"data": dataFilters}}) - + dependencies.append(dependency) sensorParams = [{ "src": { - "dependencyName": name, + "dependencyName": name, "dataKey": "body.doc.instrument_session" }, "dest": "metadata.namespace" @@ -214,7 +214,7 @@ def customize(self, parent: dict) -> list[ResourceRule]: sourceTypes: list[str] = list(parent.get("spec", {}).keys()) if not sourceTypes or not beamline: - return [] + return [] return [{ "apiVersion": "workflows.diamond.ac.uk/v1alpha1", diff --git a/charts/events/templates/event-bus.yaml b/charts/events/templates/event-bus.yaml index da476ccc6..3154fe455 100644 --- a/charts/events/templates/event-bus.yaml +++ b/charts/events/templates/event-bus.yaml @@ -13,12 +13,12 @@ spec: {{- if $eventBus.resources }} containerTemplate: resources: - {{- $eventBus.resources | toYaml | nindent 10 }} + {{- $eventBus.resources | toYaml | nindent 10 }} {{- end }} - {{- if $eventBus.metricsresources }} + {{- if $eventBus.metricsresources }} metricsContainerTemplate: resources: - {{- $eventBus.metricsresources | toYaml | nindent 10 }} + {{- $eventBus.metricsresources | toYaml | nindent 10 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/events/templates/event-sources.yaml b/charts/events/templates/event-sources.yaml index 50ddc201c..a330eafc9 100644 --- a/charts/events/templates/event-sources.yaml +++ b/charts/events/templates/event-sources.yaml @@ -12,7 +12,7 @@ spec: ports: - port: {{$eventSource.port }} targetPort: {{$eventSource.port }} - {{- if $eventSource.webhook }} + {{- if $eventSource.webhook }} webhook: {{- $eventSource.webhook | toYaml | nindent 6 }} {{- end }} diff --git a/charts/events/templates/example-trigger.yaml b/charts/events/templates/example-trigger.yaml index fd32fe5d3..4e7e1efa0 100644 --- a/charts/events/templates/example-trigger.yaml +++ b/charts/events/templates/example-trigger.yaml @@ -36,7 +36,7 @@ spec: parameters: - name: visitdir path: doc.data_session_directory - + --- apiVersion: workflows.diamond.ac.uk/v1alpha1 kind: ClusterTriggerTemplate diff --git a/charts/events/templates/stomp-server.yaml b/charts/events/templates/stomp-server.yaml index 9b06c39ff..5add45f67 100644 --- a/charts/events/templates/stomp-server.yaml +++ b/charts/events/templates/stomp-server.yaml @@ -75,7 +75,7 @@ spec: - | cp /scripts/stomp-server.py . pip install expiringdict deepmerge stomp.py pydantic grpcio-tools --disable-pip-version-check --root-user-action=ignore - python -m grpc_tools.protoc -I /protos --python_out=. --pyi_out=. --grpc_python_out=. /protos/generic.proto && + python -m grpc_tools.protoc -I /protos --python_out=. --pyi_out=. --grpc_python_out=. /protos/generic.proto && python stomp-server.py env: - name: PYTHONUNBUFFERED diff --git a/charts/events/templates/webhooks.yaml b/charts/events/templates/webhooks.yaml index 21ad06adc..6b552f01b 100644 --- a/charts/events/templates/webhooks.yaml +++ b/charts/events/templates/webhooks.yaml @@ -25,7 +25,7 @@ spec: image: python:3.14-slim command: ["/bin/sh", "-c"] workingDir: /sync - args: + args: - | pip install pydantic python3 /hooks/sync.py diff --git a/charts/events/test-policy/assign-trigger-ttl/chainsaw-test.yaml b/charts/events/test-policy/assign-trigger-ttl/chainsaw-test.yaml index 6b553891c..1c86b9e3e 100644 --- a/charts/events/test-policy/assign-trigger-ttl/chainsaw-test.yaml +++ b/charts/events/test-policy/assign-trigger-ttl/chainsaw-test.yaml @@ -111,4 +111,3 @@ spec: eventName: test-eventname workflow: template: workflow-template - diff --git a/charts/events/test-policy/populate-trigger-from-template/chainsaw-test.yaml b/charts/events/test-policy/populate-trigger-from-template/chainsaw-test.yaml index 007fc443a..91add3687 100644 --- a/charts/events/test-policy/populate-trigger-from-template/chainsaw-test.yaml +++ b/charts/events/test-policy/populate-trigger-from-template/chainsaw-test.yaml @@ -53,4 +53,3 @@ spec: path: parameters.param1 - name: param2 default: "true" - diff --git a/charts/graph-proxy/Chart.yaml b/charts/graph-proxy/Chart.yaml index 7d0ca21d6..5a7a41443 100644 --- a/charts/graph-proxy/Chart.yaml +++ b/charts/graph-proxy/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: graph-proxy description: A GraphQL proxy for the Argo Workflows Server type: application -version: 0.2.42 +version: 0.2.43 appVersion: 0.1.21 dependencies: - name: common diff --git a/charts/graph-proxy/staging-values.yaml b/charts/graph-proxy/staging-values.yaml index 7dbae8461..54e0652a7 100644 --- a/charts/graph-proxy/staging-values.yaml +++ b/charts/graph-proxy/staging-values.yaml @@ -17,4 +17,3 @@ ingress: paths: - path: /graphql/ws pathType: Exact - diff --git a/charts/groups/Chart.yaml b/charts/groups/Chart.yaml index cab58be01..a17ec0af5 100644 --- a/charts/groups/Chart.yaml +++ b/charts/groups/Chart.yaml @@ -3,4 +3,4 @@ name: group-projects description: A collection of AppProjects and Apps for science domain groups type: application -version: 0.3.17 +version: 0.3.18 diff --git a/charts/groups/templates/applications.yaml b/charts/groups/templates/applications.yaml index abaf6ef40..3b719280e 100644 --- a/charts/groups/templates/applications.yaml +++ b/charts/groups/templates/applications.yaml @@ -19,7 +19,7 @@ spec: repoURL: {{ .repoURL }} path: {{ default "." .path }} targetRevision: {{ default "HEAD" .targetRevision }} - {{- if eq $sourcetype "directory" }} + {{- if eq $sourcetype "directory" }} directory: recurse: true {{- end }} diff --git a/charts/identity-mapper/Chart.yaml b/charts/identity-mapper/Chart.yaml index cb24fcf70..53e7308ee 100644 --- a/charts/identity-mapper/Chart.yaml +++ b/charts/identity-mapper/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: identity-mapper description: Identity Mapper type: application -version: 0.1.6 +version: 0.1.7 appVersion: 0.1.1 dependencies: - name: common diff --git a/charts/identity-mapper/templates/policy.yaml b/charts/identity-mapper/templates/policy.yaml index a86b845d9..90963d746 100644 --- a/charts/identity-mapper/templates/policy.yaml +++ b/charts/identity-mapper/templates/policy.yaml @@ -28,7 +28,7 @@ spec: {{- else }} default: "" {{- end }} - + - name: userProfile apiCall: urlPath: "/apis/workflows.internal.diamond.ac.uk/v1/useridentities/{{`{{ posixUidString }}`}}" @@ -48,7 +48,7 @@ spec: operator: NotEquals value: "" - + mutate: patchStrategicMerge: spec: diff --git a/charts/k6-operator/Chart.yaml b/charts/k6-operator/Chart.yaml index 9e4a71c0e..ccbdfa321 100644 --- a/charts/k6-operator/Chart.yaml +++ b/charts/k6-operator/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: k6-op description: k6 chart for k8s -version: 0.2.6 +version: 0.2.7 appVersion: "1.16.0" dependencies: - name: k6-operator diff --git a/charts/k6-operator/templates/k6-operator-configmap.yaml b/charts/k6-operator/templates/k6-operator-configmap.yaml index 4eed08079..e19d00667 100644 --- a/charts/k6-operator/templates/k6-operator-configmap.yaml +++ b/charts/k6-operator/templates/k6-operator-configmap.yaml @@ -5,4 +5,3 @@ metadata: namespace: {{ .Release.Namespace}} data: {{(.Files.Glob "tests/*.ts").AsConfig| indent 2}} - diff --git a/charts/k6-operator/templates/k6-probe-configmap.yaml b/charts/k6-operator/templates/k6-probe-configmap.yaml index dc11eca9c..73c535c21 100644 --- a/charts/k6-operator/templates/k6-probe-configmap.yaml +++ b/charts/k6-operator/templates/k6-probe-configmap.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: k6-ws-map namespace: {{ .Release.Namespace}} -data: +data: k6-ws-subscription-testrun.yaml: | apiVersion: k6.io/v1alpha1 kind: TestRun @@ -21,13 +21,13 @@ data: runner: env: - name: KEYCLOAK_CLIENT_ID - valueFrom: - secretKeyRef: + valueFrom: + secretKeyRef: name: graph-proxy-k6-auth key: KEYCLOAK_CLIENT_ID - name: KEYCLOAK_CLIENT_SECRET - valueFrom: - secretKeyRef: + valueFrom: + secretKeyRef: name: graph-proxy-k6-auth key: KEYCLOAK_CLIENT_SECRET - name: KEYCLOAK_TOKEN_URL @@ -133,4 +133,3 @@ spec: - name: k6-yaml configMap: name: k6-ws-map - diff --git a/charts/k6-operator/templates/k6-spam-workflows-testrun.yaml b/charts/k6-operator/templates/k6-spam-workflows-testrun.yaml index b601448b9..fe58b3284 100644 --- a/charts/k6-operator/templates/k6-spam-workflows-testrun.yaml +++ b/charts/k6-operator/templates/k6-spam-workflows-testrun.yaml @@ -59,4 +59,3 @@ spec: requests: cpu: 500m memory: 500Mi - diff --git a/charts/k6-operator/templates/k6-testrun.yaml b/charts/k6-operator/templates/k6-testrun.yaml index d57262da9..24b93dcf3 100644 --- a/charts/k6-operator/templates/k6-testrun.yaml +++ b/charts/k6-operator/templates/k6-testrun.yaml @@ -15,13 +15,13 @@ spec: runner: env: - name: KEYCLOAK_CLIENT_ID - valueFrom: - secretKeyRef: + valueFrom: + secretKeyRef: name: graph-proxy-k6-auth key: KEYCLOAK_CLIENT_ID - name: KEYCLOAK_CLIENT_SECRET - valueFrom: - secretKeyRef: + valueFrom: + secretKeyRef: name: graph-proxy-k6-auth key: KEYCLOAK_CLIENT_SECRET - name: KEYCLOAK_TOKEN_URL @@ -61,4 +61,3 @@ spec: requests: cpu: 500m memory: 500Mi - diff --git a/charts/k6-operator/templates/k6-ws-subscription-testrun.yaml b/charts/k6-operator/templates/k6-ws-subscription-testrun.yaml index 06e0a48e4..2c6858ae1 100644 --- a/charts/k6-operator/templates/k6-ws-subscription-testrun.yaml +++ b/charts/k6-operator/templates/k6-ws-subscription-testrun.yaml @@ -15,13 +15,13 @@ spec: runner: env: - name: KEYCLOAK_CLIENT_ID - valueFrom: - secretKeyRef: + valueFrom: + secretKeyRef: name: graph-proxy-k6-auth key: KEYCLOAK_CLIENT_ID - name: KEYCLOAK_CLIENT_SECRET - valueFrom: - secretKeyRef: + valueFrom: + secretKeyRef: name: graph-proxy-k6-auth key: KEYCLOAK_CLIENT_SECRET - name: KEYCLOAK_TOKEN_URL @@ -63,4 +63,3 @@ spec: requests: cpu: 500m memory: 500Mi - diff --git a/charts/kueue/Chart.yaml b/charts/kueue/Chart.yaml index 21a0b6337..ec13bc833 100644 --- a/charts/kueue/Chart.yaml +++ b/charts/kueue/Chart.yaml @@ -3,7 +3,7 @@ name: kueue description: A Kubernetes scheduler for managing workloads in a fair and efficient way. type: application -version: 0.1.3 +version: 0.1.4 dependencies: - name: kueue version: 0.19.0 diff --git a/charts/kueue/values.yaml b/charts/kueue/values.yaml index 0364208d8..7937f1002 100644 --- a/charts/kueue/values.yaml +++ b/charts/kueue/values.yaml @@ -6,7 +6,7 @@ kueue: cpu: "8" memory: 16Gi requests: - cpu: '4' + cpu: "4" memory: 8Gi managerConfig: controllerManagerConfigYaml: |- diff --git a/charts/monitoring/Chart.yaml b/charts/monitoring/Chart.yaml index d17deba82..561ca6bcb 100644 --- a/charts/monitoring/Chart.yaml +++ b/charts/monitoring/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: monitoring description: A monitoring stack for the workflows deployment type: application -version: 0.1.24 +version: 0.1.25 dependencies: - name: grafana repository: https://grafana.github.io/helm-charts diff --git a/charts/monitoring/grafana-dashboards/analysis-platform-dashboard.json b/charts/monitoring/grafana-dashboards/analysis-platform-dashboard.json index ae3318f83..56c7b3960 100644 --- a/charts/monitoring/grafana-dashboards/analysis-platform-dashboard.json +++ b/charts/monitoring/grafana-dashboards/analysis-platform-dashboard.json @@ -2649,4 +2649,4 @@ "title": "Analysis Platfrom", "uid": "vikvj96", "version": 10 -} \ No newline at end of file +} diff --git a/charts/monitoring/grafana-dashboards/k6-dash.json b/charts/monitoring/grafana-dashboards/k6-dash.json index 35f1c8ee2..54c0447b8 100644 --- a/charts/monitoring/grafana-dashboards/k6-dash.json +++ b/charts/monitoring/grafana-dashboards/k6-dash.json @@ -468,4 +468,3 @@ "version": 9, "weekStart": "" } - diff --git a/charts/monitoring/grafana-dashboards/kyverno-dash.json b/charts/monitoring/grafana-dashboards/kyverno-dash.json index 8b5368ebe..af77ae76b 100644 --- a/charts/monitoring/grafana-dashboards/kyverno-dash.json +++ b/charts/monitoring/grafana-dashboards/kyverno-dash.json @@ -3436,4 +3436,4 @@ "uid": "Rg8lWBG7k", "version": 2, "weekStart": "" -} \ No newline at end of file +} diff --git a/charts/monitoring/grafana-dashboards/postgres-dash.json b/charts/monitoring/grafana-dashboards/postgres-dash.json index d1d696f40..bf519222c 100644 --- a/charts/monitoring/grafana-dashboards/postgres-dash.json +++ b/charts/monitoring/grafana-dashboards/postgres-dash.json @@ -1456,4 +1456,4 @@ "title": "PostgreSQL Exporter Quickstart and Dashboard", "uid": "wGgaPlciz", "version": 5 -} \ No newline at end of file +} diff --git a/charts/prek.toml b/charts/prek.toml index 8f4e7b30a..4893981a3 100644 --- a/charts/prek.toml +++ b/charts/prek.toml @@ -5,7 +5,7 @@ hooks = [ id = "prettier", name = "prettier (charts yaml)", language = "system", - entry = "npx --yes prettier@3.6.2 --check", + entry = "npx --yes prettier@3.6.2 --write", files = "^[^/]+/[^/]*\\.ya?ml$", pass_filenames = true, }, diff --git a/charts/sessionspaces/Chart.yaml b/charts/sessionspaces/Chart.yaml index c099e754b..2d8905bd5 100644 --- a/charts/sessionspaces/Chart.yaml +++ b/charts/sessionspaces/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: sessionspaces description: Namespace controller for creating session namespaces type: application -version: 0.3.32 +version: 0.3.33 appVersion: 0.1.7 dependencies: - name: common diff --git a/charts/sessionspaces/charts/database/templates/service.yaml b/charts/sessionspaces/charts/database/templates/service.yaml index 99e111dee..acf2abc10 100644 --- a/charts/sessionspaces/charts/database/templates/service.yaml +++ b/charts/sessionspaces/charts/database/templates/service.yaml @@ -16,4 +16,3 @@ spec: targetPort: {{ $.Values.dbPort }} protocol: TCP {{- end }} - diff --git a/charts/workflows-cluster/Chart.yaml b/charts/workflows-cluster/Chart.yaml index d089841fb..8b7e68bae 100644 --- a/charts/workflows-cluster/Chart.yaml +++ b/charts/workflows-cluster/Chart.yaml @@ -3,7 +3,7 @@ name: workflows-cluster description: A virtual cluster for Data Analysis workflows type: application -version: 0.13.19 +version: 0.13.20 dependencies: - name: common version: 2.23.0 diff --git a/charts/workflows-cluster/charts/secrets/Chart.yaml b/charts/workflows-cluster/charts/secrets/Chart.yaml index 260ea3ec5..def006b12 100644 --- a/charts/workflows-cluster/charts/secrets/Chart.yaml +++ b/charts/workflows-cluster/charts/secrets/Chart.yaml @@ -9,4 +9,3 @@ dependencies: - name: common version: 2.23.0 repository: oci://docker.io/bitnamicharts - diff --git a/charts/workflows-cluster/charts/secrets/templates/argo-server-sso.yaml b/charts/workflows-cluster/charts/secrets/templates/argo-server-sso.yaml index 132e9368a..4acbd476b 100644 --- a/charts/workflows-cluster/charts/secrets/templates/argo-server-sso.yaml +++ b/charts/workflows-cluster/charts/secrets/templates/argo-server-sso.yaml @@ -27,4 +27,3 @@ spec: namespace: workflows {{ else }} {{- end }} - diff --git a/charts/workflows-cluster/charts/secrets/templates/argocd-oauth.yaml b/charts/workflows-cluster/charts/secrets/templates/argocd-oauth.yaml index 89a0b6d50..2c1099776 100644 --- a/charts/workflows-cluster/charts/secrets/templates/argocd-oauth.yaml +++ b/charts/workflows-cluster/charts/secrets/templates/argocd-oauth.yaml @@ -32,4 +32,3 @@ spec: type: Opaque {{ else }} {{- end }} - diff --git a/charts/workflows-cluster/charts/secrets/templates/graph-proxy-artifact.yaml b/charts/workflows-cluster/charts/secrets/templates/graph-proxy-artifact.yaml index a3e38168c..7389633e4 100644 --- a/charts/workflows-cluster/charts/secrets/templates/graph-proxy-artifact.yaml +++ b/charts/workflows-cluster/charts/secrets/templates/graph-proxy-artifact.yaml @@ -37,4 +37,3 @@ data: access-key: dXNlcm5hbWU= secret-key: cGFzc3dvcmQ= {{- end }} - diff --git a/charts/workflows-cluster/charts/secrets/templates/graph-proxy-k6-auth.yaml b/charts/workflows-cluster/charts/secrets/templates/graph-proxy-k6-auth.yaml index cc27e2600..2a9e47bab 100644 --- a/charts/workflows-cluster/charts/secrets/templates/graph-proxy-k6-auth.yaml +++ b/charts/workflows-cluster/charts/secrets/templates/graph-proxy-k6-auth.yaml @@ -2,7 +2,7 @@ apiVersion: bitnami.com/v1alpha1 kind: SealedSecret metadata: - name: graph-proxy-k6-auth + name: graph-proxy-k6-auth namespace: workflows spec: encryptedData: @@ -17,7 +17,7 @@ spec: apiVersion: bitnami.com/v1alpha1 kind: SealedSecret metadata: - name: graph-proxy-k6-auth + name: graph-proxy-k6-auth namespace: workflows spec: encryptedData: diff --git a/charts/workflows-cluster/charts/secrets/templates/s3-artifact.yaml b/charts/workflows-cluster/charts/secrets/templates/s3-artifact.yaml index 7bf261fef..7b4387601 100644 --- a/charts/workflows-cluster/charts/secrets/templates/s3-artifact.yaml +++ b/charts/workflows-cluster/charts/secrets/templates/s3-artifact.yaml @@ -37,4 +37,3 @@ data: access-key: dXNlcm5hbWU= secret-key: cGFzc3dvcmQ= {{- end }} - diff --git a/charts/workflows-cluster/charts/secrets/templates/sessionspaces-ispyb.yaml b/charts/workflows-cluster/charts/secrets/templates/sessionspaces-ispyb.yaml index 17c049d3a..7faf2b821 100644 --- a/charts/workflows-cluster/charts/secrets/templates/sessionspaces-ispyb.yaml +++ b/charts/workflows-cluster/charts/secrets/templates/sessionspaces-ispyb.yaml @@ -26,4 +26,3 @@ spec: namespace: workflows {{ else }} {{- end }} - diff --git a/charts/workflows-cluster/charts/secrets/templates/workflows-cluster-client.yaml b/charts/workflows-cluster/charts/secrets/templates/workflows-cluster-client.yaml index 636083d34..cbec6d8fa 100644 --- a/charts/workflows-cluster/charts/secrets/templates/workflows-cluster-client.yaml +++ b/charts/workflows-cluster/charts/secrets/templates/workflows-cluster-client.yaml @@ -28,4 +28,4 @@ spec: name: workflows-cluster-client namespace: workflows type: Opaque -{{- end }} \ No newline at end of file +{{- end }} diff --git a/charts/workflows-cluster/scripts/restore-vcluster-postgres.sh b/charts/workflows-cluster/scripts/restore-vcluster-postgres.sh index f6650a0ce..92a412629 100755 --- a/charts/workflows-cluster/scripts/restore-vcluster-postgres.sh +++ b/charts/workflows-cluster/scripts/restore-vcluster-postgres.sh @@ -25,10 +25,7 @@ if [[ "$CLUSTER" == vcluster* ]]; then fi echo "Restore complete." fi -else +else echo "ERROR: This script must be run inside the VCluster" exit 1 fi - - - diff --git a/charts/workflows-cluster/staging-values.yaml b/charts/workflows-cluster/staging-values.yaml index 2e4613422..a279141ae 100644 --- a/charts/workflows-cluster/staging-values.yaml +++ b/charts/workflows-cluster/staging-values.yaml @@ -116,35 +116,35 @@ authenticationConfiguration: claim: groups prefix: "oidc:" extra: - - key: 'workflows.diamond.ac.uk/posixuid' - valueExpression: "string(claims.?posix_uid.orValue(36055))" # use k8s-workflows uid - - key: 'workflows.diamond.ac.uk/is-service-account' - valueExpression: "claims.?fedid.hasValue() ? '' : 'true'" + - key: "workflows.diamond.ac.uk/posixuid" + valueExpression: "string(claims.?posix_uid.orValue(36055))" # use k8s-workflows uid + - key: "workflows.diamond.ac.uk/is-service-account" + valueExpression: "claims.?fedid.hasValue() ? '' : 'true'" claimValidationRules: - - expression: > - claims.?fedid.hasValue() - || - claims.?client_id.hasValue() - message: "Invalid access token (no fedid or client_id). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" - - expression: > - claims.?fedid.hasValue() - || - claims.?preferred_username.orValue('').startsWith('service-account-') - message: "Invalid access token (service-account tokens must use service-account-* preferred_username). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" - - expression: > - claims.?fedid.hasValue() - || - ( + - expression: > + claims.?fedid.hasValue() + || claims.?client_id.hasValue() - && - ['k6Operator'].exists(allowed, allowed == claims.client_id) - ) - message: "Invalid access token (service account not on allowed-list). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + message: "Invalid access token (no fedid or client_id). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + - expression: > + claims.?fedid.hasValue() + || + claims.?preferred_username.orValue('').startsWith('service-account-') + message: "Invalid access token (service-account tokens must use service-account-* preferred_username). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + - expression: > + claims.?fedid.hasValue() + || + ( + claims.?client_id.hasValue() + && + ['k6Operator'].exists(allowed, allowed == claims.client_id) + ) + message: "Invalid access token (service account not on allowed-list). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" userValidationRules: - - expression: "!user.username.startsWith('system:')" - message: 'username cannot use reserved system: prefix' - - expression: "user.groups.all(group, !group.startsWith('system:'))" - message: 'groups cannot use reserved system: prefix' + - expression: "!user.username.startsWith('system:')" + message: "username cannot use reserved system: prefix" + - expression: "user.groups.all(group, !group.startsWith('system:'))" + message: "groups cannot use reserved system: prefix" - issuer: url: https://identity-test.diamond.ac.uk/realms/dls audiences: @@ -163,35 +163,35 @@ authenticationConfiguration: claim: groups prefix: "oidc:" extra: - - key: 'workflows.diamond.ac.uk/posixuid' - valueExpression: "string(claims.?posix_uid.orValue(36055))" # use k8s-workflows uid - - key: 'workflows.diamond.ac.uk/is-service-account' - valueExpression: "claims.?fedid.hasValue() ? '' : 'true'" + - key: "workflows.diamond.ac.uk/posixuid" + valueExpression: "string(claims.?posix_uid.orValue(36055))" # use k8s-workflows uid + - key: "workflows.diamond.ac.uk/is-service-account" + valueExpression: "claims.?fedid.hasValue() ? '' : 'true'" claimValidationRules: - - expression: > - claims.?fedid.hasValue() - || - claims.?client_id.hasValue() - message: "Invalid access token (no fedid or client_id). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" - - expression: > - claims.?fedid.hasValue() - || - claims.?preferred_username.orValue('').startsWith('service-account-') - message: "Invalid access token (service-account tokens must use service-account-* preferred_username). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" - - expression: > - claims.?fedid.hasValue() - || - ( + - expression: > + claims.?fedid.hasValue() + || claims.?client_id.hasValue() - && - ['k6Operator'].exists(allowed, allowed == claims.client_id) - ) - message: "Invalid access token (service account not on allowed-list). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + message: "Invalid access token (no fedid or client_id). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + - expression: > + claims.?fedid.hasValue() + || + claims.?preferred_username.orValue('').startsWith('service-account-') + message: "Invalid access token (service-account tokens must use service-account-* preferred_username). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + - expression: > + claims.?fedid.hasValue() + || + ( + claims.?client_id.hasValue() + && + ['k6Operator'].exists(allowed, allowed == claims.client_id) + ) + message: "Invalid access token (service account not on allowed-list). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" userValidationRules: - - expression: "!user.username.startsWith('system:')" - message: 'username cannot use reserved system: prefix' - - expression: "user.groups.all(group, !group.startsWith('system:'))" - message: 'groups cannot use reserved system: prefix' + - expression: "!user.username.startsWith('system:')" + message: "username cannot use reserved system: prefix" + - expression: "user.groups.all(group, !group.startsWith('system:'))" + message: "groups cannot use reserved system: prefix" - issuer: url: https://authn.diamond.ac.uk/realms/master audiences: @@ -208,10 +208,10 @@ authenticationConfiguration: uid: claim: fedid extra: - - key: 'workflows.diamond.ac.uk/posixuid' - valueExpression: 'string(claims.posix_uid)' + - key: "workflows.diamond.ac.uk/posixuid" + valueExpression: "string(claims.posix_uid)" userValidationRules: - - expression: "!user.username.startsWith('system:')" - message: 'username cannot use reserved system: prefix' - - expression: "user.groups.all(group, !group.startsWith('system:'))" - message: 'groups cannot use reserved system: prefix' + - expression: "!user.username.startsWith('system:')" + message: "username cannot use reserved system: prefix" + - expression: "user.groups.all(group, !group.startsWith('system:'))" + message: "groups cannot use reserved system: prefix" diff --git a/charts/workflows-cluster/values.yaml b/charts/workflows-cluster/values.yaml index 9adda1eb2..525395fdb 100644 --- a/charts/workflows-cluster/values.yaml +++ b/charts/workflows-cluster/values.yaml @@ -40,7 +40,7 @@ vcluster: # difficult or impossible tag: 3.6.4-0 extraArgs: - - --quota-backend-bytes=8589934592 # 8Gi + - --quota-backend-bytes=8589934592 # 8Gi resources: requests: cpu: 4000m @@ -71,7 +71,7 @@ vcluster: addVolumes: - name: authn-config configMap: - name: "workflows-cluster-authn-config" # TODO: Replace with templated value "{{ include "common.names.fullname" $ }}-authn-config" + name: "workflows-cluster-authn-config" # TODO: Replace with templated value "{{ include "common.names.fullname" $ }}-authn-config" addVolumeMounts: - name: authn-config mountPath: /etc/authn-config @@ -170,7 +170,6 @@ vcluster: nodes: true pods: true - ingress: enabled: true host: kubernetes.workflows.diamond.ac.uk @@ -197,35 +196,35 @@ authenticationConfiguration: claim: groups prefix: "oidc:" extra: - - key: 'workflows.diamond.ac.uk/posixuid' - valueExpression: "string(claims.?posix_uid.orValue(36055))" # use k8s-workflows uid - - key: 'workflows.diamond.ac.uk/is-service-account' - valueExpression: "claims.?fedid.hasValue() ? '' : 'true'" + - key: "workflows.diamond.ac.uk/posixuid" + valueExpression: "string(claims.?posix_uid.orValue(36055))" # use k8s-workflows uid + - key: "workflows.diamond.ac.uk/is-service-account" + valueExpression: "claims.?fedid.hasValue() ? '' : 'true'" claimValidationRules: - - expression: > - claims.?fedid.hasValue() - || - claims.?client_id.hasValue() - message: "Invalid access token (no fedid or client_id). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" - - expression: > - claims.?fedid.hasValue() - || - claims.?preferred_username.orValue('').startsWith('service-account-') - message: "Invalid access token (service-account tokens must use service-account-* preferred_username). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" - - expression: > - claims.?fedid.hasValue() - || - ( + - expression: > + claims.?fedid.hasValue() + || claims.?client_id.hasValue() - && - ['k6Operator'].exists(allowed, allowed == claims.client_id) - ) - message: "Invalid access token (service account not on allowed-list). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + message: "Invalid access token (no fedid or client_id). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + - expression: > + claims.?fedid.hasValue() + || + claims.?preferred_username.orValue('').startsWith('service-account-') + message: "Invalid access token (service-account tokens must use service-account-* preferred_username). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" + - expression: > + claims.?fedid.hasValue() + || + ( + claims.?client_id.hasValue() + && + ['k6Operator'].exists(allowed, allowed == claims.client_id) + ) + message: "Invalid access token (service account not on allowed-list). See: https://diamondlightsource.github.io/workflows/docs/how-tos/authentication/" userValidationRules: - - expression: "!user.username.startsWith('system:')" - message: 'username cannot use reserved system: prefix' - - expression: "user.groups.all(group, !group.startsWith('system:'))" - message: 'groups cannot use reserved system: prefix' + - expression: "!user.username.startsWith('system:')" + message: "username cannot use reserved system: prefix" + - expression: "user.groups.all(group, !group.startsWith('system:'))" + message: "groups cannot use reserved system: prefix" - issuer: url: https://authn.diamond.ac.uk/realms/master audiences: @@ -242,10 +241,10 @@ authenticationConfiguration: uid: claim: fedid extra: - - key: 'workflows.diamond.ac.uk/posixuid' - valueExpression: 'string(claims.posix_uid)' + - key: "workflows.diamond.ac.uk/posixuid" + valueExpression: "string(claims.posix_uid)" userValidationRules: - - expression: "!user.username.startsWith('system:')" - message: 'username cannot use reserved system: prefix' - - expression: "user.groups.all(group, !group.startsWith('system:'))" - message: 'groups cannot use reserved system: prefix' + - expression: "!user.username.startsWith('system:')" + message: "username cannot use reserved system: prefix" + - expression: "user.groups.all(group, !group.startsWith('system:'))" + message: "groups cannot use reserved system: prefix" diff --git a/charts/workflows/Chart.yaml b/charts/workflows/Chart.yaml index ed5475d78..e57461525 100644 --- a/charts/workflows/Chart.yaml +++ b/charts/workflows/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: workflows description: Data Analysis workflow orchestration type: application -version: 0.13.61 +version: 0.13.62 dependencies: - name: argo-workflows repository: https://argoproj.github.io/argo-helm diff --git a/charts/workflows/charts/s3mock/templates/service.yaml b/charts/workflows/charts/s3mock/templates/service.yaml index d5b73865c..ac81afb87 100644 --- a/charts/workflows/charts/s3mock/templates/service.yaml +++ b/charts/workflows/charts/s3mock/templates/service.yaml @@ -16,4 +16,3 @@ spec: targetPort: {{ $.Values.bucketPort }} protocol: TCP {{- end }} - diff --git a/charts/workflows/templates/inject-envoy-sidecar-clusterpolicy.yaml b/charts/workflows/templates/inject-envoy-sidecar-clusterpolicy.yaml index da15963f1..11b271216 100644 --- a/charts/workflows/templates/inject-envoy-sidecar-clusterpolicy.yaml +++ b/charts/workflows/templates/inject-envoy-sidecar-clusterpolicy.yaml @@ -63,7 +63,7 @@ spec: - /bin/sh - -c # Configure Envoy Proxy for the following behaviour: - # + # # main container # POST http://127.0.0.1:6000/graphql # | diff --git a/charts/workflows/templates/pgpool-passwords-secret.yaml b/charts/workflows/templates/pgpool-passwords-secret.yaml index 3a78545b5..b572d5f95 100644 --- a/charts/workflows/templates/pgpool-passwords-secret.yaml +++ b/charts/workflows/templates/pgpool-passwords-secret.yaml @@ -9,4 +9,3 @@ data: {{- else }} admin-password: {{ randAlphaNum 24 | b64enc }} {{- end }} - diff --git a/charts/workflows/templates/postgres-secrets-policy.yaml b/charts/workflows/templates/postgres-secrets-policy.yaml index dfda745a5..7c287160d 100644 --- a/charts/workflows/templates/postgres-secrets-policy.yaml +++ b/charts/workflows/templates/postgres-secrets-policy.yaml @@ -67,12 +67,12 @@ spec: data: init.sql: | {{`{{ base64_encode(join('', [ - 'CREATE USER argo_workflows WITH PASSWORD \'', - base64_decode(argoSecret.data.password || ''), + 'CREATE USER argo_workflows WITH PASSWORD \'', + base64_decode(argoSecret.data.password || ''), '\'; ', 'CREATE DATABASE argo_workflows OWNER argo_workflows; ', - 'CREATE USER auth_user WITH PASSWORD \'', - base64_decode(authSecret.data.password || ''), + 'CREATE USER auth_user WITH PASSWORD \'', + base64_decode(authSecret.data.password || ''), '\'; ', 'CREATE DATABASE auth_service OWNER auth_user;' ])) }}`}} diff --git a/charts/workflows/templates/synchronize-artifact-s3-secret.yaml b/charts/workflows/templates/synchronize-artifact-s3-secret.yaml index 65206f818..e1178c0fd 100644 --- a/charts/workflows/templates/synchronize-artifact-s3-secret.yaml +++ b/charts/workflows/templates/synchronize-artifact-s3-secret.yaml @@ -118,7 +118,7 @@ spec: # Iterate target namespaces with the label and apply secret for ns in $(kubectl get ns -l "${LABEL_SELECTOR}" -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}'); do - echo "Syncing into namespace: ${ns}" + echo "Syncing into namespace: ${ns}" kubectl -n "${ns}" create secret generic "${SECRET_NAME}" \ --type="${SECRET_TYPE}" \ --from-literal=access-key="${ACCESS_KEY_VALUE}" \ diff --git a/charts/workflows/test-policy/localqueue/chainsaw-test.yaml b/charts/workflows/test-policy/localqueue/chainsaw-test.yaml index 627097254..cde666f76 100644 --- a/charts/workflows/test-policy/localqueue/chainsaw-test.yaml +++ b/charts/workflows/test-policy/localqueue/chainsaw-test.yaml @@ -26,4 +26,3 @@ spec: namespace: test-session-ns spec: clusterQueue: default-queue - diff --git a/docs/explanations/description-annotation.md b/docs/explanations/description-annotation.md index 966c2dcb7..76dcbaee4 100644 --- a/docs/explanations/description-annotation.md +++ b/docs/explanations/description-annotation.md @@ -1,3 +1,3 @@ # Description Annotation -On `WorkflowTemplate`s (`workflowtemplates.argoproj.io`) and `ClusterWorkflowTemplate`s (`clusterworkflowtemplates.argoproj.io`) the `workflows.argoproj.io/description` annotation is reserved for the specification of a plain text, human readable description. \ No newline at end of file +On `WorkflowTemplate`s (`workflowtemplates.argoproj.io`) and `ClusterWorkflowTemplate`s (`clusterworkflowtemplates.argoproj.io`) the `workflows.argoproj.io/description` annotation is reserved for the specification of a plain text, human readable description. diff --git a/docs/explanations/k6-overview.md b/docs/explanations/k6-overview.md index bb47f8e24..cb3180b8d 100644 --- a/docs/explanations/k6-overview.md +++ b/docs/explanations/k6-overview.md @@ -1,9 +1,9 @@ -Main files are in charts/k6-operator +Main files are in charts/k6-operator * Main changes made for k6: - - Allow machine account authentication @charts/workflows-cluster/values#186 - - Add scrape job for prometheus for k6 metrics @charts/otel-collector/values.yaml#92 - - Add myself to Grafana as admin @charts/monitoring/values.yaml#50 + - Allow machine account authentication @charts/workflows-cluster/values#186 + - Add scrape job for prometheus for k6 metrics @charts/otel-collector/values.yaml#92 + - Add myself to Grafana as admin @charts/monitoring/values.yaml#50 - hourly CronJob creates the WebSocket synthetic probe TestRun Synthetic probe success proves: @@ -17,25 +17,25 @@ with the end of the test printing: ``` █ TOTAL RESULTS - + checks_total.......: 1 0.001923/s checks_succeeded...: 100.00% 1 out of 1 checks_failed......: 0.00% 0 out of 1 - + ✓ keycloak token request succeeded - + HTTP http_req_duration..............: avg=759.38ms min=9.08ms med=78.24ms max=1m0s p(90)=126.57ms p(95)=187.29ms { expected_response:true }...: avg=244.64ms min=9.08ms med=77.77ms max=59.96s p(90)=119.68ms p(95)=177.96ms http_req_failed................: 0.86% 281 out of 32621 http_reqs......................: 32621 62.739816/s - + EXECUTION iteration_duration.............: avg=759.81ms min=9.4ms med=78.68ms max=1m0s p(90)=126.96ms p(95)=187.69ms iterations.....................: 32620 62.737892/s vus............................: 3 min=0 max=249 vus_max........................: 250 min=250 max=250 - + NETWORK data_received..................: 99 MB 189 kB/s data_sent......................: 66 MB 127 kB/s @@ -79,8 +79,8 @@ Pain points: Future tests/to-do: 1. Artifact verification -1. write config-map/test spam-workflows.ts -1. have rich telemetry/metrics output for grafana +1. write config-map/test spam-workflows.ts +1. have rich telemetry/metrics output for grafana 1. https://grafana.com/docs/k6/latest/results-output/real-time/opentelemetry/ 1. use Check ( charts/k6-operator/tests/ws-subscription.ts#78 or https://grafana.com/docs/k6/latest/using-k6/checks/) diff --git a/docs/explanations/template-labels.md b/docs/explanations/template-labels.md index 6686c001b..9101ab73f 100644 --- a/docs/explanations/template-labels.md +++ b/docs/explanations/template-labels.md @@ -50,4 +50,4 @@ metadata: workflows.diamond.ac.uk/repository: "https://github.com/DiamondLightSource/workflows" spec: entrypoint: workflow-entry -``` \ No newline at end of file +``` diff --git a/docs/explanations/title-annotation.md b/docs/explanations/title-annotation.md index 240b5cc9e..57fc63bee 100644 --- a/docs/explanations/title-annotation.md +++ b/docs/explanations/title-annotation.md @@ -1,3 +1,3 @@ # Title Annotation -On `WorkflowTemplate`s (`workflowtemplates.argoproj.io`) and `ClusterWorkflowTemplate`s (`clusterworkflowtemplates.argoproj.io`) the `workflows.argoproj.io/title` annotation is reserved for the specification of a plain text, human readable title. \ No newline at end of file +On `WorkflowTemplate`s (`workflowtemplates.argoproj.io`) and `ClusterWorkflowTemplate`s (`clusterworkflowtemplates.argoproj.io`) the `workflows.argoproj.io/title` annotation is reserved for the specification of a plain text, human readable title. diff --git a/docs/how-tos/create-artifacts.md b/docs/how-tos/create-artifacts.md index eed3faeb4..600330caf 100644 --- a/docs/how-tos/create-artifacts.md +++ b/docs/how-tos/create-artifacts.md @@ -136,7 +136,7 @@ The complete workflow is provided below for reference. ## Templating The Path -In the above example we have written the path straight into the workflow, but the path is also template-able. +In the above example we have written the path straight into the workflow, but the path is also template-able. We cannot template the path in the above example, as the command parameter is defined at the top level of parameters. Below is a similar example where the path has been templated. @@ -161,7 +161,7 @@ spec: - name: bash inputs: parameters: - - name: name + - name: name - name: output_path container: image: busybox @@ -184,9 +184,9 @@ spec: - name: say-hello template: bash arguments: - parameters: + parameters: - name: name value: YOUR NAME - name: output_path value: "/tmp/my-file.txt" -``` \ No newline at end of file +``` diff --git a/docs/how-tos/create-writeable-container.md b/docs/how-tos/create-writeable-container.md index a6eea914f..78d7ebea3 100644 --- a/docs/how-tos/create-writeable-container.md +++ b/docs/how-tos/create-writeable-container.md @@ -35,7 +35,7 @@ spec: parameters: - name: command value: | - echo "Hello world!" + echo "Hello world!" ``` In its current state, the container is unable to write to its own filesystem. To enable this, we must mount a temporary volume to the container. This requires two things: a volume claim and a volume mount. For a temporary volume, we add the following below the entrypoint. This provides 1GB of temporary storage to use in this pod, and further pods, which we mount to whatever path is described in the container. @@ -82,7 +82,7 @@ spec: - name: say-hello template: bash arguments: - parameters: + parameters: - name: command value: | echo "This is my message!" > /tmp/my-file.txt diff --git a/docs/how-tos/mount-filesystem.md b/docs/how-tos/mount-filesystem.md index c82deb6b0..da51f1e49 100644 --- a/docs/how-tos/mount-filesystem.md +++ b/docs/how-tos/mount-filesystem.md @@ -47,7 +47,7 @@ spec: - name: hostpath-mount-example container: image: docker.io/library/busybox:latest - command: + command: - tree - /dls/session volumeMounts: @@ -126,7 +126,7 @@ spec: - name: hostpath-mount-example container: image: docker.io/library/busybox:latest - command: + command: - tree - /dls/session volumeMounts: @@ -151,4 +151,3 @@ spec: values: - "true" ``` - diff --git a/docs/requirements.txt b/docs/requirements.txt index bb1adda89..a0c9353f1 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1 @@ mkdocs-techdocs-diamond - diff --git a/docs/tutorials/ptypy-workflows.md b/docs/tutorials/ptypy-workflows.md index 84b2e65ee..a06b48ed9 100644 --- a/docs/tutorials/ptypy-workflows.md +++ b/docs/tutorials/ptypy-workflows.md @@ -60,7 +60,7 @@ for PtyPy, for example the following multi-stage Dockerfile in the box below mamba env update -n base -f dependencies.yml && \ mamba env update -n base -f dependencies_cufft.yml - # Pull from platform specific image and install ptypy + # Pull from platform specific image and install ptypy FROM ${PLATFORM} as build COPY pyproject.toml setup.py ./ COPY ./scripts ./scripts @@ -91,7 +91,7 @@ for PtyPy, for example the following multi-stage Dockerfile in the box below ### Building a container -To build a container image `ptypy-container` with openmpi as the MPI backend and CuPy as the backend for PtyPy, +To build a container image `ptypy-container` with openmpi as the MPI backend and CuPy as the backend for PtyPy, we can use the following podman command ```bash @@ -168,7 +168,7 @@ For each task, we need to specify a command and its arguments that we would like image: gcr.io/diamond-privreg/ptypy/test_openmpi_full:0.1 command: - mpirun - args: + args: - "-n" - "{{ inputs.parameters.nprocs }}" - "ptypy.cli" @@ -248,7 +248,7 @@ like described above. ### GPU resources -For GPU jobs, we need to add entries for ```nvidia.com/gpu``` in both the resource ```requests``` and +For GPU jobs, we need to add entries for ```nvidia.com/gpu``` in both the resource ```requests``` and ```limits```. In addition, we also need to add some ```tolerations```: ```yaml @@ -308,7 +308,7 @@ to our template and mount it into our container like so container: volumeMounts: - name: tmpdir - mountPath: /tmp + mountPath: /tmp ``` ## Examples diff --git a/docs/tutorials/your-first-workflow.md b/docs/tutorials/your-first-workflow.md index f1947b6ac..9fc38732a 100644 --- a/docs/tutorials/your-first-workflow.md +++ b/docs/tutorials/your-first-workflow.md @@ -133,7 +133,7 @@ into that. Now we have have our venv configured, we can do some pre-processing to inform the next step. The pre-processing step accepts our bounds and step as we described above. Here I print the range and output it as an artifact for -convenience, but this isn't necessary. See the +convenience, but this isn't necessary. See the [creating artifacts page](https://diamondlightsource.github.io/workflows/docs/how-tos/create-artifacts/) for further information about this. diff --git a/examples/conventional-templates/dawn-powder-calibration.yaml b/examples/conventional-templates/dawn-powder-calibration.yaml index 7f6dbd376..91a660e6b 100644 --- a/examples/conventional-templates/dawn-powder-calibration.yaml +++ b/examples/conventional-templates/dawn-powder-calibration.yaml @@ -159,5 +159,5 @@ spec: script: image: busybox command: [/bin/sh, "-c"] - args: + args: - echo {{ workflow.parameters.confpath }} | sed 's![^/]*$!!' diff --git a/examples/conventional-templates/live-clustertemplate.yaml b/examples/conventional-templates/live-clustertemplate.yaml index 96b49a9d3..157cb3167 100644 --- a/examples/conventional-templates/live-clustertemplate.yaml +++ b/examples/conventional-templates/live-clustertemplate.yaml @@ -9,7 +9,7 @@ metadata: workflows.argoproj.io/description: | Example live-priority workflow. workflows.diamond.ac.uk/repository: "https://github.com/DiamondLightSource/workflows" - + spec: workflowMetadata: @@ -33,5 +33,3 @@ spec: sleep 3 done echo "finished" - - diff --git a/examples/conventional-templates/numpy-benchmark.yaml b/examples/conventional-templates/numpy-benchmark.yaml index c42b6d710..ea1496f95 100644 --- a/examples/conventional-templates/numpy-benchmark.yaml +++ b/examples/conventional-templates/numpy-benchmark.yaml @@ -66,7 +66,7 @@ spec: source: | python -m venv /tmp/venv /tmp/venv/bin/pip install numpy - + - name: numpy-test inputs: parameters: diff --git a/examples/conventional-templates/pytorch.yaml b/examples/conventional-templates/pytorch.yaml index 5c00a61ad..1acebff44 100644 --- a/examples/conventional-templates/pytorch.yaml +++ b/examples/conventional-templates/pytorch.yaml @@ -37,11 +37,11 @@ spec: echo "done" - name: matrix-multiplication - inputs: + inputs: parameters: - name: size value: 1024 - script: + script: image: pytorch/pytorch volumeMounts: - name: tmpdir @@ -86,11 +86,11 @@ spec: none: {} - name: workflow-entry - dag: + dag: tasks: - name: install-dependencies template: install-dependencies - + - name: matrix-multiplication template: matrix-multiplication arguments: diff --git a/examples/helm-based-templates/templates/notebook.yaml b/examples/helm-based-templates/templates/notebook.yaml index 66c66339d..841b34a65 100644 --- a/examples/helm-based-templates/templates/notebook.yaml +++ b/examples/helm-based-templates/templates/notebook.yaml @@ -53,7 +53,7 @@ spec: dag: tasks: - name: files - template: mount-files + template: mount-files - name: convert template: convert-notebook dependencies: [files] diff --git a/examples/helm-based-templates/templates/pytorch-notebook.yaml b/examples/helm-based-templates/templates/pytorch-notebook.yaml index af04fb765..4631ddfe0 100644 --- a/examples/helm-based-templates/templates/pytorch-notebook.yaml +++ b/examples/helm-based-templates/templates/pytorch-notebook.yaml @@ -24,7 +24,7 @@ spec: templates: - name: mount-files - script: + script: image: pytorch/pytorch:2.8.0-cuda12.9-cudnn9-runtime command: [bash] source: | @@ -60,11 +60,11 @@ spec: none: {} - name: workflow-entry - dag: + dag: tasks: - name: mount-files template: mount-files - + - name: run-notebook template: run-notebook dependencies: [mount-files] diff --git a/workflows-cli/template-boilerplate/conventional-templates/README.md b/workflows-cli/template-boilerplate/conventional-templates/README.md index 0e9611864..7e9f89dbe 100644 --- a/workflows-cli/template-boilerplate/conventional-templates/README.md +++ b/workflows-cli/template-boilerplate/conventional-templates/README.md @@ -2,4 +2,3 @@ These templates are really good for tasks that will not require any external data. For more info about creating WorkflowTemplates, please have a look at the [docs](https://diamondlightsource.github.io/workflows/docs/) - diff --git a/workflows-cli/template-boilerplate/helm-based-templates/README.md b/workflows-cli/template-boilerplate/helm-based-templates/README.md index 2104d7c04..6a30ea1b1 100644 --- a/workflows-cli/template-boilerplate/helm-based-templates/README.md +++ b/workflows-cli/template-boilerplate/helm-based-templates/README.md @@ -2,4 +2,3 @@ These templates are really good for tasks requiring external data. e.g. a Jupyter Notebook For more info about creating WorkflowTemplates, please have a look at the [docs](https://diamondlightsource.github.io/workflows/docs/) -