Commit graph

53 commits

Author SHA1 Message Date
renovate[bot]
b2bb73031e
Update clickhouse/clickhouse-server Docker tag to v22.11 (#695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-11-26 14:50:59 +01:00
renovate[bot]
1afe0ec73a
Update dependency @theguild/prettier-config to v1 (#676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-11-24 10:00:41 +00:00
Kamil Kisiela
83343333e8 Include *.google-analytics.com in CSP 2022-11-22 13:00:57 +01:00
Dotan Simha
3ccff46f0f
Added missing PodDisruptionBudget, upgrade cert-manager to latest (#656) 2022-11-18 11:15:14 +02:00
Laurin Quast
8a93ed28b8
update supertokens to 4.2 (#618) 2022-11-09 11:07:10 +01:00
Laurin Quast
0c3acec055
feat: revoke all sessions after a password reset (#606) 2022-11-08 16:45:21 +01:00
Kamil Kisiela
a959522d03
envoy - bump timeoutPolicy to 60s and retry twice on reset (#614)
I updated the helm chart `7.8.0 -> 10.0.0`
Whenever a request is dropped because of connection reset, we do a retry (max 2) now.
The timeout (response) is higher `60s -> 15s` for all upstream routes.
2022-11-08 15:12:22 +01:00
Laurin Quast
9f40dc4cea
Update cloudflare-security.ts (#607) 2022-11-08 13:28:18 +01:00
Kamil Kisiela
51cb4bb412
Request Proxy in CF Worker (#517) 2022-11-07 14:27:19 +01:00
Laurin Quast
bf11f56469
enable organization <-> oidc linking feature (#605) 2022-11-07 11:51:01 +01:00
Kamil Kisiela
6745322c17
Enable OIDC 2022-11-04 17:07:32 +01:00
Kamil Kisiela
67da4494f4
Revert "enable feature in deployment (#601)" (#602)
This reverts commit f91cb55508.
2022-11-04 16:40:37 +01:00
Laurin Quast
f91cb55508
enable feature in deployment (#601) 2022-11-04 15:07:19 +00:00
Laurin Quast
d5c9a8fad5
remove okta deployment config (#599) 2022-11-04 12:37:21 +00:00
Laurin Quast
991c82693b
feat: OIDC organisation integration (#524)
* feat: support login via okta

* add deployment config

* feat: automatically start okta login when visiting /auth with okta provider query parameter

* remove trailing slash from base url

* laurin pls

* ...

* adjust deployment url

* we dont need this

* docs: document how to enabled Google and GitHub social login (#511)

* docs: document how to enabled Google and GitHub social login

* Apply suggestions from code review

* Apply suggestions from code review

* docs: add Okta instructions

* fix typo

* add database migration

* feat: env decoding

* auto generate id

* add generates types for the postgres table

* implement crud graphql fields for the oidc integration entites

* add unique constraint for the oidc domain column

* use correct sql query for updating an oidc integration

* return organization from deleteOIDCIntegration ok result

* add crud forms to the settings page

* update integration test fixture value

* drop unique constraint for oidc_integrations.domain as this would allow a malicous user to block another account from using a domain

* move notice to isolated component

* apply url normalization in a central place

* implement supertokens provider and overrides for dynamic oidc provider integrations

* relocate code to correct files

* prettify oidc crud forms

* replace Query.isOIDCIntegrationFeatureEnabled with the Organization.viewerCanManageOIDCIntegration field

* do not show oidc integrations for personal organizations + disable crud endpoints if the feature is disabled

* load oidc integration for the supertokens flow via trpc from the server

* prepare encryption secret within constructor

* add user to organization upon oidc login

* login via oidc does not create a personal organization

* redirect oidc user to oidc organization

* disallow oidc users to create an organization

* disallow oidc accounts joining another organization

* add test for updating an oidc integration

* enhance ui

* add documentation for OIDC SSO

* add more tests

* import Callout component

* update snapshots

* rename field User.isLinkedToOIDCIntegration to User.canSwitchOrganization to be more decriptive

* add traling new line

* gracefully handle unique constraint

* upgrade supertokens-auth-react and adjust the code in order to remove the global preApiHook

* sync image versions with tests

* remove obsolete comment

* rename database column

* bruv

* add test for oidc user deletion
2022-11-03 16:45:17 +01:00
Denis Badurina
18f435619c
@hive/deployment is a private package (#575) 2022-11-02 03:11:18 +02:00
Dimitri POSTOLOV
12ceda69dc
Use pnpm instead of yarn (#477)
Co-authored-by: enisdenjo <badurinadenis@gmail.com>
Co-authored-by: Denis Badurina <denis@domonda.com>
2022-11-01 02:11:53 +02:00
Dotan Simha
5773754785
Update all Pulumi dependencies to latest and fix deployment tsconfig.json (#541) 2022-10-26 10:27:35 +03:00
Kamil Kisiela
e85d8220a7
Ensure user and personal org creation after successful sign up/in (#518) 2022-10-25 16:12:43 +02:00
Dotan Simha
ed44ec470a
fix env name (#523) 2022-10-21 03:43:29 +00:00
Dotan Simha
846e76cde5
Fixes for CSP on Safari, made hostname inference dynamic, remove headway scripts, update and adjust @pulumi/cloudflare setting to use latest version (#522) 2022-10-21 05:33:50 +03:00
Dotan Simha
e697961d6f
Manage security headers through CloudFlare Transform Rule (for SaaS) (#509)
Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-20 08:04:05 +00:00
Kamil Kisiela
bf4b35c8c8
Scrape non-200 from Envoy (#513) 2022-10-19 15:38:28 +02:00
Kamil Kisiela
57ed1a8edb
Use 6 replicas of usage-ingestor 2022-10-17 17:39:25 +02:00
Kamil Kisiela
79187c8f19
Use Sentry in CF Workers (#460) 2022-10-07 12:08:29 +02:00
Kamil Kisiela
dbb5d7ef0a
Fix missing ClickHouse mirror (cloud) (#461) 2022-10-06 15:05:40 +02:00
Kamil Kisiela
b9d8e2ceac
Fix the new env vars setup (#450)
* Use 5432 as default port of pg

* Fix ssl

* fix: only set heartbeat env variable if heartbeat is enabled (#446)

* fix: only set heartbeat env variable if heartbeat is enabled

* fix: default port

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>

* POSTGRES_SSL everywhere

* oh come on

* Fix Kafka connection

* Fix DOCS_URL

* Fix docs url

* But I can feel your heartbeat

I can feel your heartbeat (he said to me)

'I can feel your heartbeat' (running through me)

Feel your heartbeat

She said, 'I can feel your heartbeat' (she said to me)

'I can feel your heartbeat' (she said to me)

'I can feel your heartbeat' (running through me)

Your heartbeat, feel your heartbeat

* Your heartbeat, your heartbeat

Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-10-05 11:48:05 +02:00
Laurin Quast
7656b7957d
feat: clean app env (#422)
* feat: document environment variables

* more env documentation

* wip

* add noop for backend env

* typo

* feat: embed environment validation/parsing in built app

* fix the sentry integration 😌

* feat: use env

* feat: decode the usage service environment

* feat: decode the webhooks service environment

* feat: disallow process.env

* feat: decode the tokens service environment

* feat: decode the stripe-billing service environment

* feat: decode server service environment

* feat: decode schema service environment

* feat: decode rate-limit service environment

* feat: decode usage-estimator service environment

* feat: decode emails service environment

* adjust env

* remove commented out code

* adjust env variable name

* use separate env variables

* env fixes

* more environmental stuff :)

* ...

* replace POSTGRES_CONNECTION_STRING with specific environment variables

* handle optional clickhouse (for now :)

* add missing POSTGRES_DB environment variable

* make ENVIRONMENT optional

* the other matters lol

* feat: support delivering mails via SMTP (#412)

* feat: optional CDN (#410)

* feat: optional CDN

* enable CDN in deployment

* enable the CDN in integration tests

* add sendmail provider

* remove unused env variables from the deployment

* only show login alert when legacy auth0 migration is enabled

* feat: make TOKENS_ENDPOINT mandatory and RATE_LIMIT_ENDPOINT optional for usage service

* feat: upgrade supertokens and enable server side email confirmation (#423)

* feat: upgrade supertokens and enable server side email confirmation

* feat: opt into required email verification

* docs: self hosting (#428)

* docs: self-hosting quick start

* Update packages/web/docs/pages/self-hosting/get-started.mdx

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>

* feat: optional GitHub and Slack environment variables (#440)

* feat: optional github integration environment variables

* feat: optional slack integration (#441)

* use latest stable supertokens

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-10-04 14:30:21 +02:00
Laurin Quast
1efe248632
feat: upgrade to supertokens core 4.1 (#432) 2022-10-04 10:47:53 +02:00
Kamil Kisiela
549072506e
Use 4 replicas of usage-ingestor 2022-10-03 20:49:58 +02:00
Kamil Kisiela
2c5a2896bd
Update usage-ingestor.ts 2022-09-30 11:11:30 +02:00
Kamil Kisiela
01e47d7a1d Use 3 replicas of usage-ingestor 2022-09-28 11:44:25 +02:00
Kamil Kisiela
64e53f207b
Adjust deployment for #390 (#405) 2022-09-26 14:30:15 +02:00
Laurin Quast
a03cc58e5b
feat: remove app next.js built-time environment variable requirement (#382)
* feat: retreive stripe public key via runtime environment variable instead of a build-time environment variable

* feat: retreive google and github enabled environment variable  via runtime environment variable instead of a build-time environment variable

* feat: retreive app base url  environment variable via runtime environment variable instead of a build-time environment variable

* feat: retreive mixpanel token environment variable via runtime environment variable instead of a build-time environment variable

* lazy initialize app info

* feat: provide ga tarcking id and crisp website id via environment variable

* make docs url optional

* feat: load sentry config from environment variables

* document hive app environment variables

* add application dockerfile

* add docker build instructions

* lul

* set working directory

* pls fix

* lol this is apollo-router not graphql-hive

* feat: only show sentry stuff if sentry environment variables are set

* use LTS node version

* No mixpanel

* Fallback

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
2022-09-21 12:47:40 +02:00
Kamil Kisiela
3e3bb87ff9 Provision the encryption to the schema service 2022-09-16 14:06:37 +02:00
Kamil Kisiela
f860111a50
Use SuperTokens v3.16 and make it dependent on PG (#366) 2022-09-14 15:47:55 +02:00
Kamil Kisiela
80d971f24d
Use 2 replicas of GraphQL API and make slonik interceptor type-safe (#360)
* type-safe slonik interceptor

* Use 2 replicas of graphql-api
2022-09-14 09:52:04 +02:00
Kamil Kisiela
7fe77389db
Route traffic to ClickHouse Cloud (#346) 2022-09-08 15:51:23 +02:00
Kamil Kisiela
53fc9418fd
Sentry on staging (#338) 2022-09-06 18:05:39 +02:00
Laurin Quast
6540155fc7
feat: replace auth0 with supertokens (#303)
* add supertoken container to docker-compose file

* yeah I am sorry this one big commit and I am ashamed of it

* use logOut function

* feat: show header on 404 page

* feat: better handling for organization cookie when not authenticated

* wrap it

* check session within server side props

* add is_admin flag user migration

* simplify and annotate the config

* fix: handle status codes + fix email/password sign up with import from auth0

* no hardcoded env pls

* decode process.env

* secure update user id mapping via a key

* fix: login form

* lol we don't need to hit the API

* fix: do graphql api authorization via authorization header instead of cookie

* implement isAdmin flag

* fix: types :)

* skipit

* yo we can run this

* set env variables

* disable because it annoys the hell out of me

* use the right host

* add not about token length

* refactor: decode environment variables

* feat: store external user id from guthub/google provider in the database

* workaround supertokens omitting null values from the token

* re-enable check

* i have no time for this shit

* add missing env variable

* fix: email test; missing domain extension

* configure pulumi deployment

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
Co-authored-by: Dotan Simha <dotansimha@gmail.com>

* configure pulumi deployment

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
Co-authored-by: Dotan Simha <dotansimha@gmail.com>

* configure pulumi deployment

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
Co-authored-by: Dotan Simha <dotansimha@gmail.com>

* configure pulumi deployment

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>

* fix: env names

* fix: link google account to the correct db record

* feat: email confirmation emails

* ?

* bump ts-node

* fix types

* omit package form the bundle

* remove it from dependencies...

* add emails apckage to dev deps

* resolve eslint issues

* remove comments

* update dev info + change env variable (no need to expose it on the frontend)

* use correct user id lol

Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com>
Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 09:38:31 +02:00
Kamil Kisiela
8cd7a4a885
New invitation system (#315)
* New invitation system

* Fix format

* Deployment
2022-08-25 21:01:37 +02:00
Kamil Kisiela
d02f9efdf0
Initial Emails service (#261)
* Initial Emails service

* Fix yarn.lock

* Metrics

* Fixes
2022-08-12 14:51:09 +02:00
Kamil Kisiela
25d6b0191b
Migrate X-API-Token to Authorization header (#122) 2022-07-01 11:43:27 +02:00
Kamil Kisiela
173b4844f1
Add heartbeats to tokens, webhooks and usage-ingestor services (#186)
Support BetterUptime Heartbeats
2022-06-27 13:17:32 +02:00
Kamil Kisiela
20e3129caa
$ prettier <all> (#46)
Co-authored-by: Dimitri POSTOLOV <dmytropostolov@gmail.com>
2022-05-24 16:31:53 +03:00
Dotan Simha
2885b6faf8
improve logging and health conditions of rate-limit and usage-estimator (#56) 2022-05-24 15:17:23 +03:00
Dotan Simha
d8640dd2ec
Use only one usage replicas (#39) 2022-05-19 15:54:02 +03:00
Dotan Simha
3c097a1853
Added auto scaling based on CPU for pods (#26)
* Added auto scaling based on CPU for pods

* fix for hpa and cpu limits of containers
2022-05-19 13:18:36 +03:00
Dotan Simha
f4252668a5
Ignore pulumi config files (#23) 2022-05-19 09:48:32 +03:00
Kamil Kisiela
f6d4386ae4
Revert "Added auto scaling based on CPU for pods (#1)" (#6)
This reverts commit 0f85b3a694.
2022-05-18 12:57:32 +02:00