Commit Graph

5823 Commits

Author SHA1 Message Date
Vitalii Shpital
390c6b6fc6 web/satellite: cli flow's Encrypt Your Data component
Refactored Generate Passphrase screen to be common for onb and object flows.
Replaced initial Generate Passphrase screen to access grants wizard.
Moved download file functionality to utils.
Implemented Onboarding Encrypt your Data logic.

Change-Id: I46e780a5997c215d53ccd0254964b1c2b39c7c02
2021-09-08 20:09:23 +03:00
Vitalii Shpital
7a08c19c53 web/satellite: initial setup for onboarding CLI flow
Added components for the new flow.
Removed onboarding logic from regular access grant wizard.
Updated routes to include new flow.

Change-Id: I52ca6eb3da1e4e3a4b465ed58cd45398d10fd268
2021-09-08 20:09:23 +03:00
Igor
cd973fcb78
Revert "Makefile: disable building storagenode for darwin" (#4186)
This reverts commit d867a7007f.
2021-09-08 19:56:29 +03:00
Egon Elbre
d867a7007f Makefile: disable building storagenode for darwin
Also a few cleanups to ensure it wasm is built when needed.

Change-Id: I7612d969dddbfc1d8589cf00666c1c60d6312140
2021-09-08 13:46:58 +00:00
Jeremy Wharton
f55af3125c web/satellite: Replace checkbox reCAPTCHA with invisible reCAPTCHA
This change replaces the checkbox reCAPTCHA in the registration page
with an invisible reCAPTCHA.

Change-Id: I5b52e5fe35b551ba88af2404429b23bf38d4f9c1
2021-09-07 19:04:17 +00:00
Michał Niewrzał
03d638bbb3 cmd/uplink: add parallel upload
Use multipart upload to upload single object in parts in
parallel. Its using parallelism flag added earlier.

Change-Id: I45b531a5db43c86f0112a5e3bb4a83bc1d65650f
2021-09-07 15:12:09 +00:00
Egon Elbre
84539f5798 web/: disallow warnings and errors in tests
* all: fix missing Vue.use(Router)
* multinode: having same state and module names is not allowed
* multinode: simplify store definition
* storagenode: add or fix any annotations

Change-Id: If8a63ae46049fc77fc6cd7a7ad912d4ad74d23ac
2021-09-07 13:43:26 +00:00
Cameron Ayer
a7cda642a5 satellite/repair: add logging for irreparable segments in checker
If the checker sees an irreparable segment, log out some info
so we can see what the problem is

Change-Id: I76eda5270214205f4fefc646d6c391cc13ddcafd
2021-09-02 12:35:29 -04:00
Moby von Briesen
6d876acfbf satellite/console: UpdateProject changes
* Disabled updating project for paid tier users who have 0 storage or
bandwidth limits set (these users have been disabled and should not be
able to increase their limits through the UI)
* Better error handling
* Removed unnecessary type conversions

Change-Id: I1e07a1909a4ba877718aa944848f36382f7dbbe2
2021-09-01 20:30:26 +00:00
Egon Elbre
e5977ec849 web/: add custom linter for requiring @vue/component
Also ignore coverage folder for linting. I had to add a new
.stylelintignore file, because ignoreFiles property was not properly
working.

Change-Id: Iadd99b64eadd9c4103f750519263113ae8780ce1
2021-09-01 13:56:37 +00:00
Yaroslav Vorobiov
ee4361fe0d satellite/audit: fix segment stripes length calculation
GetRandomStripe function to randomly select a segment stripe to
audit was using `segment.EncryptedSize/segment.Redundancy.StripeSize()`.
Since integer divsion truncates it leads to skipping last stripe if
its size is less than stripe size. Use `Redundancy.StripeCount` to
get correct stripe count.

Change-Id: Ida09e035be30a21219ab3e1aedd66af8be707d1b
2021-09-01 13:25:20 +03:00
Ivan Fraixedes
2c50210c94 satellite/admin: Don't update project desc when empty
Don't update the project description if the request body has the
description field set to an empty string.

This follows the same convention used for updating an user's account.

Change-Id: I027047e609760e033cf4b233b1be352c6bf0ec8f
2021-09-01 04:53:16 +00:00
Egon Elbre
7d5d555264 web/: disallow unregistered and unused components
The components used in templates should always be included in the
component declaration. Similarly, it shouldn't contain extra components
to avoid compiling in components that aren't needed.

Change-Id: I8c47ceffa8bcbcca223ac0f538f9e30d1e849829
2021-08-31 21:25:49 +03:00
Egon Elbre
0889866b17 web/: add @vue/component annotations
Some linters do not work properly without those annotations.
This was done with a batch replace.

Also needed to turn off two lint rules, they will be re-enabled in the
followup change. This way the batch change can be clearly separated from
manual modifications.

Change-Id: I891ae09689520edaba5588c1f2206766db2d2b90
2021-08-31 21:25:49 +03:00
Yingrong Zhao
b64d8084e1 satellite/audit: fix metric reporting when fail to complete an audit
Change-Id: I39df8d4291db35afbba824281cb23438a91c45db
2021-08-31 17:02:30 +00:00
Yingrong Zhao
5304f672ad satellite/payments: fix invoice generation to include the last day of
the month

The Stripe API had a bug before that it wasn't calcualting the input
timestamp based on correct timezone. We had a workaround to not include
the last day of the month in our code when submitting to Stripe.
Now, Stripe has fixed the issue. We need to remove the workaround and
include the last day of the month into our invoice generation

Change-Id: Ic6364ed071be73a19f0b0b46f274a02fb2489db5
2021-08-31 16:25:18 +00:00
Moby von Briesen
2fafc0e16a satellite/console: Add CORS test
This includes basic testing around CORS headers for the register
endpoint.

Change-Id: Ieab2cc8a3c23625307e38026b2ab2c5f4984637e
2021-08-31 15:48:52 +00:00
Egon Elbre
25971c581f Jenkinsfile: clarify modfile linting
Change-Id: I0ac0bfa48386d3430eb8fb5a92b57daefc23998f
2021-08-31 15:13:45 +03:00
storj-antonio
3510bc036e testsuite: fix testsuite/go.mod and enable linters
This change implements verification of the testsuite
and resolves missing go.sum module errors.

Change-Id: I7b513e74532581b8878d50aa2c5ddca12bbef2d0
2021-08-31 12:10:18 +00:00
nerdatwork
238282b7f6
web/satellite: fix typo in Add a Payment method popup 2021-08-31 10:44:43 +00:00
Egon Elbre
707c4a7b0e satellite/metabase: use implicit tx when batch deleting
Change-Id: I2dc577b95209674b626a76633dedf5b5b1641db0
2021-08-30 15:04:35 +03:00
Clement Sam
d0596c060d web/multinode: remove links to empty pages from navigation panel
The navigation panel on the multinode dashboard contains links to reputations and notifications pages which are empty and not ready yet.
This change removes the links to these empty pages from the navigation panel

Change-Id: I4cd386a143ace257904161d76402cd5f66daed7d
2021-08-30 08:46:04 +00:00
Vitalii Shpital
a7e151e970 web/satellite: added ability to restart onboarding tour
Added an info icon which toggles a bubble where user can click a button to restrat onboarding tour

Change-Id: I8b02a1506684377c2887cc9d9c93b5450f1bfd4d
2021-08-30 08:14:38 +00:00
Clement Sam
ce6ae1b17a web/storagenode: add online score block for selected satellite
Online score is shown on the dashboard for each satellite when all the satellites details are displayed.
When a user selects a single satellite, there is no online score block on the dashboard for the selected satellite.
This change adds an online score block to the suspension and audit area for case when a specific satellite is selected

Resolves https://github.com/storj/storj/issues/4180

Change-Id: I6065b64b9d9a7def946c1cc521494e1927799cfa
2021-08-27 18:56:27 +00:00
Cameron Ayer
51fdceafef satellite/repair: increment repair_too_many_nodes_failed with 0 for redash alerting
Change-Id: I990c8df7be30493705278b24954262834a1ed81f
2021-08-27 17:42:11 +00:00
Cameron Ayer
28cb690618 satellite/audit: log error and increment metric if shares cannot be verified
If we encounter an error during the infectious error correction, we just
add it to the errlist to be logged at the worker level.
We want to make sure we know about this if it happens. Give it its own
error log and increment a monkit metric.

Change-Id: Ie5946ae3cd97b766e3099af8ce160a686135ee27
2021-08-27 15:28:16 +00:00
Cameron Ayer
26f839a445 satellite/repair/repairer: if not enough nodes for repair order limits, increment metric and log as irreparable segment
Change-Id: I4bd46f28d64278c8d463e885ad221aafb6ce7cf3
2021-08-27 13:42:28 +00:00
Michał Niewrzał
2340429ea8 satellite/metabase/zombiedeletion: add missing test case
Additional test case where user is uploading 3 segments
each within 23h interval and when zombie deletion process
is executed then nothing is deleted because last segment
was uploaded in less then 24h.

Change-Id: I7426d6fe2c7e9b88c054a01408910c986bcf8d5f
2021-08-27 08:57:06 +00:00
Jeremy Wharton
eb11899acb cmd/satellite: Remove billing 'check-paid-tier' command
Now that the command has been run on all production satellites
(US1, AP1, EU1), we should not need it again.

Change-Id: I25a4ffb03a7172445d90a04ec539be36c4eb2c8e
2021-08-26 22:02:16 +00:00
Egon Elbre
a14bfdd51c mod: bump common and downgrade sqlite3
sqlite3 accidentally published v2 tags, however, they should not be
used.

Change-Id: I475c4c84f4d3f50bac5471c42a7e995d49eb382a
2021-08-27 00:29:43 +03:00
Cameron Ayer
24e02b6352 satellite/{audit,orders}: if not enough nodes for audit order limits, increment metric and wrap error with ErrNotEnoughShares
Increment a metric so we can get alerts. Wrap the error so we can search
the logs for it.

Change-Id: I3827aa306c431009828014d9d9afff8dfc057ee6
2021-08-26 20:14:05 +00:00
Jeff Wendling
58bd85cbf4 uplinkng: some windows test fixes
Change-Id: Idbe66028ac77d45eff9ea1926e6e8bd66491ea19
2021-08-26 17:52:13 +00:00
Moby von Briesen
1549a6a68a web/satellite: Use OSP logo
Remove Storj DCS logo and replace it with the Storj OCS logo - the dcs
logo will replace this from our branding repo.

Change-Id: I01daa67380f04bf62df980a2c84b3e48bccd63f1
2021-08-26 16:52:15 +00:00
Vitalii Shpital
0376fcdaef integration/ui/satellite: fixed tests for onboarding flow
Fixed tests to pass

Change-Id: I90c61168a3a67188e586564a5df381f2f41e2834
2021-08-26 19:07:52 +03:00
Yingrong Zhao
445ebf86c0 satellite/satellitedb: allow setting rate limit for a project to 0
If a user starts to abuse our system, we need the ability to manually
disable their access

Change-Id: Ia31964cedb830323da69c1153a84d610cf8310cd
2021-08-26 13:45:01 +00:00
Michał Niewrzał
211a630982 cmd/uplink: add parallelism flag for single object download
Adds support for new uplink method DownloadObjectAt which
gives ability to download single object in parallel.

Change-Id: I8388653429992b0d24c383d17d7e90904203fe77
2021-08-26 13:13:38 +00:00
Michał Niewrzał
5c91ecd271 satellite/metainfo: endpoint cleanup
Two small cleanups:
* merging private commitObject, commitSegment,
makeInlineSegment with its public versions. We were
using it when pb.Pointer was still used.
* removing unused CreatePath method

Change-Id: Ib18b07473d91259335dab874559ef52412ab813d
2021-08-26 09:52:38 +00:00
Michał Niewrzał
c29734ef64 satellite/accounting/tally: remove commented metrics
This change removes metrics which were moved to metrics chore.

Change-Id: I5ddff428cae10ac5e94d8f45691d698958579a61
2021-08-26 09:29:55 +00:00
Moby von Briesen
7b4a09c1ea satellite/console: Allow basic headers in CORS preflight
Currently, post requests originating from www.storj.io are failing
because the content-type header is not permitted for the /register
endpoint.

Change-Id: I14f21c2a27d8f0c8bae3609a5bf4b1e69a72c119
2021-08-25 12:47:14 -04:00
Egon Elbre
6daad68735 web/satellite: don't require explicit RootGetter type
There's no need to define RootGetter type on StoreModule,
because Context already should have it defined.
Although the invocation to get that type is rather arcane.

Change-Id: I9525c0e4853f4c5211bdaf1645f0a27c26af8f53
2021-08-25 13:16:24 +03:00
Egon Elbre
ad0b19fb02 web/satellite: fix lint issues
Fix svg.d.ts definition.

Disable no-explicit-any in src/api, because wrangling all the GraphQL
result types properly is not that nice. We can either fix this later
manually, generate GraphQL types or remove the GraphQL endpoints.

Add annotations to src/store/. Currently it still uses any in places and
also defines more types than absolutely necessary. This is an
unfortunate side-effect of the vuex api. There does seem to be an
alternative package that handles them, but to minimize the number of
changes, we'll currently use these types. Due to those decisions it's
also not easily possible to have types instead of any in multiple
places.

StripeCardInput currently uses any, however, if we find the proper
declarations, we can replace them later.

Change-Id: I2ec8bf7fdd8023129d1f8739ce2b6d97de2a58d0
2021-08-25 06:01:19 +00:00
Moby von Briesen
101bbc4414 satellite/console: Fix flaky TestMFA test
Change-Id: Id4fa072f94a4102f3df1bd3aa99984bdd0724497
2021-08-24 17:42:59 +00:00
Egon Elbre
f0c3514b24 web/satellite: remove uses of v-html
Change-Id: Ief9d8af327c02212a6c138773af9f1dc8028a5b6
2021-08-24 13:29:35 +03:00
Egon Elbre
6f2258d870 web/storagenode: fix use of v-html
Change-Id: I0ebbefc7b562c712dd30158c6c688aa0c524abac
2021-08-24 13:02:42 +03:00
Michał Niewrzał
b7555980c4 satellite/metainfo: add zombiedeletion chore
This chore will be deleting zombie objects and it's segments.

Change-Id: Ia5d92dd6c3f52e178d4d43d9603732310761e027
2021-08-24 08:22:06 +00:00
Jeremy Wharton
6a6cc28fc1 satellite/console,private/web: Rate limit coupon code application
Rate limits application of coupon codes by user ID to prevent
brute forcing. Refactors the rate limiter to allow limiting based
on arbitrary criteria and not just by IP.

Change-Id: I99d6749bd5b5e47d7e1aeb0314e363a8e7259dba
2021-08-23 17:00:31 +00:00
Michał Niewrzał
0344790c20 satellite/metabase: delete zombie object that has no new segments for specific period of time
Added options flag to define after which object won't be marked as inactive. All segments CreatedAt
time needs to be bellow this flag to treat object as inactive.

Change-Id: Ib5cffc776c6ee1b62b51eb8595438f968b42528c
2021-08-23 08:25:38 +00:00
NickolaiYurchenko
1e02504be6 web/multinode: satellite, node, and usage request handling fix
Change-Id: Ica315fa9b78bd8e4d2d0db0f4f05f295b8991053
2021-08-20 21:33:26 +00:00
storj-antonio
8c8a3e217f testsuite/ui: move from integration
Move ui tests to testsuite/ and introduce a new go.mod.
This prevents cyclic references when building edge binaries for testing.

Change-Id: I613fdc21ef9eaffba2052f6ad973bfa18c7c86bd
2021-08-20 16:33:53 +00:00
Cameron Ayer
5a1a29a62e satellite/audit: fix containment bug where nodes not removed
When a node gets enough timeouts, it is supposed to be removed
from pending_audits and get an audit failure. We would give them
a failure, but we missed the removal. This change fixes it.

Change-Id: I2f7014e28d7d9b01a9d051f5bbb4f67c86c7b36b
2021-08-20 14:48:27 +00:00