112 Commits

Author SHA1 Message Date
Jan Keromnes
a99b0c3a74 [server] Refactor StripeService.createCustomer to only use attributionIds 2022-09-23 15:53:24 +02:00
Jan Keromnes
064755b7c4 [server][dashboard] Refactor createOrUpdateStripeCustomerFor{User,Team} to createStripeCustomer 2022-09-23 15:53:24 +02:00
Andrew Farries
317d157bc1 Remove findStripeSubscriptionIdForTeam method 2022-09-23 09:18:24 +02:00
Andrew Farries
a4cb27d61e Remove get/setUsageLimitForTeam methods 2022-09-23 09:18:24 +02:00
Andrew Farries
c846cc8480 Remove getStripePortalUrlForTeam method 2022-09-23 09:18:24 +02:00
Andrew Farries
a1e9700142 Remove subscribeTeamToStripe method 2022-09-23 09:18:24 +02:00
Alex Tugarev
eb8e1d7167 Update notifications on updates to subscription 2022-09-15 16:25:16 +02:00
Jan Keromnes
3182ee45f9 [dashboard][protocol] Remove unused params from CreateProjectParams 2022-09-15 11:35:16 +02:00
Andrew Farries
743dcf7690 Add getUsageLimitFor and setUsageLimitFor
Add two new methods to the server API for getting and setting usage
limits. Both new functions take an attributionId and work for both users
and teams.

For backwards compatibility, leave the `getUsageLimitForTeam` and
`setUsageLimitForTeam` methods as they are still used by the dashboard,
but change them to be implemented in terms of the more general `get/set`
methods.
2022-09-14 08:58:15 +02:00
Jan Keromnes
23f216b831 [server] Remove deprecated sendFeedback method 2022-09-13 17:16:14 +02:00
Andrew Farries
b634fb3836 Add subscribeToStripe server method
Generalize the `subscribeTeamToStripe` method so that it works for user
attribution ids too.

Implement the `subscribeTeamToStripe` method in terms of the new general
method.
2022-09-13 08:43:14 +02:00
Jan Keromnes
7a23e97cf6 [server][dashboard][protocol] Remove deprecated Project DB config feature 2022-09-13 07:50:14 +02:00
Andrew Farries
9be2634132 Add getStripePortalUrl method to server 2022-09-12 16:59:13 +02:00
Andrew Farries
015987aa42 Add findStripeSubscriptionId method to server
Add a general method for finding the stripe subscription id for a given
attribution id. Implement the existing `findStripeSubscriptionIdForTeam`
method in terms of the new method.
2022-09-12 14:30:14 +02:00
Andrew Farries
7df06a862a Add createOrUpdateStripeCustomerForUser method
Directly analogous to createOrUpdateStripeCustomerForTeam, the only
difference is the metadata on the resulting Stripe customer.
2022-09-08 09:59:23 +02:00
Sven Efftinge
5e72785abc [usage] remove ListBilledUsage API 2022-09-08 08:54:23 +02:00
Alex Tugarev
ca7602f0cb Reword "Spending Limit" to "Usage Limit" 2022-09-06 11:43:21 +02:00
Sven Efftinge
e01c880447 Added API call to fetch usage data 2022-09-06 09:58:21 +02:00
Jan Keromnes
b94612d434 [server][dashboard] Allow new Stripe customers to select their preferred billing currency 2022-09-01 10:46:16 +02:00
Alex Tugarev
a8d0889405 Add pagination to list usage 2022-08-31 15:14:16 +02:00
Sven Efftinge
79b75ab4d5 Add phone verification 2022-08-29 09:36:13 +02:00
Gero Posmyk-Leinemann
95dc348f5d [server] Introduce getBillingModeForUser/-Team 2022-08-05 09:33:49 -03:00
Laurie T. Malau
04f122ca8a add sorting 2022-08-01 08:00:45 -03:00
Thomas Schubart
d0c35234d4 [server] Add endpoint for retrieving workspace classes 2022-07-25 12:39:20 -03:00
Laurie T. Malau
e163181605 Extend server args with time-filtering 2022-07-25 08:07:20 -03:00
Alex Tugarev
568d9e7113 Add "spending limit is reached" notification 2022-07-22 11:31:17 -03:00
Alex Tugarev
57c83fd42c Add Spending Limit to Billing page 2022-07-21 09:22:16 -03:00
Alex Tugarev
472f0b71e0 Move usageAttributionId 2022-07-21 08:55:16 -03:00
Andrew Farries
e2385352a4 [usage] Implement GetBilledUsage rpc 2022-07-18 13:57:13 +02:00
Alex Tugarev
be5a5dace1 Simple UI for Prebuild Events (sneak preview) 2022-07-15 15:12:02 +02:00
Laurie T. Malau
79f90d802c Implement skateboard Usage view 2022-07-11 12:35:58 +05:30
mustard
154dc5fd7d [server,db,protocol] support ssh public key
Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
2022-07-05 11:04:52 +05:30
Laurie T. Malau
59bb214a25 use prebuildlogs instead 2022-06-29 23:47:38 +05:30
Andrew Farries
5cc4e3d0b2 Return raw duration from getWorkspaceTimeout
Include the raw duration from getWorkspaceTimeout, ie in the format
'60m' before translation to 'short' or 'extended' etc.
2022-06-24 19:26:33 +05:30
Jan Keromnes
26b4f555f4 [server][dashboard] Allow teams to cancel and renew their usage-based subscription in Stripe 2022-06-24 14:55:33 +05:30
Jan Keromnes
7bf63df2e9 [server][dashboard] When creating a new Stripe customer, also create a Usage-Based Subscription for them 2022-06-14 17:51:24 +05:30
Jan Keromnes
610694cf72 [server][dashboard] Implement Stripe portal to allow usage-based customers to manage their subscription 2022-06-10 13:43:19 +05:30
Jan Keromnes
497741db84 [server][dashboard] Minor Stripe API clean-up 2022-06-09 21:22:19 +05:30
Jan Keromnes
585611c70e [server][dashboard] Allow teams to sign up for Usage-Based Billing via Stripe 2022-06-08 14:27:18 +05:30
Jan Keromnes
ff300de9b2 [server][dashboard] Implement a new Team Billing where Owners can conveniently manage a paid plan for their Team 2022-05-16 13:25:31 +05:30
Andrew Farries
35e21783ac [webapp] Introduce new instance phase "building" (part I, back- and forwards-compatible) 2022-04-28 00:51:14 +05:30
Jan Keromnes
e8ab358971 Allow integrating with 'github.com' without a GitHub App 2022-04-21 19:26:34 +05:30
Cornelius A. Ludmann
5166afd3d9 [installer] Allow to set default workspace timeout 2022-04-06 14:35:19 +05:30
Alex Tugarev
76b51bc224 [bitbucket-server] support for projects and prebuilds 2022-04-04 14:07:17 +05:30
Milan Pavlik
2f0b9462b0 Format components/gitpod-protocol with prettier 2022-03-14 21:42:21 +05:30
mustard
f6080897a7 Remove Theia extension related code 2022-03-12 00:17:18 +05:30
Tarun Pothulapati
3be4e0b7a5 telmetry: show collected data under the disable option
Currently, The service ping can be disabled by going into the
admin settings. Users are more likely to do that if they have
no clue what is being sent.

This PR tries to improve this experience, by showcasing the
exact data that is being sent below the option. This is possible
by creating a new TelemetryDataProvider and injecting that
both in the `installation-admin-collector` controller
and the `gitpod-service` (`getTelemetryData` func is added here
that can be used).

This PR also adds a gaurd to the `/admin/settings` page which
was missing previously

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

replace cluster with gitpod instance in desc

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

easy nits around design and TelemetryData naming

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

gaurd telemetry method with admin access

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

replace TelemetryData at more places

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

gaurd access to `admin/settings` like other admin settings

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

call useEffect hook early

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2022-02-21 17:42:01 +05:30
Jan Keromnes
63f613704e [server][dashboard] Improve 'New Workspace' modal with a search input, keyboard navigation, and a new context URL suggestion API 2022-02-08 14:48:30 +01:00
Gero Posmyk-Leinemann
d955ce10f0 [server, dashboard] Do basic rate limiting on startWorkspace 2022-02-07 18:54:29 +01:00
Simon Emms
f9ec0f8cc6 [dashboard]: create a settings tab inside admin 2022-01-26 15:53:19 +01:00