Commit Graph

435 Commits (74df5480df0615ba8c6360fd5bb906f6e71a5a4a)

Author SHA1 Message Date
NaiJi ✨ 611fe6bf45 feat(server-api): Implement support for staging acme certificates
Related to https://letsencrypt.org/docs/staging-environment/ to not get domain banned by constant renewal
2022-11-17 11:21:49 +04:00
NaiJi ✨ 51dc4c67b2 feat(recovery): Implement access recovery routing for server providers 2022-11-17 11:14:34 +04:00
NaiJi ✨ 0234278c2c refactor: Rename server.dart to server_api.dart
Because the class is called ServerApi, not just Server, it's totally not consistent with all other apis
2022-11-16 04:24:40 +04:00
NaiJi ✨ bde364dde1 fix(digital-ocean): Adjust charts rendering for digital ocean values 2022-11-16 04:12:49 +04:00
NaiJi ✨ 2a5fceae91 fix(hetzner): Fix endpoints urls
Incorrect dereferencing in strings
2022-11-16 00:49:41 +04:00
NaiJi ✨ 92b417a103 feat(digital-ocean): Implement metrics for Digital Ocean 2022-11-15 08:00:10 +04:00
NaiJi ✨ 7fdc546714 refactor(server-api): Make appearance provider name polymorphic and required for metadata 2022-11-14 09:48:36 +04:00
NaiJi ✨ e20063a9ad chore: Remove unneeded metrics fields
PPS metrics aren't used in our charts
2022-11-12 22:44:15 +04:00
NaiJi ✨ a7cbde663e refactor(server-api): Generalize and encapsulate server metrics endpoints 2022-11-12 22:11:14 +04:00
NaiJi ✨ e66b24d869 refactor: Remove obsolete initializing steps enum type 2022-11-11 15:29:17 +04:00
NaiJi ✨ 10bdd4c800 refactor(server-api): Make general server info polymorphic
Removing Hetzner type hardcode from server page and replacing it with generic String-based metadata container
2022-11-11 07:32:01 +04:00
NaiJi ✨ b3395915da fix(digital-ocean): Add correct linuxDevice path to volume objects
linuxDevice consists of supposedly hardcoded 'scsi-0DO_Volume_' plus given volume name
2022-11-10 21:03:16 +04:00
NaiJi ✨ cdc47ecdb3 refactor(ui): Move all pop up dialogs into general utils function
To not import get_it everywhere and encapsulate all the related dirt into utils.
2022-11-09 22:43:05 +04:00
Inex Code 6eb49fa8f1 fix(digital-ocean): Change the cloud-config payload
Now the server builds!
2022-11-08 04:25:04 +03:00
NaiJi ✨ 59d186a8af fix(volume): Change raw int to DiskSize object in volume endpoints
We already have an abstraction for size, there is no need to pass size value as raw numeric variables
2022-11-04 16:19:39 +04:00
NaiJi ✨ aa1c04fdb8 fix(digital-ocean): Fix response code checking on volume actions
We can't compare with 'compelted' because Digital Ocean responses with 'in progress' right away or something, so it's better to check if it's just not 'error'
2022-11-04 16:05:40 +04:00
NaiJi ✨ edc171efd7 fix(digital-ocean): Fix emoji picking for Digital ocean locations 2022-11-04 15:59:38 +04:00
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
Inex Code 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
Inex Code 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 ✨ df9ec28d02 fix(initializing): Adjust server location and type list cards 2022-10-21 08:33:47 +04:00
NaiJi ✨ 0cab3e3240 chore: Merge master into assets-fix 2022-10-21 07:04:39 +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
Inex Code e7bb1dc16e feat(timezone): Design the search bar for 'Select Timezone' page 2022-10-20 22:33:40 +03:00
NaiJi ✨ e36a94ded5 feat(timezone): Implement search bar for 'Select Timezone' page 2022-10-20 22:29:19 +03:00
NaiJi ✨ cb1fe6eafd fix(initializing): Make provider and server type picking work 2022-10-20 18:44:29 +04:00
NaiJi ✨ eebff47d0c chore: Merge master into digital-ocean 2022-10-20 12:40:16 +04:00
NaiJi ✨ b40ab17197 fix(initializing): Move bloc provider from provider picker to initialization page 2022-10-19 18:43:01 +04:00
NaiJi ✨ 556df5aadc fix(assets): Remove string hardcode from domain setup page 2022-10-19 17:46:16 +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 ✨ a305e0b53f fix(assets): Change naming to conventional and consistent 'username' 2022-10-08 19:28:07 +00:00
NaiJi ✨ f4e588c435 fix(user): Replace cubit context read with state variable on login page 2022-10-08 19:22:08 +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
Inex Code 3f663b7900 Merge branch 'master' into fix/app-bars 2022-10-06 10:40:06 +03:00
Inex Code 2fc20f43c3 fix(ui): New app bar now properly supports long titles 2022-10-06 10:38:29 +03:00
NaiJi ✨ 699e2f676f refactor(service): Get rid of legacy common enums 2022-10-05 01:41:48 +03:00
Inex Code 129eb76a04 feat: MD3 app bars
Fixed #123 spent @2h
2022-10-04 13:36:37 +03:00
Inex Code 9644ade367 fix(i18l): Use fallback English translations when localized one not available 2022-10-04 11:26:18 +03:00
Inex Code c1cba41b7b fix(i18l): Un-hardcode service status descriptions 2022-10-04 11:05:26 +03:00
NaiJi ✨ d36c8e987d Completely refactor language asset files 2022-10-04 02:32:35 +03:00
Inex Code e15026ae25 Disable block error showing snack bar 2022-09-20 12:44:05 +03:00
Inex Code ad55b204cf Fix jobs screen failing to draw when no jobs 2022-09-20 12:42:20 +03:00
NaiJi ✨ bb6d615d37 Fix 'start migration button' subtitle 2022-09-19 03:48:59 +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
Inex Code 19aab4b57f Redesign the ServerJobCard 2022-09-18 20:57:00 +03:00
Inex Code 1817031be8 Animate color of BrandLinearIndicator 2022-09-18 20:57:00 +03:00
NaiJi ✨ 34d635c2c5 Add delay between provider and server storage resizing calls 2022-09-18 19:35:16 +03:00
NaiJi ✨ 35a617065e Implement root page pushing after extending volume button 2022-09-18 19:31:22 +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
Inex Code 8017c5ab4c Show services in Server Storage screen 2022-09-18 19:06:17 +03:00
NaiJi ✨ 159f861965 Implement initialization migration to binds error handling 2022-09-18 17:29:00 +03:00
Inex Code cb660eb2bb Refactor server_settings.dart to use vanilla ListTiles 2022-09-18 17:17:13 +03:00