* 🔥 initial commit
* update readme
* Update README.md
* Update README.md
* deploy scripts
* very basic consumer setup
* add some configs and docker-compose
* formatting for testing
* add tailscale
* flip from dev to prod flag
* set default to be not prod
* default for group_id
* tailscale up
* update gitignore
* basic geolocation
* remove unused localServer
* document mmdb
* just make configs an example
* drop raw print
* add a start script (downloads the mmdb)
* add readme and update configs.example
* ts working
* if in start
* update start script
* fix start
* fix start
* fix more
* add sql endpoints for tokenId and Person lookups
* work towards filter
* sub channel
* fix subChan
* hardcode team2 token
* add cors
* only allow get and head
* add atomicbool
* add channel to kafka
* add logs
* verbose logs
* make array
* drop sub ptrs
* more logs
* helps to loop
* drop some logigng
* move sub branch
* logging
* drop log
* hog
* Deal with numeric distinct ids later
* logs
* api_key
* send 1/1000
* remove log
* remove more logs
* change response payload
* set timestamp if needed
* fill in person_id if team_id is set
* require teamid, convert to token
* clean up subs on disconnect
* log
* check for token in another place
* clean up subs on disconnect
* drop modulo and log
* fix no assign
* don't reuse db conn for now
* drop a log
* add back commented out log
* Don't block on send to client channel
* add geo bool
* only geo events
* use wrapper ip
* don't require team in geo mode
* add an endpoint and stats keeper for teams
* remove stats keeper
* start stats keeper
* wire it up
* change the shape of the response
* omit empty error
* omit empty on the stats as well
* enable logging on back pressure
* add jwt endpoint for testing
* support multiple event types
* Get Auth Setup
* jwt team is float so turn that into int
* logs
* add auth for stats endpoint
* remove tailscale and use autoTLS on public endpoints
* default to :443 for auto tls
* remove un-needed endpoints and handlers
* Use compression because... a lot of data (#9)
* add dockerfile and CI/CD (#10)
* add dockerfile and CI/CD
* Use ubuntu not alpine
couldn't build in alpine :'(
* Add MMDB download to Dockerfile (#11)
* Use clearer name for MMDB
* Don't connect to Kafka over SSL in dev
* Fix JWT token in example config
* Add postgres.url to example config
* Add expected scope
* Fix const syntax
* Put scope validation where claims are known
* Fix audience validation
* moves
* ignore livestream for ci
* main -> master
* move GA to root
* docker lint fix
* fix typo
* fixes for docker builds
* test docker build
* livestream build docker
* dang
* Update .github/workflows/livestream-docker-image.yml
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
* Update .github/workflows/livestream-docker-image.yml
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
* don't build posthog container when PR is pushed for rust or livestream
* Update .github/workflows/livestream-docker-image.yml
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
* add a lot of paths-ignore
* Update .github/workflows/livestream-docker-image.yml
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
* Dorny filters are handling most of what I was trying to do
* remove tailscale to speed up builds
* maybe?
* push container to github.com/posthog/postog
* don't build container on PR
* remove more filters because dorny
---------
Co-authored-by: Brett Hoerner <brett@bretthoerner.com>
Co-authored-by: Zach Waterfield <zlwaterfield@gmail.com>
Co-authored-by: Frank Hamand <frankhamand@gmail.com>
Co-authored-by: Michael Matloka <michal@matloka.com>
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
use new state deployment for posthog cloud
once https://github.com/PostHog/charts/pull/1343 is merged everything
will be in place to support this (uploading assets)
this should make it significantly easier to do fast rollbacks
use new deployment trigger for temporal worker deployments
these trigger a new workflow in posthog/charts which creates a statefile
commit instead of deploying with manually set values from env vars.
the statefile commit then triggers a deploy - this means 100% of our
deployment state is codified, simplifying rollbacks and deploys
Remove concurrency group from container-images-cd
This can cause deploys to be skipped if another change is merged that doesn't trigger the
same deploys. There's no harm in running this job concurrently as the triggered deploys will
still be in concurrency groups
Replace DOCKERHUB_USERNAME secret with plaintext
This isn't a secret and it causes every instance of "posthog" in the
action logs to be replaced by "***" because it's the value of a secret
* Remove old dockerfile and only build a single image with unit
We have migrated over to the `unit` image (instead of gunicorn) but we
were still building both. This could lead to confusion - we have no
plans to move back so let's remove the second image build and only
build the unit based image
* Remove unit build id
* update env var, update folders so there are common and specific workflow modules
* update workflow
* update imports
* reformat
* already sync
* revert task queue change
* update github action and env vars
* remap
* move
Build unit docker image so we can build on arm
We were using the unit 1.28-python3.10 image before. The unit python3.11
image is available on arm but 3.10 only on amd64. Build it ourself so that
we can use arm and also latest unit on 3.10
* Add docker image that uses nginx unit instead of gunicorn
🦄🔫
* Add unit build to CI
* Fix duplicate id
* try 3.11
* Only build for amd64
need python3.11 for unit image on arm
* Trigger plugins deployment when folder is updated
* Update repository dispatch
* Use digest as tag
* Remove empty line
* Create a new workflow
* Change concurrency
* Revert "Remove empty line"
This reverts commit b307c50cb0.
* Revert "Change concurrency"
This reverts commit 458597b80b.
* Revert "Create a new workflow"
This reverts commit 4e1eef73f2.
* Remove empty line
* Dummy commit to trigger deploy
* Have a digest per platform
* Revert "Have a digest per platform"
This reverts commit 8276bd20a0.
* Revert "Revert "Have a digest per platform""
This reverts commit bc6527c48f.
* Have a digest per platform
* Add meta
* Update ci workflow
* Add workflow dispatch
* Dummy commit