Commit Graph
2779 Commits
Author SHA1 Message Date
Dominion 48214902fb Minor API version fix 2023-04-25 21:21:25 -04:00
Dominion 4b75a7ee11 Fix ByondManager.Dispose() not getting called
- Make Instance.Dispose() more async friendly
2023-04-24 22:49:17 -04:00
Dominion d593026625 Fix CA1810 2023-04-24 20:46:51 -04:00
Dominion c94379d700 Revert "Remove unneccessary warning suppression"
This reverts commit 8c11454239.
2023-04-24 20:44:40 -04:00
Dominion 11e191779d Fix another semicolon 2023-04-24 20:29:23 -04:00
Dominion cd1f458f5c Remove spammy log line 2023-04-24 20:23:07 -04:00
Dominion 843e2f932a Get rid of DeploymentProcess' weird stage handling 2023-04-24 20:20:53 -04:00
Dominion 99c4537aa9 Implement BYOND installation deletion
- Add ErrorCode for if a BYOND installation delete attempt is made for the active version.
- Added ByondVersionDeleteRequest new parent of ByondVersionRequest.
- Added ByondRights.DeleteInstall.
- Added BYOND install delete support to client
- Made ByondExecutableLock use the reference counting system.
- Moved TrustDmbPath to ByondManager internals. Removes ByondExecutableLock's dependency on IIOManager.
- Ensured ByondManager doesn't deal in Versions where .Build == 0.
- Fixed race condition where ByondController could attempt to install a version in the scope of a request.
- Fixed long running DMAPI test code specifying a minimum security level of Ultrasafe when it writes files.
- Added JobsRequiredTest.WaitForJobProgress.
- Added BYOND installation deletion integration tests.
- Fixed modifying the user BYOND configuration having a race condition across instances.
- Various code cleanups.
2023-04-24 20:15:10 -04:00
Dominion 6a4d2bc0d5 Use constant instead of magic string 2023-04-24 20:01:13 -04:00
Dominion 3e18e5880d Fix a VS message 2023-04-24 19:16:24 -04:00
Dominion 4724bf2896 Minor code cleanups in watchdogs 2023-04-24 18:48:13 -04:00
Dominion 6ef3d88db7 Fix logging placeholders in FileTransferService 2023-04-24 18:36:10 -04:00
Dominion 71577d1ea3 Setting the Stage of a JobProgressReporter now updates progress instantly 2023-04-24 18:35:51 -04:00
Dominion b2f571a92d Corrects a misplaced semicolon 2023-04-24 18:35:11 -04:00
Dominion a3b3f91808 Fix reference counts never decreasing 2023-04-24 18:34:35 -04:00
Dominion 188af390cc Better generic reference counting
- Fixes offline instance getting cancelled by request abortion.
2023-04-24 14:14:20 -04:00
Dominion 1d6cc3bc74 Add missing Delete<TBody, TResult> overload to IApiClient 2023-04-24 14:03:16 -04:00
Dominion 7bccd6efbe Make Components.InstanceContainer into generic Utils.ReferenceCountingContainer
- Make instance manager fields full types, not interfaces.
2023-04-24 09:39:35 -04:00
Dominion ca59f4dcf6 Fold SwarmIntegrityCheckFailed into unused ErrorCode 28 2023-04-23 14:14:09 -04:00
Dominion 8c11454239 Remove unneccessary warning suppression 2023-04-23 14:11:34 -04:00
Dominion 4ecdf8afe1 Move duplicate concrete IAbstractHttpClientFactorys to Common.HttpClientFactory 2023-04-23 13:57:57 -04:00
Dominion 43e1fec1b0 Move a bunch of non-core classes to new Utils namespace
- Clean up VS messages, primarily in SessionController.cs
2023-04-23 13:42:16 -04:00
Dominion 86f9d350f6 Clean up LogContext templating and properties
- Bring Serilog LogContext related items into new SerilogContextHelper class.
- ODR LogContext property names.
- InstanceController now inherits InstanceRequiredController and no longer holds an IInstanceManager reference.
- InstanceRequiredController.ValidateInstanceOnlineStatus() no longer static
- Subinterface IInstanceOperations created to reduce surface area InstanceController uses.
- Extracted much of InstanceRequiredController's functionality into new parent ComponentInterfacingController to not break swagger generation type checking (InstanceRequiredController adds the mandatory InstanceId header in the spec but InstanceController inherits ComponentInterfacingController without those checks).
- Added code paths to allow add swarm node identifer to LogContext. Use in Live tests.
- IInstanceManager retrieved via DI in Application for UseAsyncInitialization().
- Correct controller doc comments.
- Minor code cleanups.
2023-04-23 13:07:40 -04:00
Dominion a36c69c25c Logging placeholder cleanup 2023-04-23 10:31:03 -04:00
Dominion 708b5c21e4 Fix cancelled requests being logged as errors during startup
Also cleanup ApplicationBuilderExtensions.cs
2023-04-23 10:27:14 -04:00
Dominion 8756b09e41 Fix the web server not starting while InstanceManager was initializing 2023-04-23 10:25:46 -04:00
Dominion ac2a9f11d1 Fix CA1024 2023-04-23 03:35:30 -04:00
Dominion 06043de502 Fix a ton of Repository linter errors 2023-04-23 02:40:26 -04:00
Dominion d771da71b9 Add General:DeploymentDirectoryCopyTasksPerCore config option 2023-04-23 02:34:11 -04:00
Dominion 38753e4a94 Note about racyness of process file redirection 2023-04-22 23:17:20 -04:00
Dominion a7031dea85 Update API doc for 424 on POST /Administration 2023-04-22 19:12:50 -04:00
Dominion cafb0e43cb Are you kidding me? I have to suppress IDE0079 now 2023-04-22 18:51:14 -04:00
Dominion 5f2b511e93 Fuck CA2000 2023-04-22 18:39:42 -04:00
Dominion 57baceff31 I was about to say "Fuck CA2000" but it was actually right this time 2023-04-22 18:33:22 -04:00
Dominion b5618d9e29 - Fix test issues.
- Fix non-swarm mode updates.
- Add node ID logging context for live test.
2023-04-22 18:14:17 -04:00
Dominion 44d6e0c444 Workaround for invalid CA2000 warning 2023-04-22 17:40:13 -04:00
Dominion 80a3dbb13f Fix off by one error in swarm node counting 2023-04-22 17:30:11 -04:00
Dominion 7b01035607 Fix build warning 2023-04-22 17:24:32 -04:00
Dominion d0ac8f5000 Got rid of that useless swarm registration abstraction AND fixed race condition in SwarmRpcMapper calls 2023-04-22 17:16:34 -04:00
Dominion b301b7f840 Clean up a bunch of log template placeholder messages 2023-04-22 16:50:25 -04:00
Dominion 28b57a1ee4 Minor stype cleanup 2023-04-22 12:28:57 -04:00
Dominion c1f68d9243 Added error code for swarm integrity check failures 2023-04-22 11:40:01 -04:00
Dominion e823ca7c4c DI setup cleanup 2023-04-22 11:04:24 -04:00
Dominion e72ebb95c5 Split the start/stop functionality of ISwarmService into its own interface 2023-04-22 10:59:39 -04:00
Dominion 4ca3c2eb08 I hate these newline semicolons 2023-04-22 10:28:09 -04:00
Dominion b83f382f45 Tested swarm controller and fixed some edge cases
- No longer registers for restart unnecessarily
- Fixed infinite wait when committing update
- Fixed unregistering without a registration
- Abort updates if the controller health check fails
2023-04-22 01:02:22 -04:00
Dominion 3f91a09483 Stop being anal about SemaphoreSlimContext disposal 2023-04-22 00:52:24 -04:00
Dominion 1c219ebadd Framework for testing Swarm protocol 2023-04-21 15:11:44 -04:00
Dominion 061ab479d2 Reorganize server update process to make commit less fail-prone 2023-04-21 10:11:24 -04:00
Dominion c52cbcef31 Add configuration option to set expected number of nodes in swarm 2023-04-21 10:11:18 -04:00