Commit graph

328 commits

Author SHA1 Message Date
NaiJi dc4ba7bce5 fix(digital-ocean): Modify cloud-init, add write_files sections
Provide host.nix to infect with 0644 permissions
2022-11-02 18:59:41 +04:00
NaiJi 8c053f50b0 chore: Merge master into digital-ocean 2022-11-02 18:45:36 +04:00
NaiJi 86b80156fd refactor: Generalize DKIM usage into DnsRecords
- Replace raw DKIM String object with a general DnsRecord structure
- Implement network utils for common operations with networking concepts and structures
- Implement initializing page pop up to re-try server deployment in case of a random networking error
2022-10-30 18:23:47 +04:00
NaiJi 57d82d0f7a refactor(server-api): Move provider name from hardcode string to a polymorphic variable
- Rename 'digital-ocean' to 'digitalocean'
2022-10-29 12:03:43 +04:00
NaiJi 68811efc1e refactor(server-api): Generalize and unify api response objects
- Separate response success from  business logic operation success
- Remove ApiResponse, replace with GenericResult
- Make GenericMutationResult inherit GenericResult
- Add generic error message for when a response couldn't be sent or received
2022-10-28 12:20:09 +04:00
NaiJi 0dc0ba215a fix(digital-ocean): Adjust droplet data preparations according to API notation 2022-10-27 20:01:22 +04:00
NaiJi cb94248df0 fix: Generate hive build runner model for server details 2022-10-27 17:08:59 +04:00
NaiJi 4aa6caed65 chore: Merge master into digital-ocean 2022-10-27 17:05:41 +04:00
NaiJi 7c61d9a787 chore: Generate build runner models 2022-10-27 16:15:35 +04:00
NaiJi ed37775510 chore: Merge master into digital-ocean 2022-10-26 21:27:22 +04:00
inexcode 88bcdcff39 chore(server-api): Deprecate getDkim
Server API now aware of all required DNS records. More general approach to handle DNS records is required in the future.
2022-10-26 20:24:00 +03:00
inexcode 1845bea361 chore(server-api): Deprecate ApiResponse
ApiResponse is a wrapper for REST API responses, which is removed. Our code, however, depends on this interface. This dependency must be removed.
2022-10-26 19:53:25 +03:00
NaiJi 34b8bf5b07 chore: Merge master into graphql 2022-10-26 20:45:28 +04:00
NaiJi 93c58323b2 chore: Merge master into digital-ocean 2022-10-26 20:41:45 +04:00
NaiJi aa3dee585b chore(dart): Fix warnings that appeared at Dart 2.18 SDK 2022-10-26 20:26:09 +04:00
NaiJi a69b096d6f fix(digital-ocean): Change /locations to /regions and fix tokens validation 2022-10-26 20:07:35 +04:00
NaiJi 5ddbfcb342 chore: Merge master into digital-ocean 2022-10-25 12:22:34 +04:00
NaiJi c487f16194 chore: Merge master into graphql 2022-10-25 12:17:33 +04:00
NaiJi 20e4d9565b fix(assets): Fix broken strings for network domain elements 2022-10-24 16:19:39 +04:00
NaiJi 1b94e14727 feat(server-api): Migrate all server endpoints to GraphQL 2022-10-24 15:39:53 +04:00
NaiJi 19b45ac142 fix(server-api): Adapt ApiResponse structure to GraphQL format 2022-10-24 13:47:47 +04:00
NaiJi 2b419d5923 chore: Merge master into graphql 2022-10-24 09:34:55 +04:00
NaiJi daf50e8c92 refactor(server-api): Replace Rest API interface with Graphql endpoints everywhere they are used
With no implementations yet
2022-10-23 05:13:27 +04:00
NaiJi b574659dc3 fix(initializing): Implement store and load of server provider from BNames 2022-10-21 08:34:36 +04:00
NaiJi e956a2c9a1 fix(assets): Fix broken string for bytes on disk size 2022-10-21 06:54:55 +04:00
NaiJi 7223b0e614 fix(initialization): Add missing setup progress step 2022-10-21 06:38:49 +04:00
NaiJi cb1fe6eafd fix(initializing): Make provider and server type picking work 2022-10-20 18:44:29 +04:00
NaiJi ea85ce6064 refactor: Apply formatting 2022-10-18 05:38:26 +00:00
NaiJi bb846b08c1 feat(digital-ocean): Implement system endpoints for digital ocean 2022-10-18 00:48:41 +00:00
NaiJi e4ed69d151 refactor(volume): Make volume interfaces work through volume entities, not IDs 2022-10-17 23:58:29 +00:00
NaiJi d19531232c feat(digital-ocean): Implement endpoints for server creation and deletion 2022-10-17 17:42:23 +00:00
NaiJi f5a75e6eb5 feat(initializing): Implement additional server type field for server installation 2022-10-16 01:16:47 +00:00
NaiJi 8a93af2b06 fix(region): Move region settings for provider api to factory 2022-10-16 00:51:10 +00:00
NaiJi 72760e7980 feat(initializing): Implement server type selection for initialization page 2022-10-15 21:51:37 +00:00
NaiJi fe820ef5be feat(initializing): Implement location selection step for initializing page 2022-10-15 19:49:31 +00:00
NaiJi b30e372322 feat(region): Implement endpoints for listing available types by region 2022-10-14 19:00:44 +00:00
NaiJi e032bd8a78 feat(region): Implement endpoints for listing available provider regions 2022-10-13 23:16:08 +00:00
NaiJi 2f59954641 feat(region): Remove hardcode for region of server installation 2022-10-13 21:16:21 +00:00
NaiJi f40ed08b02 feat(volume): Implement volume endpoints for Digital Ocean
volumeId type in VolumeApiProvider interfaces is now replaced with String from int to support Digital Ocean's UUID notation
2022-10-12 04:56:08 +00:00
NaiJi 79e9334aca feat(pricing): Replace raw double with simple type Price 2022-10-12 01:42:45 +00:00
NaiJi 70330c59ab feat(digital-ocean): Implement provider picker pages 2022-10-11 20:11:13 +00:00
NaiJi 465af52350 Merge branch 'master' into validations 2022-10-08 19:18:33 +00:00
NaiJi c4f3b76414 fix(validations): Make validations and errors text more specific 2022-10-08 16:41:19 +00:00
NaiJi 0b5f8b6920 fix(job): Remove unnecessary cascade validation calls 2022-10-08 16:19:53 +00:00
NaiJi 7bad11967a refactor(job): Implement polymorphic predicate for job accessibility
Now every job type can impement canAddTo function to make JobsCubit know whether it can be applied or not
2022-10-07 17:50:18 +00:00
NaiJi db2f5c1342 fix(job): Fix server settings toogles not creating upgrade server job 2022-10-07 16:36:17 +00:00
NaiJi 26466bb8d5 refactor(job): Force services to always reload after jobs execution 2022-10-06 19:45:25 +00:00
NaiJi d0be867aa6 refactor(job): Make jobs execution polymorphic instead of relied on plain switch 2022-10-06 19:16:07 +00:00
NaiJi 699e2f676f refactor(service): Get rid of legacy common enums 2022-10-05 01:41:48 +03:00
NaiJi d36c8e987d Completely refactor language asset files 2022-10-04 02:32:35 +03:00
Inex Code ad55b204cf Fix jobs screen failing to draw when no jobs 2022-09-20 12:42:20 +03:00
Inex Code 0425ea8ab8 Add a button to remove all removable server jobs 2022-09-19 03:42:00 +03:00
Inex Code 10891881ae Service migrations 2022-09-19 03:21:08 +03:00
NaiJi d6d7a0dcb6 Implement rebuild server job for settings page 2022-09-19 03:00:40 +03:00
NaiJi fe95f5e5d3 Add props into provider job state 2022-09-19 02:13:25 +03:00
Inex Code 2a4c691f1e Pre-release testing bug fixes 2022-09-19 01:11:26 +03:00
Inex Code 900e07f364 Implement user password reset 2022-09-18 23:25:26 +03:00
Inex Code e330878e6d Allow removing completed and failed server jobs 2022-09-18 23:12:09 +03:00
NaiJi 34d635c2c5 Add delay between provider and server storage resizing calls 2022-09-18 19:35:16 +03:00
Inex Code 89c907b109 Make job status an enum 2022-09-18 19:29:11 +03:00
NaiJi d9b82b1250 Implement volume extending button 2022-09-18 19:26:55 +03:00
NaiJi 159f861965 Implement initialization migration to binds error handling 2022-09-18 17:29:00 +03:00
NaiJi 39358a827f Implement migrate to binds logic 2022-09-18 17:05:41 +03:00
Inex Code c84d16d8b7 Move files related to storage 2022-09-16 16:49:53 +03:00
Inex Code ae0295d959 Add storage usage to service screen, formatting 2022-09-16 16:36:51 +03:00
Inex Code 641e329725 Move DiskStatus to the server volume cubit 2022-09-16 14:28:17 +03:00
NaiJi 11e58981b5 Implement migration process page 2022-09-16 12:08:31 +03:00
NaiJi 4a4fa35de3 Remove setTimezone from ServerDetailedInfo cubit 2022-09-16 11:11:03 +03:00
Inex Code d75c2837ca Catch error on metrics loading from Hetzner 2022-09-16 11:08:45 +03:00
NaiJi e3d7f2b3d7 Fix ServerDetailsCubit exception 2022-09-16 11:06:27 +03:00
Inex Code a7248a9b30 Remove unnecessary logging 2022-09-16 10:50:21 +03:00
Inex Code 36cbc8e89b Catch StateError on server_detailed_info_cubit.dart 2022-09-16 10:50:05 +03:00
NaiJi 8039283f37 Wrap get metrics endpoint with try-catch 2022-09-15 16:05:23 +03:00
NaiJi dc72b6d1b2 Implement server settings page functionality 2022-09-15 02:31:25 +03:00
NaiJi c5eed6ace9 Improve server settings page 2022-09-12 20:38:22 +03:00
Inex Code ef7d906504 Catch Hetzner metrics trying to emit when closed and disable logging. 2022-09-09 17:58:01 +03:00
Inex Code 11885b7ac7 Fix app connecting to 'https://api./' after access recovery
We no longer hold server domain in ServerAPI class. Instead, we get a domain from the app config every time.
2022-09-09 17:57:34 +03:00
NaiJi e4bb35d5d8 Catch cloudflare exceptions 2022-09-09 12:14:37 +03:00
NaiJi 06fbcff9a9 Fix graphql type errors 2022-09-08 22:58:45 +03:00
inexcode 981b9865cd Fix users not changing SSH keys and remove SSH keys screen 2022-09-08 18:13:18 +03:00
Inex Code 5f13be9339 Fix Hetzner size storage 2022-09-06 14:03:21 +03:00
Inex Code 6f5ffa0f80 Make DiskSize a constant constructor and fix slider on Volume resize screen 2022-09-06 13:27:27 +03:00
NaiJi 8d2fbb5100 Implement service page enabling/disabling and service restart 2022-09-06 13:25:28 +03:00
Inex Code 58479256c5 Refactor disk_size.dart and disk_status.dart to use getters 2022-09-06 12:17:44 +03:00
inexcode 5f58022d42 Update user list screen to properly support newer cubit logic 2022-09-05 14:51:01 +04:00
Inex Code 18b737a327 Reformatting 2022-09-05 07:34:47 +03:00
Inex Code 0879ea8e97 Refactor Users cubit to use GraphQL and unified data model 2022-09-05 07:01:36 +03:00
Inex Code c1bb617ca7 Add user type to the User model 2022-09-04 14:29:05 +03:00
Inex Code 33b8003f07 Add user-related GraphQL handlers 2022-09-04 13:45:03 +03:00
NaiJi 88a1393a1d Move disk status converting to disk status constructor 2022-09-02 09:06:10 +03:00
NaiJi a693f694ac Add endpoints for migration checking 2022-09-02 08:59:46 +03:00
NaiJi 503c8d37ea Implement server jobs cubit 2022-08-30 06:09:09 +03:00
inexcode 7d8f8e1d38 Rewrite services cubit and add basic service screen. 2022-08-30 00:35:06 +04:00
NaiJi 62929a4839 Fix dkim runtime exception 2022-08-29 23:21:59 +03:00
NaiJi 62db476575 Fix ipv4 bug 2022-08-29 21:18:07 +03:00
NaiJi b48017508a Fix ProviderVolume cubit exception 2022-08-29 19:37:31 +03:00
inexcode c0ce019360 Add Services type and GraphQL endpoints with parsers. 2022-08-29 04:40:35 +04:00
NaiJi d934a6a9cb Refactor graphql api, separate by logic 2022-08-26 22:28:01 +03:00
NaiJi 9526035176 Fix volume size calculation 2022-08-26 19:46:30 +03:00
NaiJi 6014e385bc Implement ServerJobCard 2022-08-26 05:34:25 +03:00