Commit graph

230 commits

Author SHA1 Message Date
NaiJi b5cfdfd68a fix(hetzner): Filter away ARM architecture from available servers
- Resolve https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/402
2023-12-03 01:01:46 +04:00
NaiJi 98f107b675 fix(cloudflare): Improve DNS records convertion to deSEC DNS 2023-11-22 15:14:02 +04:00
NaiJi e9c881c408 fix(cloudflare): Improve DNS records convertion to Cloudflare DNS 2023-11-22 12:09:19 +04:00
NaiJi c34a5b97d6 fix: Improve DNS formatting for Cloudflare DNS 2023-11-19 23:34:58 +04:00
NaiJi cd97833025 feat: Make GetDnsRecords query return also service DNS 2023-11-18 10:22:07 +04:00
NaiJi d45417effe feat: Implement model adapter for Digital Ocean DNS
- Adapt all external interfaces to new DNS record models
2023-11-09 18:48:49 +04:00
NaiJi 5a7ae23ec2 feat: Implement model adapter for Cloudflare DNS 2023-11-09 17:21:56 +04:00
NaiJi e9c01576b2 feat: Implement model adapters
- Move desec model conversion to adapters
2023-11-09 16:52:27 +04:00
NaiJi db1a8b6f67 refactor: Move deSEC DNS conversion into DesecDnsRecord model
- Get rid of desired dns records hardcore for deSEC
2023-11-08 18:31:28 +04:00
Inex Code 1b26f2cf29 feat(backups): Allow to change snapshot rotation settings 2023-09-09 21:13:27 +03:00
Inex Code aac4b2773b feat(backups): Show the snapshot creation reason 2023-09-09 10:22:43 +03:00
NaiJi 7b8d9ddca9 fix: Change 'mailserver' string id to 'email' in loginInfo switch 2023-09-06 23:41:34 -03:00
Inex Code d64764f4a8 Merge branch 'master' into price-calculation 2023-09-01 15:38:35 +03:00
NaiJi 75b8a7b9ac feat(backups): Implement restore backup strategy 2023-08-07 09:23:48 -03:00
NaiJi 20c3948e60 Merge 'master' into 'price-calculation' 2023-08-07 07:58:57 -03:00
NaiJi 037498070a fix: Include IPv4 cost to overall server cost 2023-08-07 07:52:26 -03:00
NaiJi ✨ a17b66c729 Merge pull request 'refactor: Implement Cloudflare-specific objects to avoid usage of global models' (#268) from dto into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/268
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-08-07 12:06:45 +03:00
NaiJi 4f8f87f8a8 feat: Include volume cost to overall monthly cost per server 2023-08-06 20:28:02 -03:00
NaiJi b2c67c80bd refactor: Implement Cloudflare objects to avoid usage of dynamic blobs
- Get rid of ZoneId term outside of Cloudflare
2023-08-02 16:04:49 -03:00
NaiJi bd8faf8760 feat: Replace general entity naming on UI with specifics.
- Pass actual provider namings to .tr functions as arguments
- Remove hardcoded namings where known
- Get rid of general mentions of 'DNS Provider' or 'Server Provider' where confusing
2023-07-28 20:42:41 -03:00
NaiJi ccac0ff7fa refactor(digital-ocean-dns): Implement basic DTO for Digital Ocean DNS to avoid dynamic objects 2023-07-27 20:55:32 -03:00
NaiJi 146350f8f4 refactor(desec): Implement basic DTO for DESEC to avoid dynamic objects 2023-07-26 21:33:50 -03:00
NaiJi b313cd340e refactor: Remove unused id field from DnsRecords object 2023-07-26 20:27:10 -03:00
NaiJi cbef1d578b feat(location): Make flag getter a part of server provider location object 2023-07-17 12:25:41 -03:00
NaiJi ✨ c0d8d37989 chore: Merge backups-testing to master
- Remove unused breaking isHidden field
- Add commentary for Hetzner Volume replicating Hetzner documentation
- Update router.gr (when i ran build_runner this file changed for some reason)

Co-authored-by: NaiJi <naijiworld@protonmail.com>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/pulls/232
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2023-07-10 12:00:46 +03:00
Inex Code 62b7a0ee7e feat(backups): Add descriptions for backups 2023-07-02 14:41:31 +03:00
NaiJi b3b7c83461 chore: Implement fragments for ServerJob type on backup requests 2023-06-29 15:38:46 -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 d2d8add10d feat(backups): Update the models 2023-06-29 12:52:09 +03:00
NaiJi 02cb4dbf8b chore: Merge branch master into backups-rewrite 2023-06-26 15:01:57 -03:00
NaiJi a56f525060 refactor(server-provider): Rearrange Server Provider interface
- Move all implement functions accordingly to their position in interface
- Get rid of duplicate toInfect() functions, move them to ServerDomain
2023-06-26 14:15:53 -03:00
NaiJi e7ec1c1b53 chore: Merge master' into backups-rewrite 2023-06-22 23:23:13 -03:00
NaiJi feca9d3b06 chore: Update scheme.graphql and its models 2023-06-22 23:22:48 -03:00
NaiJi 88d8925ff7 refactor(price): Replace String shortcode with Currency class 2023-06-22 16:02:49 -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 e418a58e5b chore: Remove unused ApiTokenvalidatoin 2023-06-19 14:42: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 65283306a9 fix: Make dropletIds field for DigitalOceanVolume optional 2023-06-13 23:37:47 -03:00
NaiJi f6424200e2 chore: Implement basic DigitalOceanServerType model 2023-06-12 23:48:29 -03:00
NaiJi 55f62f1200 fix: Change sizeByte field to size for HetznerVolume 2023-06-09 05:11:42 -03:00
NaiJi 140acaee49 chore: Implement basic Digital Ocean server models 2023-06-07 03:22:27 -03:00
NaiJi f42e415633 chore: Replace dynamic blobs with HetznerLocation 2023-06-07 00:25:34 -03:00
NaiJi 2a66d246c7 chore: Replace dynamic blobs with HetznerServerType 2023-06-07 00:03:34 -03:00
NaiJi ffa13aee04 chore: Implement HetznerVolume model and use it instead dynamic json 2023-06-06 23:35:57 -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 4260152081 chore: Merge desec into refactoring 2023-05-17 13:58:15 -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 da4b38b787 fix: Move DNS entries creation step to server provider layer 2023-04-28 14:19:52 -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
Inex Code 466a221dd0 refactor(ui): More compact view of console.dart 2023-04-05 13:38:07 +03: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 02abb3d321 chore: Merge digital-ocean-dns into refactoring 2023-02-15 11:46:15 +04:00
NaiJi ba1f9dbfc9 chore: Merge flutter-3.7 into digital-ocean-dns 2023-02-15 11:45:48 +04:00
NaiJi e99b08bcc3 fix: Improve DigitalOcean server types filtering
- Convert RAM to GB
- Don't let it droplets with RAM less than 1024 MB
2023-02-15 11:03:13 +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 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 36bc5b2554 chore: Generate build runner files 2023-01-05 13:16:30 +04:00
NaiJi 6767b679a0 chore: Merge master into digital-ocean-dns 2023-01-03 13:00:01 +04:00
Inex Code bbb1d55b64 feat(services): Sort the services by their status
Done by changing the indexes of ServiceStatus enum and sorting by it.
2022-12-31 08:08:25 +03:00
Inex Code b007fec75b refactor(initializing): Refresh the server istallation UI 2022-12-31 07:16:10 +03:00
NaiJi a45b93cd27 feat: Improve Dns Record structure and logic
It is to much digital ocean api. The decision with adding optional id is bad, but it will be refactored soon along with entire backend.
2022-12-21 23:31:03 +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 8c6b56f61d fix: Make improvements by Code Review 2022-11-23 11:55:28 +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 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 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 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
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 5ddbfcb342 chore: Merge master into digital-ocean 2022-10-25 12:22:34 +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 e956a2c9a1 fix(assets): Fix broken string for bytes on disk size 2022-10-21 06:54:55 +04:00
NaiJi d19531232c feat(digital-ocean): Implement endpoints for server creation and deletion 2022-10-17 17:42:23 +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 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 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 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 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