Commit Graph
110 Commits
Author SHA1 Message Date
Jordan Brown 4fb8151238 Update Submodules DB Setting 2021-08-28 15:16:01 -04:00
Jordan Brown 5da8ad9a23 Adds timeouts to deployments
- New internal API field.
- Migrations.
- New job ErrorCode.
- Integration test.
- New DreamMaker right.
2021-08-26 18:11:07 -04:00
Jordan Brown 686a1694c6 Adds option to change DreamDaemon visibility
- API Version bump to 9.2.0.
- Add DreamDaemonVisibility enum.
- Add DreamDaemonLaunchParameters.Visibility, requires relaunch to adjust.
- Add DreamDaemonResponse.CurrentVisibility.
- Add ReattachInformation.LaunchVisibility.
- Add DreamDaemonRights.SetVisibility.
- Fix DreamDaemonRights.SetAdditionalParameters not giving POST access to /DreamDaemon.
- Add migrations.
- Add permissions tests.
- SessionControllerFactory now handles setting visibility parameter.
2021-08-25 14:54:00 -04:00
Jordan Brown 4630bdfcc0 Add submodule updates
- Refactor some progress handlers to be ODR compliant
- Add `submoduleUpdate` to RepositoryRequest
- Add `RepoSubmoduleUpdate` event script
2021-08-11 06:10:04 -04:00
Jordan Brown a2fb0bbe45 Graceful shutdowns on POSIX
- Sending `SIGUSR1` on POSIX will now attempt to gracefully shutdown the watchdog with a timeout
- Added `General:ShutdownTimeoutMinutes` config to support this.
- Renamed `General:RestartTimeout` to `General:RestartTimeoutMinutes`
- Config version bump to `4.0.0`
- Core version bump to `4.13.0`
- Added unit tests for new `PosixSignalHandler` class.
2021-08-04 12:34:56 -04:00
Jordan Brown 630335ca5e Fix single server swarms update deadlock
Credit @ZeWaka for finding this bug
2021-06-15 13:55:24 -04:00
Jordan Brown 84e003cd7a Merge branch 'master' of https://github.com/tgstation/tgstation-server into 1252-StylecopThePlanet 2021-05-09 19:28:18 -04:00
Jordan Brown b9586c7fee The great stylecop update
Beware those that read into this commit. Here there be style conformance...

Closes #1252
2021-05-09 19:27:09 -04:00
Jordan Brown 1e9e97f0cb Regression test for #1256 2021-05-09 10:29:34 -04:00
Jordan Brown ac4a1c7f9b Add the Request/Response namespaces to Api.Models 2021-02-10 22:10:22 -05:00
Jordan Brown 47ea890040 WIP: Redoing request/response models 2021-02-10 11:07:08 -05:00
Jordan Brown 654cfd846d Another rate limit exception test failure [TGSDeploy] 2021-01-27 20:35:20 -05:00
Jordan Brown 1cd07f3006 Catch rate limit exception that was failing tests
Progress on #1206
[TGSDeploy]
2021-01-27 17:13:38 -05:00
Jordan Brown 490061c057 Use 4.8.1 as the test update version 2021-01-26 14:12:31 -05:00
Jordan Brown 9014e4f7cc Fix swarm updates initiated from the controller failing 2021-01-25 20:10:01 -05:00
Jordan Brown 2e8f1e701a Adds more integration tests 2020-12-30 22:41:41 -05:00
Jordan Brown 9cdaef0410 Remove all debug conditionals
- Add a down migrations comment
2020-12-30 11:43:41 -05:00
Cyberboss f25fda747d Improved cleanup in swarm test 2020-12-28 13:33:35 -05:00
Cyberboss bc90c13322 Adds swarm integration test 2020-12-28 11:00:10 -05:00
Cyberboss f5fcf331d3 Switch all DateTimeOffset.Now references to UtcNow 2020-12-27 20:21:30 -05:00
Jordan Brown cba2904292 Merge branch 'dev' into 1078-UserGroups 2020-12-18 00:32:45 -05:00
Jordan Brown eb709d136b Adds pagination
- Add generic Paginated<TModel> for pagination responses.
- Added pagination helper to ApiController.
- Implemented pagination for all previously IEnumerable<T> response endpoints.
- Added IApiTransformable<TApiModel> for host models finally.
- Added PaginationSettings to client List endpoints.
- Use two deprecated ErrorCodes for page parameter validation.
- Re-enabled to OpenAPI root array response lint.
- Add some integration tests with users.
2020-12-17 23:49:06 -05:00
Jordan Brown 47fe8306bf Small amount of test logging 2020-12-16 11:54:38 -05:00
Jordan Brown 19cd1aac19 Stop using a groups user in integration test
We know it works. If we really need to test it we should make a dedicated paralled instance test. Currently it just causes permissions issues.
2020-12-16 11:14:05 -05:00
Jordan Brown 23205978f6 Fix integration test permission issues 2020-12-14 22:14:08 -05:00
Jordan Brown 3e62191257 Adds UserGroups
- Added MinimumLength to several existing and new
StringLengthAttributes.
- Refactored permissions off User model to new PermissionSet model.
- Added UserGroups, which contain their own PermissionSet. A user can
have either a UserGroup or dedicated PermissionSet.
- Added UserGroupController and client for handling groups.
- Renamed InstanceUser to InstancePermissionSet and associated it with
PermissionSets instead of Users.
- Inject active permission sets into AuthenticationContext.
- Sanitize away top level child properties of client request bodies
(hopefully).
- Added groups integration tests. Main test now runs in a group context.
- Added migrations with hand-written transition SQL.
- Resetting the admin user disassociates them from any groups.

Fuck this huge commit
2020-12-14 17:07:59 -05:00
Jordan Brown bc505c2446 Diverse test merging big commit 2020-12-06 19:37:20 -05:00
Jordan Brown 2838170350 Merge branch 'dev' into 786-GitHostAgnosia 2020-12-05 00:16:16 -05:00
Jordan Brown 1e52811434 Abstract test merging per git provider 2020-12-04 23:49:20 -05:00
Jordan Brown a513c22c23 Fix integration tests 2020-11-24 16:06:15 -05:00
Jordan Brown 8b189d9fd3 Minor integration test timeout buff [DMDeploy] 2020-10-20 13:36:09 -04:00
Jordan Brown 21dac248eb Fix a certain reattach timeout 2020-08-20 17:56:20 -04:00
Jordan Brown 1003c22481 Tired of these fucking rate limits GitHub!!! 2020-08-19 22:25:06 -04:00
Jordan Brown 02d2ee723a Give a longer timeout to reattach jobs in integration test 2020-08-05 00:36:59 -04:00
Jordan Brown 722567ded8 Fix auto updates not clearing merged PRs 2020-07-27 22:23:58 -04:00
Jordan Brown 6399c4cbf1 Process output streaming fixes 2020-07-27 13:12:58 -04:00
Jordan Brown b158bfbd1e More CI cleanups 2020-07-25 12:59:47 -04:00
Jordan Brown abd5e016ec More test fixes 2020-07-21 19:35:18 -04:00
Jordan Brown 7c0030180c Chungus refactors
- Added a new ErrorCode for when chat bots fail to connect
- Made IProvider IAsyncDispsable
- Removed IDatabaseContextFactory dependency from watchdogs
- Jobs will no longer start until instance manager startup is complete
- Chat provider connection is now done as a job, there is no way to retrieve directly this job through the API currently
- Fixed disabled chat bots connecting when their instance onlined
- Fixed issue with chat provider reconnection channel remapping
- IJobManager can now accept a null user in most cases which it will substitute for the TGS user
- Fixed some watchdog issues relating to accessing disposed session controllers
2020-07-19 17:54:27 -04:00
Jordan Brown e4255b0a7e Fix test suite 2020-07-18 10:29:36 -04:00
Jordan Brown 561f9216ba Add down migration tests 2020-07-14 13:29:04 -04:00
Jordan Brown fece7567fb Disallow address reuse for port bind tests 2020-07-14 10:26:24 -04:00
Jordan Brown f923d0c87d Component instance usage cleanup
- GetInstance now returns null instead of throwing when the instance is offline. To be honest, we should wrap this in a using.
- Add safe accessor class for controllers that also performs request validation.
- API bump to 7.1.0
- Added ErrorCode 90 for offline instances, replacing the 403 response
- Move jobs now move the directory and are more fail safe
- Creating instances no longer uppercases the path on disk on Windows
2020-07-12 13:53:28 -04:00
Jordan Brown ba0f63ef9c Minor code formatting change 2020-07-11 10:58:23 -04:00
Jordan Brown ec48e20bed Regression test for #1065 2020-07-11 09:53:32 -04:00
Jordan Brown a24bb50190 More integration test sanity 2020-07-09 13:20:22 -04:00
Jordan Brown d6bf75b439 Lots of test improvements
- More deployment tests
- More job error code asserts
2020-07-09 11:24:15 -04:00
Jordan Brown ea7235b198 Oh that's why 2020-07-06 03:16:01 -04:00
Jordan Brown 5c348958d1 THAT IS A VERY STRANGE ASSERT TO FAIL 2020-07-06 03:12:33 -04:00
Jordan Brown a5c498e0f7 Various things
- Remove lagacy user/pass header auth
- Use .WithToken on octokit calls
- Cleaned up ApiHeader validation failures and responses
- ApiController constructor parameter requireHeaders now defaults to true
- Added integration test for a bunch of 4XX errors
2020-07-05 11:07:33 -04:00