Run and monitor a workflow
Go to file
2025-05-20 09:25:54 +02:00
conf Adapted some of the steps of the executeInside()'s method to work with the updated Admiralty environment, using execution id as namespace, serviceAccount naming convention and adding the serviceAccount in the workflow's YAML. Logging not working yet. 2025-04-14 18:21:33 +02:00
demo_nginx oclib 2024-11-07 13:36:28 +01:00
docs updated README 2025-05-15 17:29:33 +02:00
logger removed the debug comments 2025-05-19 18:58:33 +02:00
models restructured the different package, cleaned some non used code, added comments, still have to reorganize packages to optimize packages 2025-04-17 16:53:36 +02:00
tools removed the debug comments 2025-05-19 18:58:33 +02:00
utils new logging in GetExecution() 2025-05-06 17:27:38 +02:00
workflow_builder Corrected how some parameters were passed to log the right ressources 2025-05-15 12:05:52 +02:00
.gitignore conf 2024-08-06 11:42:59 +02:00
docker_schedulerd.json Merge branch 'feature/namespace' into main 2025-02-18 08:24:22 +01:00
Dockerfile added entrypoint 2025-04-14 18:22:31 +02:00
env.env test 2025-04-28 14:01:57 +02:00
exemple.yml oclib 2024-11-07 13:36:28 +01:00
go.mod fixing package import 2025-04-29 12:23:44 +02:00
go.sum Merge branch 'feature/admiralty' 2025-04-29 12:07:43 +02:00
LICENSE.md Téléverser les fichiers vers "/" 2024-10-03 10:53:51 +02:00
main.go Corrected how some parameters were passed to log the right ressources 2025-05-15 12:05:52 +02:00
Makefile adjustment 2025-03-28 08:45:57 +01:00
oc-monitord adjustment 2025-03-28 08:45:57 +01:00
README.md updated README 2025-05-15 17:29:33 +02:00
test-logs-workflow.json oclib 2024-11-07 13:36:28 +01:00

oc-monitor

DO : make build

Summary

oc-monitord is a daemon which can be run :

  • as a binary
  • as a container

It is used to perform several actions regarding the execution of an Open Cloud workflow :

  • generating a YAML file that can be interpreted by Argo Workflow to create and execute pods in a kubernetes environment
  • setting up the different resources needed to execute a workflow over several peers/kubernetes nodes with Admiralty : token, secrets, targets and sources
  • creating the workflow and logging the output from
    • Argo watch, which gives informations about the workflow in general (phase, number of steps executed, status...)
    • Pods : which are the logs generated by the pods

To execute, the daemon needs several options :

  • -u :
  • -m :
  • -d :
  • -e :

Notes features/admiralty-docker

  • When executing monitord as a container we need to change any url with "localhost" to the container's host IP.

    We can :

    • declare a new parameter 'HOST_IP'
    • decide that no peer can have "http://localhost" as its url and use an attribute from the peer object or isMyself() from oc-lib if a peer is the current host.

TODO

  • Allow the front to known on which IP the service are reachable

    • currently doing it by using kubectl get nodes -o wide
  • Implement writing and reading from S3 bucket/MinIO when a data resource is linked to a compute resource.

Adding ingress handling to support reverse proxing

  • Test wether ingress-nginx is running or not
    • Do something if not found : stop running and send error log OR start installation