Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
9f01e9e
akoflow runtimes: modularizando runtimes
ovvesley Feb 3, 2025
062fc95
akoflow runtimes: acoplando em kubernetes service
ovvesley Feb 3, 2025
aaa2f18
akoflow runtimes: executando de acordo com o runtime
ovvesley Feb 3, 2025
8401015
akoflow runtimes: monitores executando de acordo com o runtime
ovvesley Feb 6, 2025
aa6af5d
garbage collector disabled
ovvesley Feb 6, 2025
a08ed3a
akoflow runtimes: criando workflows com runtimes
ovvesley Feb 7, 2025
fbc6d81
akoflow runtimes: worker run singularity command
ovvesley Feb 10, 2025
d126659
singularity: executando um novo processo e recuperando o PID
ovvesley Feb 12, 2025
70438cf
gitignore: ignorando arquivo .db e .sif
ovvesley Feb 12, 2025
ba9816a
sqlite: salvando arquivo no caminho relativo do sistema
ovvesley Feb 12, 2025
a415fcd
monitor: implementando script bash que irá recuperar para cada ativid…
ovvesley Feb 14, 2025
4531587
monitor: recuperando CPU e Memoria total da atividade
ovvesley Feb 15, 2025
1a475d4
monitor: quando todas as atividades concluir terminar o workflow e re…
ovvesley Feb 17, 2025
68a291f
monitor: carregando o dashboard
ovvesley Feb 18, 2025
4b91e32
singularity: adicionando montage
ovvesley Feb 19, 2025
bda4163
scratch: conectando pela VPN e por SSH no SDumont.
ovvesley Feb 19, 2025
e32d94b
sdumont: submentendo jobs no sdumont
ovvesley Feb 23, 2025
ee092bd
sdumont: recuperando job id na submissão do job
ovvesley Feb 25, 2025
6382658
sdumont: criando recurso de volume, envinando imagem e código para o …
ovvesley Feb 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .devcontainer/dev.Dockerfile
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ RUN apk add --no-cache gcc libc-dev sqlite git curl graphviz
COPY go.mod go.sum ./
RUN go mod download

RUN go install golang.org/x/tools/gopls@v0.16.2 && \
go install honnef.co/go/tools/cmd/staticcheck@latest
RUN go install golang.org/x/tools/gopls@v0.16.2 && \
go install honnef.co/go/tools/cmd/staticcheck@v0.5.0

COPY . .

Expand Down
3 changes: 2 additions & 1 deletion .devcontainer/devcontainer.json
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@
]
}
},
"remoteUser": "root"
"remoteUser": "root",
"runArgs": ["--privileged"]
}
9 changes: 9 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
AKOFLOW_VERSION=0.1.0
SDUMONT_GATEWAY=...
SDUMONT_USER=...
SDUMONT_GROUP=...
SDUMONT_GROUP_PASSWORD=...
SDUMONT_PASSWORD=...
SDUMONT_PROJECT=...
SDUMONT_QUEUE=...
SDUMONT_HOST_CLUSTER=...
5 changes: 4 additions & 1 deletion .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,7 @@ storage/*
.DS_Store
__debug**
releases/bin/*
**akoflow.log**
**akoflow.log**
*.db
*.sif
.env
3 changes: 0 additions & 3 deletions .vscode/launch.json
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"request": "launch",
"mode": "debug",
"program": "cmd/server/main.go",
"cwd": "/app/",
"env": {
"K8S_API_SERVER_HOST": "localhost",
"K8S_API_SERVER_TOKEN": "dummy",
Expand All @@ -20,7 +19,6 @@
"request": "launch",
"mode": "debug",
"program": "cmd/client/main.go",
"cwd": "/app/",
"args": ["run", "-host", "localhost", "-port", "8080", "-file", "test.yaml"],
},

Expand All @@ -30,7 +28,6 @@
"request": "launch",
"mode": "debug",
"program": "cmd/client/main.go",
"cwd": "/app/",
"args": ["install", "--hosts", "root:root@172.17.0.3:22,root:root@172.17.0.4:22"],
}
]
Expand Down
Empty file modified .vscode/tasks.json
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified cmd/client/README.md
100644 → 100755
Empty file.
Empty file modified cmd/client/main.go
100644 → 100755
Empty file.
Empty file modified cmd/server/README.md
100644 → 100755
Empty file.
3 changes: 1 addition & 2 deletions cmd/server/main.go
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package main

import (
"github.com/ovvesley/akoflow/pkg/server/config"
"github.com/ovvesley/akoflow/pkg/server/engine/garbagecollector"
"github.com/ovvesley/akoflow/pkg/server/engine/httpserver"
"github.com/ovvesley/akoflow/pkg/server/engine/monitor"
"github.com/ovvesley/akoflow/pkg/server/engine/orchestrator"
Expand All @@ -18,7 +17,7 @@ func main() {
go worker.New().StartWorker()
go orchestrator.StartOrchestrator()
go monitor.StartMonitor()
go garbagecollector.StartGarbageCollector()
// go garbagecollector.StartGarbageCollector()
httpserver.StartServer()

}
Empty file modified go.mod
100644 → 100755
Empty file.
Empty file modified go.sum
100644 → 100755
Empty file.
Empty file modified pkg/client/cli/cli_service/cli_service.go
100644 → 100755
Empty file.
Empty file.
Empty file modified pkg/client/cli/cli_service/run_cli_service/run_cli_service.go
100644 → 100755
Empty file.
Empty file modified pkg/client/connector/server_connector/server_connector.go
100644 → 100755
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
)

type IWorkflow interface {
Run(host string, port string, base64FileContent string)
Create(host string, port string, base64FileContent string)
}

type Workflow struct {
Expand All @@ -29,15 +29,15 @@ type ResponsePostRunWorkflowConnector struct {
Message string `json:"message"`
}

func (w *Workflow) Run(host string, port string, base64FileContent string) {
func (w *Workflow) Create(host string, port string, base64FileContent string) {

payload := ResponsePostRunWorkflowConnector{
Workflow: base64FileContent,
}

payloadJson, _ := json.Marshal(payload)

req, _ := http.NewRequest("POST", "http://"+host+":"+port+"/akoflow-server/workflow/run/", bytes.NewBuffer(payloadJson))
req, _ := http.NewRequest("POST", "http://"+host+":"+port+"/akoflow-server/workflow/", bytes.NewBuffer(payloadJson))

req.Header.Set("Content-Type", "application/json")

Expand Down
Empty file modified pkg/client/entities/pegasus_workflow/pegasus_workflow.go
100644 → 100755
Empty file.
Empty file modified pkg/client/entities/ssh_client/ssh_client_entity.go
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/extras/montage-2d.yml
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/extras/wf-1d.yaml
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/gawa/akf-wf-gawa-distributed.yaml
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/k8s/deployment-workflow-00.yaml
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/k8s/job-0-workflow-00.yaml
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/k8s/job-1-workflow-00.yaml
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/k8s/pvc-workflow-00.yaml
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified pkg/client/resource/montage-wf/README.md
100644 → 100755
Empty file.
Empty file modified pkg/client/resource/montage-wf/montage.example.Dockerfile
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified pkg/client/resource/montage-wf/wf-montage-050d/README.md
100644 → 100755
Empty file.
Empty file.
Empty file modified pkg/client/resource/montage-wf/wf-montage-050d/mosaic-color.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file modified pkg/client/resource/montage-wf/wf-montage-100d/mosaic-color.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Empty file.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Empty file.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Empty file.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
36 changes: 36 additions & 0 deletions pkg/client/resource/runtimes/hello-world-singularity.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: akf-wf-singularity
spec:
runtime: "singularity"
image: "/home/ovvesley/Workspace/singularity/sifs/ubuntu-minimal.sif"
storagePolicy:
type: default

mountPath: "/data-akoflow"
activities:
- name: step01
image: "/home/ovvesley/Workspace/singularity/sifs/ubuntu-minimal.sif"
run: |
stress --cpu 1 --timeout 300s --vm 1 --vm-bytes 100M
memoryLimit: 1G
cpuLimit: 1

- name: step02
image: "/home/ovvesley/Workspace/singularity/sifs/ubuntu-minimal.sif"
run: |
stress --cpu 1 --timeout 300s --vm 1 --vm-bytes 100M
memoryLimit: 1G
cpuLimit: 1

- name: step03
image: "/home/ovvesley/Workspace/singularity/sifs/ubuntu-minimal.sif"
run: |
stress --cpu 2 --timeout 300s --vm 1 --vm-bytes 100M
memoryLimit: 1G
cpuLimit: 1

- name: step04
image: "/home/ovvesley/Workspace/singularity/sifs/ubuntu-minimal.sif"
run: |
stress --cpu 2 --timeout 300s --vm 1 --vm-bytes 100M
memoryLimit: 1G
cpuLimit: 1
Loading