Commit graph

402 commits

Author SHA1 Message Date
Inex Code 62b7a0ee7e feat(backups): Add descriptions for backups 2023-07-02 14:41:31 +03:00
Inex Code 7f5488c76b refactor(services): Remove unused state getters 2023-06-29 13:52:25 +03:00
Inex Code 90ab4244f6 feat(backups): Expose if the service can be backed up 2023-06-29 13:51:38 +03:00
Inex Code 62e906d1a4 feat(jobs): Update the model and modal sheets 2023-06-29 12:53:13 +03:00
Inex Code e1e4779c51 feat(recovery): Couldn't save the dns token 2023-06-29 12:52:37 +03:00
Inex Code d2d8add10d feat(backups): Update the models 2023-06-29 12:52:09 +03:00
NaiJi f05bedf460 chore: Implement new backups api 2023-06-22 11:14:00 -03:00
NaiJi f4700965c6 chore: Merge master into backups-rewrite 2023-06-19 17:56:00 -03:00
NaiJi f9da202093 chore: Remove unused abstractions 2023-06-19 15:11:55 -03:00
NaiJi e418a58e5b chore: Remove unused ApiTokenvalidatoin 2023-06-19 14:42:48 -03:00
NaiJi 0502e68cc1 chore: Remove unused function 2023-06-19 12:12:15 -03:00
NaiJi 4adcca5746 fix: Resolve timer conflicts on emultiple emits 2023-06-16 00:52:04 -03:00
Inex Code c87b834550 fix: dialogs during server setup 2023-06-16 06:00:08 +03:00
Inex Code 53e72504f7 refactor: Allow changing values for TLS settings 2023-06-16 05:59:48 +03:00
Inex Code a5bb654a76 refactor(backups): Rename BackbaleCredential to BackupsCredential
Also adding provider field
2023-06-16 04:28:45 +03:00
NaiJi b46c53674b feat: Implement new dialogue stub onChange 2023-06-15 13:48:23 -03:00
NaiJi 9d62d3af8e chore: Merge master into refactoring 2023-06-09 04:10:15 -03:00
NaiJi fa4939d7c6 chore: Implement better Price abstraction for Digital Ocean server provider 2023-06-07 00:11:36 -03:00
NaiJi 53c56e6bd4 feat: Remove basic_utils dependency
Replace it with InternetAddress from dart:io
2023-06-05 12:14:54 -03:00
NaiJi 29cbf702e5 fix: Remove unneded DNS check depending on CLOUDFLARE 2023-06-05 11:18:41 -03:00
NaiJi 4da4ed6afd feat: Move current installation dialogue error to installation state 2023-06-02 19:04:23 -03:00
NaiJi 040fc43e1f fix: Add DNS provider type to provider classes to fix wrong domain type 2023-06-02 02:44:34 -03:00
NaiJi 3a0221e8b1 chore: Merge master into desec 2023-06-02 00:52:32 -03:00
NaiJi f55800cd72 fix: Implement better domain id check on DNS restoration 2023-06-01 15:12:49 +03:00
NaiJi 0e3e560485 feat: Remove certificate check during installation 2023-06-01 15:12:49 +03:00
NaiJi 25eb82c131 feat: Implement proper access recovery for DNS providers 2023-06-01 15:12:49 +03:00
NaiJi 32ef162f9b feat: Implement polymorphic DNS check for DNS API 2023-06-01 15:12:49 +03:00
NaiJi c67e37a40e fix: Adjust graphql schemas to new dns provider
- fix runtime bugs
2023-06-01 15:12:49 +03:00
NaiJi b41b4159b4 feat: Implement infrastructure for new DNS provider deSEC 2023-06-01 15:12:49 +03:00
NaiJi d114d1477f fix: Adapt usage of DNS provider interface to refactoring 2023-05-30 12:48:18 -03:00
NaiJi 4260152081 chore: Merge desec into refactoring 2023-05-17 13:58:15 -03:00
NaiJi 4afcedebb7 feat: Remove certificate check during installation 2023-05-16 17:02:08 -03:00
NaiJi 232699bdb1 feat: Implement proper access recovery for DNS providers 2023-05-16 15:49:03 -03:00
NaiJi e9665ad75d feat: Implement polymorphic DNS check for DNS API 2023-05-16 11:06:01 -03:00
NaiJi 56dd40e90e fix: Adjust graphql schemas to new dns provider
- fix runtime bugs
2023-05-12 16:32:19 -03:00
NaiJi 234064ed72 feat: Implement infrastructure for new DNS provider deSEC 2023-05-09 03:15:48 -03:00
NaiJi 72a04a54b3 refactor: Remove low level ApiController and replace Dns interfaces 2023-05-03 00:01:44 -03:00
NaiJi 30385c2470 refactor: Create empty DnsProvider interfaces 2023-05-02 23:42:18 -03:00
NaiJi 0d55361a9b fix: Improve installation failure dialogues 2023-05-02 17:05:55 -03:00
NaiJi da4b38b787 fix: Move DNS entries creation step to server provider layer 2023-04-28 14:19:52 -03:00
NaiJi 1e9f1f88a7 fix: Hetzner installation issues
- Replace serverType id with locaiton id
- Replaces id accessing in volume from .id to [id]
2023-04-25 16:44:43 -03:00
NaiJi 4aa13dd63a chore: resolve ui conflicts and make it build 2023-04-24 13:45:16 -03:00
NaiJi 3b49805c9c chore: Move volume api to abstract server provider interface 2023-04-24 12:09:23 -03:00
NaiJi 15c0586ab3 chore: Merge digital-ocean-dns into refactoring 2023-04-12 05:32:56 -03:00
NaiJi 755ac1d5c0 chore: Merge master into digital-ocean-dns 2023-04-12 02:42:33 -03:00
inexcode 6656635785 fix: remove unnecessary logging 2023-04-05 13:38:07 +03:00
inexcode befdc0286e feat: Automatic day/night theme 2023-04-05 13:38:07 +03:00
inexcode 54513998ce fix: Devices and Recovery Key cubits couldn't initialize right after server installation 2023-04-05 13:38:07 +03:00
inexcode 8fc229647f feat: Add Support drawer and basic support cubit. 2023-04-05 13:38:07 +03:00
NaiJi 97e9e9d9cb chore: Adapt MetricsRepository to new ProvidersControllers model 2023-02-28 07:00:52 +04:00
NaiJi 62c0030f8e chore: Implement server installation logic on cubit layer 2023-02-22 21:58:59 +04:00
NaiJi ef04b5bf57 chore: Implement server installation on businness logic layer for hetzner 2023-02-22 21:03:58 +04:00
NaiJi 8da7341ccb chore: Implement basics of hetzner installation logic 2023-02-21 13:11:04 +04:00
NaiJi bad6926567 chore: Continue refactoring
- Rename APIGenericResult to GenericResult
- Wrap all provider functions results with GenericResult
- Move basic server commands and getters to business logic layer from API on Hetzner
2023-02-13 18:13:32 +04:00
NaiJi efe4f620ee chore: Transfer some methords from api to provider 2023-02-07 20:51:15 +04:00
NaiJi a270f3dfbb feat: Implement general server provider and its factory 2023-01-30 19:44:52 +04:00
NaiJi 14263083a5 feat: Implement server recovery for different dns providers 2023-01-17 18:33:25 +04:00
NaiJi 08cd59a709 feat: Implement DNS_PROVIDER_TYPE variable for infecting server 2023-01-17 17:29:15 +04:00
NaiJi 3b962c5f5a feat: Adapt Desired DNS Records checking for Digital Ocean 2023-01-11 22:01:46 +04:00
NaiJi 9184a9db5d feat: Implement DnsProvider loaging 2023-01-05 14:12:59 +04:00
NaiJi 2980887333 feat: Add DNS provider selection page
Upload cloudflare svg
2023-01-04 14:42:22 +04:00
NaiJi 6767b679a0 chore: Merge master into digital-ocean-dns 2023-01-03 13:00:01 +04:00
Inex Code b007fec75b refactor(initializing): Refresh the server istallation UI 2022-12-31 07:16:10 +03:00
NaiJi e560de58e7 feat: Implement DNS provider picker page 2022-12-30 07:25:18 +04:00
NaiJi 41dc77103f feat: Implement error handling on server deletion
Notify users when errors occured and handle application state accordingly
2022-12-22 22:56:58 +04:00
NaiJi 8922551239 Merge branch 'master' into digital-ocean-dns 2022-12-21 13:47:25 +04:00
NaiJi 18d3039dc4 chore: Create infrastructure for Digital Ocean DNS provider
Also rename hardcoded cloudflare names from backend
2022-12-17 14:26:19 +04:00
NaiJi 7847839ea6 feat: Enable server provider logging 2022-12-15 15:42:21 +04:00
NaiJi d7318ed2e4 fix: Make recovery by API token endpoint expect GraphQL token
We pass GraphQL token, but at the same time we did not use it and tried to authorize without token...
2022-12-13 08:15:32 +04:00
NaiJi b5133aa2a6 fix: Remove breaking installation changes 2022-12-02 23:06:57 +04:00
NaiJi e0b32404be refactor: Implement better error handling on create server stage
Replace try-catch hell with APIGenericResult chain
2022-12-02 22:40:08 +04:00
NaiJi 29b0bf2397 fix: Fix some initializing errors
Correct progress index calculation and hardcore cloudflare loading until new providers for DNS are supported
2022-11-30 19:05:21 +04:00
NaiJi 65f5d987e2 feat: Implement error handling for server installation
Now user gets notified when connection error occurs
2022-11-29 19:21:36 +04:00
NaiJi 1dfd2180d2 feat: Implement distinction for connection errors on storage page
Now user gets notified when connection error occurs
2022-11-29 15:28:09 +04:00
NaiJi e62e8bf916 feat: Implement distinction for connection errors on dns provider page
Now user gets notified when connection error occurs
2022-11-28 23:55:37 +04:00
NaiJi 1df5f6594d feat: Implement distinction for connection errors on server type page
Now user gets notified when connection error occurs
2022-11-28 23:11:08 +04:00
NaiJi bd33b8d679 feat: Implement distinction for connection errors on initialing page
Now it's 'false' when api token is invalid and null response if couldn't connect at all, to show different kinds of errors to the user
2022-11-28 22:51:37 +04:00
NaiJi 58c9e00ce0 fix(recovery): Add reverse dns validation for digital ocean
In Digital Ocean reverse dns is not domain name but just name, like mydomainname instead of mydomainname.xyz, so we need additional condition
2022-11-20 18:31:31 +04:00
NaiJi b53bb6d4dd refactor: Remove 'unused' warnings 2022-11-18 11:33:28 +04:00
NaiJi b26e22cd4e fix: Check on null for server type identifier
It is not needed to finish installation so it's okat if it's empty
2022-11-18 11:30:50 +04:00
NaiJi 0c4da8eb9f refactor: Move all API factories into encapsulated static class
Because it's very hard to track all different provider factories created in different cubits, if users reset application config the previous factories stayed unchanged which would lead to unexpected behavior
2022-11-18 09:49:04 +04:00
NaiJi 268816385f fix(recovery): Fix custom api token on recovering provider type 2022-11-18 05:19:54 +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 a7cbde663e refactor(server-api): Generalize and encapsulate server metrics endpoints 2022-11-12 22:11:14 +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 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
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 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 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 ed37775510 chore: Merge master into digital-ocean 2022-10-26 21:27:22 +04: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 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 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 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 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 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 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
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 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 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
NaiJi e4bb35d5d8 Catch cloudflare exceptions 2022-09-09 12:14:37 +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 6f5ffa0f80 Make DiskSize a constant constructor and fix slider on Volume resize screen 2022-09-06 13:27:27 +03:00