Maximilian Paß
d64d8995bd
Refactor monitoring of runner and environment id.
2023-07-15 21:46:56 +02:00
Maximilian Paß
e7df777db4
Always log Runner and Environment ID.
...
Systematically log the runner id and the environment id by adding the information at the findRunnerMiddleware.
2023-07-15 21:46:56 +02:00
Maximilian Paß
0c8fa9ccfa
Add context to log statements.
2023-04-11 20:45:30 +01:00
Maximilian Paß
2650efbb38
Sentry Tracing Identifier
2023-02-03 10:29:18 +00:00
Maximilian Paß
f2c205a8ed
Add additional performance spans
2023-02-03 10:29:18 +00:00
Maximilian Paß
8950ab3776
Add single quotes for inner command.
...
Change to bash as interpreter.
Forbid single quotes for user commands.
2022-11-04 15:15:43 +01:00
Maximilian Paß
28fb0ca61c
Catch context canceled error
2022-10-25 09:36:52 +02:00
Maximilian Paß
195f88177e
Add Content-Length and Content-Disposition Header
...
for GetFileContent route.
2022-10-05 12:11:47 +01:00
Maximilian Paß
0c70ad3b24
Enable unprivileged retrieve of file listing and content.
2022-10-05 12:11:47 +01:00
Maximilian Paß
3469d0ce77
Specify http not found exit code
...
by replacing it with StatusGone (410) for a missing runner and StatusFailedDependency (424) for missing or not accessible files.
2022-10-05 12:11:47 +01:00
Maximilian Paß
fc77f11d4d
Enquote file path for shell execution.
...
Also, fix json of 500 response.
2022-10-05 12:11:47 +01:00
Maximilian Paß
152b77afe5
Add listing of runners file system.
2022-10-05 12:11:47 +01:00
Maximilian Paß
c7ee7c1e25
Remove superfluous response.WriteHeader call
...
as the Write of the responseWriter automatically sends also the Header.
2022-10-05 12:11:47 +01:00
Maximilian Paß
f2b25566dd
#136 Copy files back from Nomad runner.
2022-10-05 12:11:47 +01:00
Maximilian Paß
498e8f5ff5
#110 Refactor influxdb monitoring
...
to use it as singleton.
This enables the possibility to monitor processes that are independent of an incoming request.
2022-07-01 15:29:31 +02:00
Maximilian Paß
1e59c1146e
Fix CodeQL log injection warning
...
by removing newlines from logged user input.
2022-06-07 17:21:05 +02:00
Maximilian Paß
25f92e5f94
Add environment specific data to the influxdb data.
2022-04-18 13:17:49 +02:00
Maximilian Paß
eabe3a1b27
Add the Environment ID to the influxdb data.
...
Also move the interface of an execution environment into its own file, execution_environment.go.
2022-04-18 13:17:49 +02:00
Maximilian Paß
8feffdae3a
Add initial structure of influxdb monitoring.
2022-04-18 13:17:49 +02:00
Maximilian Paß
ba43f667c2
Add architecture for multiple managers
...
using the chain of responsibility pattern.
2022-02-28 14:54:40 +01:00
Maximilian Paß
2f5b30702a
Fix early write
...
Because some clients fail receiving a response before the body is sent entirely. See https://github.com/openHPI/poseidon/issues/54
2021-12-16 23:44:13 +01:00
Maximilian Paß
34d4bb7ea0
Implement routes to list, get and delete execution environments
...
* #9 Implement routes to list, get and delete execution environments.
A refactoring was required to introduce the ExecutionEnvironment interface.
* Fix MR comments, linting issues and bug that lead to e2e test failure
* Add e2e tests
* Add unit tests
2021-10-21 10:33:52 +02:00
Maximilian Paß
c8c5357b8c
Rename module for GitHub
2021-07-30 16:43:05 +02:00
sirkrypt0
36dc99f019
Don't embed the execution.Storer interface into a runner
...
Previously, the execution.Storer interface was embedded in the Runner interface.
However, this resulted in calls like runner.Add(...) to add an execution to the
store which is kind of ugly. Thus, we decided to add only the required functions to
the runner interface and make the execution.Storer a field of the implementation.
2021-07-30 14:28:06 +02:00
sirkrypt0
bd14b1e181
Move execution storage to new package
2021-07-30 14:26:44 +02:00
Jan-Eric Hellenberg
6a60b6cd89
Add config option to enable (m)TLS between Poseidon and Nomad
2021-07-29 09:43:21 +00:00
sirkrypt0
8b26ecbe5f
Restructure project
...
We previously didn't really had any structure in our project apart
from creating a new folder for each package in our project root.
Now that we have accumulated some packages, we use the well-known
Golang project layout in order to clearly communicate our intent
with packages. See https://github.com/golang-standards/project-layout
2021-07-21 12:55:35 +02:00