Skip to content

Commit

Permalink
Detail out schema
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelldls committed Jun 4, 2024
1 parent 873ed61 commit 3a70856
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 20 deletions.
2 changes: 1 addition & 1 deletion Charts/ioc-instance/values.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# yaml-language-server: $schema=../../Schemas/beamline.json#/$defs/base
# yaml-language-server: $schema=../../Schemas/ioc-instance.json#/$defs/base

# default values for all IOCs
# see end of file for values that may be overridden per individual IOC
Expand Down
127 changes: 108 additions & 19 deletions Schemas/ioc-instance.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,58 +4,147 @@
"type": "object",
"properties": {
"beamline": {
"type": "string"
"type": "string",
"description": "The beamline name."
},
"location": {
"type": "string",
"description": "The location where the IOCs will run - same as beamline for beamlines"
},
"ioc_group": {
"type": "string"
"type": "string",
"description": "The name of the repository in which the IOC is grouped - same as beamline for beamlines"
},
"location": {
"type": "string"
"startCommand": {
"type": "string",
"description": "The command run as the entry point of the container.",
"default": "bash"
},
"hostNetwork": {
"type": "boolean"
"type": "boolean",
"description": "Use host network for IOC - required for Channel Access to work outside of the cluster"
},
"useAffinity": {
"type": "boolean"
"type": "boolean",
"description": "Run only on nodes with label beamline:<beamline-name> or location:<location-name>"
},
"iocFolder": {
"type": "string"
"type": "string",
"description": "Root folder for ioc source/binaries inside generic IOC container",
"default": "/epics/ioc"
},
"iocConfig": {
"type": "string"
"type": "string",
"description": "Root folder for ioc source/binaries inside generic IOC container",
"default": "/epics/ioc/config"
},
"stop": {
"type": "string"
"type": "string",
"description": "Script run before stopping the IOC",
"default": "/epics/ioc/stop.sh"
},
"liveness": {
"type": "string"
"type": "string",
"description": "Script for determining the liveness of the IOC",
"default": "/epics/ioc/liveness.sh"
},
"globalEnv": {
"type": "string"
"type": "string",
"description": ""
},
"securityContext": {
"type": "string"
"type": "object",
"description": "Override runAsXXX in the individual IOC values.yaml",
"properties": {
"allowPrivilegeEscalation": {
"type": "boolean",
"description": "",
"default": "false"
},
"runAsUser": {
"type": "string"
},
"runAsGroup": {
"type": "string"
},
"capabilities": {
"type": "object"
},
"readOnlyRootFilesystem": {
"type": "string"
},
"runAsNonRoot": {
"type": "string"
}
}
},
"image": {
"type": "string"
"type": "string",
"description": ""
},
"dataVolume": {
"type": "string"
"type": "object",
"description": "A volume to mount for writing data to. This can be a PVC or a hostPath",
"properties": {
"pvc": {
"type": "boolean",
"description": "Create a PVC called {{ .Release.Name }}-data when true",
"default": "true"
},
"hostPath": {
"type": "string",
"description": "A path on the host machine to write data into. Also used as the path that the pvc or hostPath will be mounted at so that users need not be confused about inside/outside container paths",
"default": "/data"
}
}
},
"opisClaim": {
"type": "string"
"type": "string",
"description": "Use the shared PVC for publishing opi files over http (see services/opis)"
},
"runtimeClaim": {
"type": "string"
"type": "string",
"description": "Use the shared PVC for holding runtime files for each IOC"
},
"autosaveClaim": {
"type": "string"
"type": "string",
"description": "Use the shared PVC autosave files (exclude for no autosave)"
},
"resources": {
"type": "string"
"type": "object",
"description": "Set resource limits",
"properties": {
"limits": {
"type": "object",
"properties":{
"cpu": {
"type": "string",
"default": "500m"
},
"memory": {
"type": "string",
"default": "256Mi"
}
}
},
"requests": {
"type": "object",
"properties":{
"cpu": {
"type": "string",
"default": "100m"
},
"memory": {
"type": "string",
"default": "64Mi"
}
}
}
}
},
"tolerations": {
"type": "string"
"type": "object",
"description": "Extra tolerations if needed"
}
},
"additionalProperties": false
Expand Down

0 comments on commit 3a70856

Please sign in to comment.