Commit Graph

320 Commits

Author SHA1 Message Date
38785d79b7 Create codeql-analysis.yml 2021-11-10 13:42:48 +01:00
ac6ce56c38 Remove flaky test case 2021-11-10 13:11:38 +01:00
dcc869cd94 Fix after updating golangci-lint
v1.43
2021-11-10 13:11:38 +01:00
fff67246d6 Infinite busy waiting for lost event (#31)
* Close evaluation stream for Nomad Job creation
 when set event handler have been finished

* Remove evaluation event stream requests
by handling the events via the main Nomad event handler.
2021-11-10 09:57:40 +01:00
4db1ceb41e Fix Bug with the runner recovery
that the runners of the environment 10 are also recovered for the environment 1.
2021-10-22 16:24:55 +02:00
24b22f2c40 Fix racing condition
when creating a Nomad job in the e2e tests
2021-10-22 16:23:51 +02:00
ba6e7035fa Mark runner as used now asynchronously. 2021-10-22 16:23:51 +02:00
055fa43227 Create a new runner async after one gets claimed 2021-10-22 16:23:51 +02:00
dff3df9cc7 Merge pull request #18 from openHPI/nomad-readme
Add instructions on setting up Nomad for Poseidon
2021-10-21 11:45:21 +02:00
d5722a20c7 Add instructions on setting up Nomad for Poseidon 2021-10-21 11:24:25 +02:00
eb4dd9433c Merge pull request #17 from openHPI/update-deploy-reference
Update git submodule for ansible-deployment
2021-10-21 10:58:21 +02:00
669fd48166 Merge pull request #15 from openHPI/ignore-idea-files
Exclude IntelliJ and GoLand files
2021-10-21 10:57:22 +02:00
990f294a4b Merge pull request #16 from openHPI/hostname_hint
Specify usage of hostnames in the config
2021-10-21 10:49:09 +02:00
bd80dd729f Add milliseconds to the logging timestamp 2021-10-21 10:34:31 +02:00
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
4fcbd442ca Exclude IntelliJ and GoLand files 2021-10-21 10:12:31 +02:00
5b79b9fc20 Update git submodule for ansible-deployment 2021-10-21 10:10:49 +02:00
cb20ba6caa Specify usage of hostnames in the config 2021-10-21 10:07:33 +02:00
71cf21abce Configure an ansible playbook (#5)
* Configure an ansible playbook
to copy all required configurations to a Poseidon host.

* Copy also all TLS certificates if configured

* Exclude playbook in its own repository

* Adjust security.md to our current recommendations

* Add certificate generation and deployment

* Move access policy example file to the resources folder
2021-10-12 11:06:59 +02:00
af506dd26f Fix Bug that only runner routes get registered with authorization. 2021-10-12 10:32:59 +02:00
791f997846 Fix broken link in docs/nomad_usage.md 2021-10-11 20:28:34 +02:00
e59073fcb2 Merge pull request #12 from openHPI/upgrade-dependencies
Upgrade dependencies
2021-10-11 19:27:42 +02:00
1a0d71a4cd Update Go Modules 2021-10-11 18:39:15 +02:00
6aa9deba39 Add dependency management commands to Makefile
* `make upgrade-deps`
* `make tidy-deps`
2021-10-11 18:39:15 +02:00
8461c24dbe Merge pull request #10 from openHPI/dependabot
Add dependabot auto updates
2021-10-08 18:51:21 +02:00
3be00b18a1 Add dependabot auto updates 2021-10-05 11:53:46 +02:00
9d7e59df36 Change authorization header key (#6)
* Change authorization header key

as the use of headers starting with X- has been deprecated in RFC6648.

* Update configuration.example.yaml

Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com>
2021-10-04 12:23:41 +02:00
b530c58ee8 Merge pull request #2 from openHPI/feature/github-actions
Migrate from GitLab CI/CD to GitHub actions
2021-09-09 15:26:06 +02:00
9b106f4cd8 Fix linting issues
An update of golangci-lint yielded new linting issues. This commit
fixes them.
2021-08-05 13:40:48 +02:00
aae0c6e377 Migrate from GitLab CI/CD to GitHub actions (#1)
This also adds a new Dockerfile for a e2e-test-image, as the old
image was hosted on our private registry. By having the image located
near the code, we don't have to rely on images on external registries.
2021-08-05 13:40:48 +02:00
c8c5357b8c Rename module for GitHub 2021-07-30 16:43:05 +02:00
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
4ad470a5c4 Rename execution.Storage to Storer to follow Go convention
Interfaces should be named like someone actively doing a thing. Thus,
instead of Storage we use Storer.
2021-07-30 14:26:44 +02:00
bd14b1e181 Move execution storage to new package 2021-07-30 14:26:44 +02:00
8197235f1c Add Poseidon icon 2021-07-30 12:22:10 +00:00
3c2e85ed4a Correct destination of nomad-ca.crt template to be inside NOMAD_SECRETS_DIR 2021-07-30 12:08:56 +00:00
8fcb5f3581 Add attribution for Poseidon icon 2021-07-30 09:16:30 +02:00
3b6c616d9c Describe purpose of Poseidon 2021-07-29 15:03:41 +00:00
a1366a9f76 Split README documentation into multiple files inside the docs folder 2021-07-29 15:03:41 +00:00
de6edeedcc Add docs on how to avoid Nomad rate limiting
Without this configuration, Nomad caps the maximum concurrent connections
of a unique client to 100. This is not sufficient for our use case.
2021-07-29 14:07:22 +00:00
f03d07cd54 Add LICENSE 2021-07-29 13:42:39 +00:00
c21b85b32a Add missing copyright header 2021-07-29 13:42:39 +00:00
c9d6cd5996 Move runner interactivity timer to own file
Previously, the interactivity timer was implemented in the same file
as the runner. This made the file long and the project structure more
complicated.
2021-07-29 13:30:46 +00:00
5c9f975285 Update api.tpl.nomad to allow configuration Nomad ACL Token for Poseidon 2021-07-29 12:49:17 +00:00
67ebdbd650 Add option to configure template job HCL file
Previously, the template job HCL file was hardcoded using go:embed
in the binary. However, this did not allow users running Poseidon
to change its content. Now, users can change the content of the
template job HCL file using the configuration option.
2021-07-29 11:54:36 +00:00
12da813081 Describe how Poseidon abstracts from Nomad 2021-07-29 11:32:52 +00:00
81eccbdf9c Remove custom deployment watcher script
As of version 1.1.2 of Nomad, the CLI monitors job deployments by
default until they are finished. Thus our custom job deployment
watcher script is not required anymore.
2021-07-29 09:57:04 +00:00
3564cf767e Update Nomad dependencies to 1.1.2 2021-07-29 09:57:04 +00:00
210a048b5e Update api.tpl.nomad to allow configuring TLS to Nomad through gitlab 2021-07-29 09:43:21 +00:00
01d16600b0 Document activating TLS between Poseidon and Nomad 2021-07-29 09:43:21 +00:00