57 Commits

Author SHA1 Message Date
Milan Pavlik
91ecf0782e [public-api] Implement experimental JoinTeam 2022-11-03 08:57:08 +01:00
Milan Pavlik
66c9f2df22 [public-api] Add primary_email to TeamMember 2022-11-03 08:33:07 +01:00
Milan Pavlik
5af42c46c0 [public-api] Implement experimental GetTeam 2022-11-03 08:31:07 +01:00
Milan Pavlik
1b4966be80 [public-api] Populate full name and avatar for team members 2022-11-02 16:50:07 +01:00
Milan Pavlik
e24616b9fb [public-api] Implement experimental ListTeams 2022-11-02 09:50:06 +01:00
Milan Pavlik
45dcd0a5c3 [public-api] Implement member_since on TeamMember 2022-11-01 15:44:06 +01:00
Milan Pavlik
4c3007af75 [public-api] Implement experimental TeamsService.CreateTeam 2022-11-01 13:56:06 +01:00
Milan Pavlik
9d1a82446d [public-api] Implement connection pool with LRU cache 2022-10-31 13:59:05 +01:00
Milan Pavlik
45acc29cb1 [public-api] Export metrics with package label instead of service 2022-10-25 10:14:39 +02:00
Milan Pavlik
2d888a5ded [public-api] Move API definitions to experimental package 2022-10-19 17:23:34 +02:00
Milan Pavlik
063be607c6 [public-api] Add logs interceptor 2022-10-19 11:59:34 +02:00
Milan Pavlik
d6242ed18a [public-api] Remove unimplemented, or no longer needed RPCs 2022-10-19 10:34:34 +02:00
mustard
3075f3e533 [public-api] implement workspace proto 2022-10-19 09:42:34 +02:00
Milan Pavlik
bbc39b9d33 [public-api] Add client/server metrics interceptor 2022-10-19 09:33:34 +02:00
Milan Pavlik
0a476c52e8 [public-api] U Refactor to use connect handlers, route to HTTP server 2022-10-12 12:19:27 +02:00
Milan Pavlik
46d734e482 [public-api] Authentication interceptors for connect API 2022-10-10 16:54:26 +02:00
Milan Pavlik
e836dd4fe3 [public-api] Bind unimplemented WorkspacesServiceHandler using Connect 2022-10-06 16:06:22 +02:00
Milan Pavlik
31f273205f [proxy] Route HTTP 1.x requests to public-api-server 2022-10-05 07:56:20 +02:00
Milan Pavlik
aa6a8ffb0e [public-api] Reeuse metrics registry from baseserver 2022-10-03 13:50:19 +02:00
Sven Efftinge
1b76bca17d [public-api] handle customer.subscription.deleted event
This event is fired by Stripe when a customer cancels their subscription
2022-09-16 16:24:17 +02:00
Milan Pavlik
42224aeee9 [baseserver] Add metric with version of the server, use in public api and usage 2022-09-16 14:20:17 +02:00
Milan Pavlik
c2b7421628 Fix stripe secret parsing 2022-08-30 10:58:14 +02:00
Milan Pavlik
40ab42e18a [public-api] Validate incoming stripe webhooks 2022-08-29 13:58:14 +02:00
Andrew Farries
aba684fda1 Test webhook invokes FinalizeInvoice
TestWebhookInvokesFinalizeInvoiceRPC ensures that when the webhook is
hit with a `invoice.finalized` event, the `FinalizeInvoice` method on
the billing service is invoked with the invoice id from the event
payload.
2022-08-10 15:55:56 +02:00
Andrew Farries
d7416fd71d Add mock billing service
`mockgen --source client.go`
2022-08-10 15:55:56 +02:00
Andrew Farries
2d2f3e8b24 Make webhook use billingservice client
Construct and pass a billingservice client to the Stripe webhook so that
it can invoke the `FinalizeInvoice` RPC when the webhook is triggered.
2022-08-10 15:55:56 +02:00
Andrew Farries
c5ac85195b Add billingservice package to public-api-server
Takes the address of the billing service gRPC server and constructs a
client.

Also add a noop version of the client for when no billingservice is
configured (such as will be the case for self-hosted installations).
2022-08-10 15:55:56 +02:00
Andrew Farries
5ae8777513 Extract and log invoiceId in webhook 2022-08-10 15:25:54 +02:00
Andrew Farries
03d6f19013 Send valid payloads for stripe events
Add a minimal Stripe event payload for an `invoice.finalized` event.

Ensure all tests send event payloads. The only event type of interest
for the webhook is `invoice.finalized` so other event types can have
empty payloads.
2022-08-10 15:25:54 +02:00
Andrew Farries
c1a6f64e97 Add tests for the Stripe webhook
Test:
* The handler only accepts POST requests.
* The handler only responds to "invoice.finalized" events.

Add code to the handler to make those tests pass.
2022-08-05 10:12:49 -03:00
Andrew Farries
a9958a0ffa Add Stripe webhook to public api server 2022-08-02 09:26:46 -03:00
Christian Weichel
705c4603ab [public-api] Support ListWorkspace 2022-07-13 10:17:00 +02:00
Andrew Farries
c83333fc3a Add usage-api component
Add Placeholder .proto files and script to generate Go client/server
SDKs.

Adapted from the `public-api` component.
2022-07-08 16:25:55 +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
Christian Weichel
b7bf69d01e [public-api-server] Harmonise configuration structure 2022-05-25 17:35:39 +05:30
Milan Pavlik
49e3d1e82d [public-api] Do not use localhost as address, not reachable in k8s 2022-05-18 18:50:33 +05:30
Andrew Farries
155efaacfc Make proxy treat 403 error as rpc PermissionDenied 2022-05-17 22:11:32 +05:30
Andrew Farries
a645a8cf66 Implement test for GetOwnerToken 2022-05-17 22:11:32 +05:30
Andrew Farries
dc80c457f1 Add method to FakeGitpodAPI 2022-05-17 22:11:32 +05:30
Andrew Farries
27b685ce7b Implement GetOwnerToken rpc
Replace the stub implementation with a real one that invokes the server
JSON rpc API.
2022-05-17 22:11:32 +05:30
Christian Weichel
d2384ea29e [baseserver] Make consuing ServerConfiguration easier 2022-05-16 13:23:31 +05:30
Christian Weichel
5dd9465378 [public-api] Adapt to new baseserver structure 2022-05-16 13:23:31 +05:30
Christian Weichel
4960dce425 [baseserver] Enforce common standards services
specifically debug, health and readiness
2022-05-16 13:23:31 +05:30
Christian Weichel
b397fed927 [baseserver] Support common config struct 2022-05-16 13:23:31 +05:30
Milan Pavlik
fc5f2bf1c3 [baseserver] Dedicated debug server 2022-05-13 14:32:28 +05:30
Milan Pavlik
5361bab694 [public-api] Convert server errors to appropriate RPC errors 2022-05-13 13:08:28 +05:30
Andrew Farries
2a4dd8a2c0 Add test for GetOwnerToken method 2022-05-12 21:39:27 +05:30
Andrew Farries
e0fa9d2392 Add GetOwnerToken method to WorkspaceService 2022-05-12 21:39:27 +05:30
Laurie T. Malau
2250729ffd Add request duration metric 2022-05-10 15:17:25 +05:30
Laurie T. Malau
202d703fe0 Transform getWorkspace response 2022-05-06 17:25:22 +05:30