Skip to content
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
d4784bb
Add script to export config schema, add to pre commit hook
dan-fernandes Jul 7, 2025
38e6599
Change config_schema.json output location, add helm-schema to pre-commit
dan-fernandes Jul 7, 2025
8b6b325
Add jsonschema
dan-fernandes Jul 7, 2025
bc35cae
Switch helm schema generator to helm-values-schema-generator
dan-fernandes Jul 7, 2025
fda27f6
Annotate worker with schema ref, remove additionalProperties
dan-fernandes Jul 8, 2025
23e1d44
Add install helma-values-schema-json plugin as step in Dockerfile
dan-fernandes Jul 8, 2025
4d1c83d
Add accidentally removed whitespace
dan-fernandes Jul 8, 2025
aa4efd7
Merge branch 'main' into add-values-json-schema
dan-fernandes Jul 8, 2025
627b307
Add config-schema option to cli
dan-fernandes Jul 8, 2025
aa3e82a
Change pre commit to use blueapi config-schema rather than custom script
dan-fernandes Jul 8, 2025
817fce3
Fix broken export-config-schema hook
dan-fernandes Jul 8, 2025
ec4948c
Add file dependencies to export-config-schema
dan-fernandes Jul 8, 2025
5cdd60f
Add github action to install relevant helm plugin, invoke in _test.ym…
dan-fernandes Jul 8, 2025
ee81b59
Make config-schema pretty print to file
dan-fernandes Jul 8, 2025
04d76a7
Add empty initResources object to inform schema
dan-fernandes Jul 8, 2025
42eeea8
Update docstring
dan-fernandes Jul 8, 2025
df3b8a1
Fix export-config-schema regex (hopefully..)
dan-fernandes Jul 8, 2025
d12d18a
Update helm README.md
dan-fernandes Jul 8, 2025
e5a4181
Change helm-docs-container to helm-docs-built
dan-fernandes Jul 8, 2025
4a09874
Merge branch 'fix-helm-docs-hook' into add-values-json-schema
dan-fernandes Jul 8, 2025
085954c
Remove extra line at end of README.md
dan-fernandes Jul 8, 2025
1bb6b87
Remove extra line at end of README.md
dan-fernandes Jul 8, 2025
c53086a
Exclude helm README.md from end-of-file-fixer
dan-fernandes Jul 8, 2025
8642a45
Fix regex
dan-fernandes Jul 8, 2025
aabe8a1
Merge branch 'fix-helm-docs-hook' into add-values-json-schema
dan-fernandes Jul 9, 2025
67c02d0
Regenerate README.md
dan-fernandes Jul 9, 2025
3fed2cf
De-abstract installing helm plugins
dan-fernandes Jul 9, 2025
ced668e
Add test_config_schema_updated
dan-fernandes Jul 9, 2025
89dbd27
Remove export-config-schema pre-commit hook
dan-fernandes Jul 9, 2025
33fc7a3
Remove unused import
dan-fernandes Jul 9, 2025
dabb2f6
Add exact path to values.yaml
dan-fernandes Jul 9, 2025
425ddae
Add fail message to test_config_schema_updated
dan-fernandes Jul 9, 2025
ccfa601
Merge branch 'main' into add-values-json-schema
dan-fernandes Jul 9, 2025
e135689
Refactor config_schema
dan-fernandes Jul 9, 2025
f62dc6a
Reword error message
dan-fernandes Jul 10, 2025
2551548
Add test_config_schema
dan-fernandes Jul 10, 2025
3f6319c
Merge branch 'main' into add-values-json-schema
dan-fernandes Jul 10, 2025
f5da1bd
Fix merge issue
dan-fernandes Jul 10, 2025
c9b5054
Remove test_config_schema reliance on config_schema.json
dan-fernandes Jul 10, 2025
bbf0dcb
Lint
dan-fernandes Jul 10, 2025
92aa509
Update .pre-commit-config.yaml
dan-fernandes Jul 23, 2025
a422ed3
Remove comment
dan-fernandes Jul 23, 2025
ca37308
Remove unecessary DeepDiff use
dan-fernandes Jul 23, 2025
f097161
Refactor test_config_schema to remove dependency on deepdiff
dan-fernandes Jul 24, 2025
f12d433
Remove unused improt
dan-fernandes Jul 24, 2025
e8d9bc9
Remove default fields
dan-fernandes Jul 24, 2025
ab5e7cb
Update additional properties
dan-fernandes Jul 24, 2025
f194bfe
Update values.schema.json
dan-fernandes Jul 24, 2025
1e47fcc
Update dev-requirements.txt
dan-fernandes Jul 28, 2025
593305f
Remove editable packages from dev-requirements
dan-fernandes Jul 28, 2025
f85fdaa
Merge branch 'main' into add-values-json-schema
dan-fernandes Jul 28, 2025
24d1dea
Remove duplicate requirements
dan-fernandes Jul 28, 2025
1dbab6c
Update config_schema.json
dan-fernandes Jul 28, 2025
1ddd98e
Remove helm plugin install from _test.yml
dan-fernandes Jul 28, 2025
6f3b0eb
Merge commit '82a80c0fb821635578fe9e1122a49685149ac866' into add-valu…
DiamondJoseph Aug 11, 2025
20a4ded
Pass required config through .schema.yaml
DiamondJoseph Aug 11, 2025
3fdb002
Apply suggestions from code review
DiamondJoseph Aug 11, 2025
541930c
Merge branch 'main' into add-values-json-schema
dan-fernandes Aug 12, 2025
c8f2c4d
Merge branch 'main' into add-values-json-schema
DiamondJoseph Aug 18, 2025
9be1fd7
Merge branch 'main' into add-values-json-schema
dan-fernandes Aug 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ jobs:
with:
python-version: ${{ inputs.python-version }}
pip-install: ".[dev]"

Comment thread
DiamondJoseph marked this conversation as resolved.
Outdated
- name: Install helm plugins
run: helm plugin install https://github.com/losisin/helm-values-schema-json.git

- name: Run tests
run: tox -e tests
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/_tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ jobs:

- name: Install python packages
uses: ./.github/actions/install_requirements


- name: Install helm plugins
run: helm plugin install https://github.com/losisin/helm-values-schema-json.git

- name: Run tox
run: tox -e ${{ inputs.tox }}
9 changes: 8 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ repos:
exclude: ^helm\/.*\/templates\/.*|catalog-info.yaml
- id: check-merge-conflict
- id: end-of-file-fixer
exclude: "helm\/blueapi\/README.md"
Comment thread
dan-fernandes marked this conversation as resolved.
Outdated

- repo: local
hooks:
Expand All @@ -25,9 +26,15 @@ repos:
require_serial: true

- repo: https://github.com/norwoodj/helm-docs
rev: ""
rev: ""
hooks:
- id: helm-docs-built
args:
# Make the tool search for charts only under the `helm` directory
- --chart-search-root=helm

- repo: https://github.com/losisin/helm-values-schema-json
rev: v1.7.2
hooks:
- id: helm-schema
args: ["--values", "helm/blueapi/values.yaml"]
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/s
chmod 700 get_helm.sh; \
./get_helm.sh; \
rm get_helm.sh
RUN helm plugin install https://github.com/losisin/helm-values-schema-json.git

# Set up a virtual environment and put it in PATH
RUN python -m venv /venv
Expand Down
22 changes: 22 additions & 0 deletions helm/blueapi/.schema.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# .schema.yaml
Comment thread
dan-fernandes marked this conversation as resolved.

values:
- values.yaml

draft: 2020
indent: 4
output: values.schema.json

bundle: true
bundleRoot: .
bundleWithoutID: false

useHelmDocs: false

noAdditionalProperties: false

schemaRoot:
id: https://example.com/schema
title: Helm Values Schema
description: Schema for Helm values
additionalProperties: false
1 change: 1 addition & 0 deletions helm/blueapi/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ A Helm chart deploying a worker pod that runs Bluesky plans
| initContainer | object | `{"enabled":false,"persistentVolume":{"enabled":false,"existingClaimName":""}}` | Configure the initContainer that checks out the scratch configuration repositories |
| initContainer.persistentVolume.enabled | bool | `false` | Whether to use a persistent volume in the cluster or check out onto the mounted host filesystem If persistentVolume.enabled: False, mounts scratch.root as scratch.root in the container |
| initContainer.persistentVolume.existingClaimName | string | `""` | May be set to an existing persistent volume claim to re-use the volume, else a new one is created for each blueapi release |
| initResources | object | `{}` | Override resources for init container. By default copies resources of main container. |
| livenessProbe | object | `{"failureThreshold":3,"httpGet":{"path":"/healthz","port":"http"},"periodSeconds":10}` | Liveness probe, if configured kubernetes will kill the pod and start a new one if failed consecutively. This is automatically disabled when in debug mode. |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | May be required to run on specific nodes (e.g. the control machine) |
Expand Down
Loading