Commit Graph

80 Commits

Author SHA1 Message Date
Christoph Kluge
a2ebebd7f6 Remove role label array from frontend
- made centralized role array uncentralized again
2023-02-01 14:49:10 +01:00
Christoph Kluge
7fb94c33cf Add API call for frontend to fetch list of valid roles from backend
- only relevant for admin config (addUser, editRole)
- admin only (double-checked)
2023-01-30 17:01:11 +01:00
Christoph Kluge
7d4f4ab2c8 Merge branch 'master' into 40_45_82_update_roles 2023-01-30 14:33:44 +01:00
Christoph Kluge
186c8f7311 Fix user display configrations not persisting in SQLite table
- Was missing user.username key
2023-01-30 14:33:12 +01:00
Christoph Kluge
dd5e0682a1 Fix test file, add suer table project column to test.db 2023-01-30 14:03:44 +01:00
Christoph Kluge
c4d91039e2 Add support role to tag count
- works equal to admin
2023-01-30 13:48:27 +01:00
Christoph Kluge
2590ce7e44 Adapt count tags for managers 2023-01-30 13:43:12 +01:00
Christoph Kluge
b2aed2f16b Add 'project' to user table, add 'manager' role, conditional web render
- Addresses issues #40 #45 #82
- Reworked Navigation Header for all roles
- 'Manager' role added, can be assigned a project-id in config by admins
- BREAKING! -> Added 'project' column in SQLite3 table 'user'
- Manager-Assigned project will be added to all graphql filters: Only show Jobs and Users of given project
- 'My Jobs' Tab for all Roles
- Switched from Bool "isAdmin" to integer authLevels
- Removed critical data frontend logging
- Reworked repo.query.SecurityCheck()
2023-01-27 18:36:58 +01:00
Christoph Kluge
834f9d9085 Add role helper functions, add project role barebone, add valid role arr
- HasAnyRoles([]string): Checks if user has *one* of the roles
- HasAllRoles([]string): Cheks if user has *all* of the roles
- HasNotRoles([]string): Checks if user has *none* of the roles
- IsValidRole(string): Checks if given string is known valid role
2023-01-25 16:59:16 +01:00
Christoph Kluge
b0cd88bba1
Merge pull request #77 from giesselmann/serial_archiving
archive jobs in single worker thread
2023-01-12 15:12:11 +01:00
Pay Giesselmann
c4bdff2210 do not close channel on wait 2022-12-08 16:21:56 +01:00
Pay Giesselmann
a0f7a598ad archive jobs in single worker thread 2022-12-08 15:04:58 +01:00
Pay Giesselmann
c3749f0f36 add prometheus metricdata backend 2022-12-08 13:51:44 +01:00
Jan Eitzinger
ded5cda6ba
Merge pull request #75 from giesselmann/fix_remove_role_support
Fix remove role support
2022-11-30 14:49:56 +01:00
Jan Eitzinger
c7eaccd3b5
Merge pull request #73 from ClusterCockpit/feature-62-rest-endpoint-delete-jobs
Feature 62 rest endpoint delete jobs
Fix #62
2022-11-30 14:48:44 +01:00
Christoph Kluge
a39fc73345 Rerun swagger and fix typo 2022-11-30 12:40:07 +01:00
Pay Gießelmann
e5573a9b29
Fix remove role support 2022-11-30 11:46:32 +01:00
Jan Eitzinger
fd16a1b637 Fix cnt query scan. Cosmetic changes. 2022-11-25 15:15:05 +01:00
Pay Giesselmann
f736b7ff68 preserve job state in StopJob 2022-11-24 15:26:07 +01:00
Pay Giesselmann
e4a1422e05 secure addJob with mutex 2022-11-24 15:25:03 +01:00
Jan Eitzinger
948da8f10b Review Sagger config. Delete Job endpoints 2022-11-11 15:26:27 +01:00
Joachim Meyer
574d941c6c Upon start job, compare start time against all matching jobs.
For requeued jobs, we might have multiple jobs with matching cluster and job id, but differing start time. So check all of the matching ones against the start time.
2022-11-09 11:49:36 +01:00
Michael Schwarz
f817ac5240 Accept externally generated JWTs provided via cookie
If there is an external service like an AuthAPI that can generate JWTs and
  hand them over to ClusterCockpit via cookies, CC can be configured to
  accept them
2022-10-19 13:36:13 +02:00
Christoph Kluge
21b03d02b2 Swagger definition URL now based on config.json Addr field 2022-09-27 10:33:36 +02:00
Christoph Kluge
24f9d4f934 Add buildInfo to frontend footer 2022-09-27 09:56:17 +02:00
Jan Eitzinger
918a07735d
Merge branch 'master' into dev-job-archive-module 2022-09-26 15:12:46 +02:00
Jan Eitzinger
9ae7a813fa Restructure import job test due to db handle clash 2022-09-23 16:11:35 +02:00
Jan Eitzinger
5c715b6ec2 Add test for import job handler. Improve error messages. 2022-09-23 15:23:45 +02:00
Christoph Kluge
c9184a7575 Move identical parts of stopJob routines to new function
- No solution for two swagger doc annotations for one function (ie function handles two inputs) found
- Also: Delete handwritten openapi.yaml
2022-09-23 11:59:18 +02:00
Christoph Kluge
b96c515c2c Small additions to 'getJobs' API docs 2022-09-22 13:32:40 +02:00
Christoph Kluge
93713edcac Add '401 unauthorized' to api docs 2022-09-21 17:13:55 +02:00
Christoph Kluge
872bc77708 Add missing error codes to documentation, fix wrong success type 2022-09-21 17:03:01 +02:00
Christoph Kluge
6712b15034 Better represent 'exclusiveMinimum' from JSON schemata 2022-09-21 14:21:13 +02:00
Christoph Kluge
94c77d8a67 Small additions to swagger docs 2022-09-21 14:12:24 +02:00
Christoph Kluge
05a84cb95c Extend parsed swagger documentation by adding comments 2022-09-21 11:54:19 +02:00
Jan Eitzinger
35114aeb2d Cleanup. Fix failing test 2022-09-20 13:07:46 +02:00
Jan Eitzinger
e8d7722c42 Add json schema validation for config file 2022-09-19 16:16:05 +02:00
Christoph Kluge
9f9462496a Move swagger comment from TagJobApiRequest to Tag 2022-09-16 13:18:50 +02:00
Jan Eitzinger
24f374ed36 Fix API tag data type 2022-09-16 11:21:27 +02:00
Christoph Kluge
705f76fa3a Remove GitHub merge comment lines 2022-09-16 10:12:37 +02:00
Jan Eitzinger
6325f02ba2 Merge branch 'dev-job-archive-module' of github.com:ClusterCockpit/cc-backend into dev-job-archive-module 2022-09-16 06:28:07 +02:00
Jan Eitzinger
f1941b5e67 Reconfigure Swagger integration. Regenerate API docs 2022-09-16 06:09:55 +02:00
Christoph Kluge
922e94e835 Fix API data types, use unsecured router for /docs
- Note: Use /docs swagger playground without login
- Otherwise: Session User will be used which leads to role mismatch
2022-09-15 17:38:11 +02:00
Christoph Kluge
8e90c954ff First commit for swagger api documentation, not yet fully functional
- Problems with JWT auth (eg startJob fails with missing role)
- Manually fixed auto-parsing errors (missing api.TagJobApiRequest, wrong API @Description)
2022-09-15 12:37:44 +02:00
Jan Eitzinger
777f225e91 Add option for json validation 2022-09-13 15:22:20 +02:00
Jan Eitzinger
732801548f Enable caching for job metric data 2022-09-13 15:21:50 +02:00
Jan Eitzinger
520c814e3b Introduce import job flag 2022-09-13 15:20:07 +02:00
Jan Eitzinger
adc22f6bc1
Merge branch 'master' into config-component 2022-09-13 09:05:07 +02:00
Jan Eitzinger
d8aaa26c27 Cleanup and small fixes 2022-09-13 07:38:18 +02:00
Jan Eitzinger
00fc5f4774 Remove to set ArrayJobId on DB Init 2022-09-12 14:51:51 +02:00