...
- Setup EPICS_CA_ADDR_LIST if needed,
- Phoebus environ if needed
Python SoftIOC workflow
Setup a target container
For this kind of IOC it's recommended to use the docker image: baltig.infn.it:4567/epics-containers/epics-py-base since it contains the required packages and will be also the image that will be used to run this kind of softioc.
...
https://baltig.infn.it/infn-epics/py-ioc-collector
Follow development guidelines
SOFT IOC Development SoftIOC in a Linux-like environment
Deploy on the target ECS
Once your IOC/application is tested and ready to be published on the target ECS.
Follow this steps:
- Identify your target ECS information page (i.e Sparc ECS ) retrieving "GIT Control Source" URL, clone it:
Code Block language bash title Full CS git clone https://baltig.infn.it/lnf-da-control/<BEAMLINE>-k8s-ecs.git --recurse-submodules - go in deploy/templates
- create a manifest yaml for your application like this:
Code Block language yml title Application yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: <myapplicationname>-ioc namespace: argocd labels: rootapp: {{ .Chart.Name }} rootappver: {{ .Chart.Version | quote }} beamline: {{ .Values.beamline | quote }} spec: project: default source: repoURL: 'https://baltig.infn.it/epics-containers/ioc-chart.git' path: . targetRevision: HEAD helm: values: | image: baltig.infn.it:4567/epics-containers/epics-py-base beamline: {{ .Values.beamline | quote }} replicaCount: {{ .Values.consoleReplica }} configCA: existingConfigMap: {{ .Values.configCA.configName | quote}} address_list: {{ .Values.configCA.gatewayName }} ## override with gateway gitRepoConfig: url: 'http://<your repo url>' path: '<path to reach your app and conf... usually just .>' branch: 'main' init: 'true' start: '/epics/ioc/config/start.sh' destination: server: 'https://kubernetes.default.svc' namespace: {{ .Values.namespace | quote }} syncPolicy: automated: prune: true # Optional: Automatically remove resources not specified in Helm chart selfHeal: true - (i.e Sparc ECS )