mirror of
https://github.com/OutlineFoundation/outline-server.git
synced 2026-08-04 14:37:34 +00:00
* attempt upgrade over CI update shadowbox build node version wild guess try other image, not holding my breath switch image back, try no --upgrade? lol whoops wrong SHA trying this tip out of hand - will make platform a env var next apparently buildx is supposed to detect the platform - lets see find replace yarn w/ npm fix git hook cache npm deps proper lock and enforce engine licenses are... generated by yarn lmao some weird leftovers explode out test workflow jobs Title Case and check for cache hit upgrade NPM check version... eh, worth a try reinstall deps for now so we can debug downstream issues use root bin fix npm workspace, merge lint w/ setup HMMM attempt cache load fix keys remove restore-keys regular install attempt more "correct" npm approach annoyingly caching ~/.npm doesn't cache the global npm version less correct node_module cache, will roll back if doesn't work er... node 15 :/, restore keys changing key...? permission setting so cache can properly hit separate dependecy permission task verbose chmod fix sentry webhook consistency thing * print architecture * attempt amd64-explicit node image * attempt nodev16 upgrade * ah, okay, let's try picking this hash * fix node version reference and npm run clean * revert untouched files caught in squash * remove yarn from travis.yml * testing ci * npmrc comment, revert one of cis * Update src/server_manager/web_app/run_gallery_action.sh Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com> * Update src/server_manager/web_app/run_action.sh Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com> * licenses change * fix package-lock regression * fix webpack-dev-server properly * set install to ci in Dockerfile * forgot to include the README * add ci where it makes sense * delete this part of the README * missed one * testing sub-node_modules * better chmod * prefer glob * reset .github/workflows/test.yml * oops, yarn in ci * rename everything (#1006) * Update test.yml * check_requirements (#1008) * reqcheck draft * finish drafting script - need to test and add to hooks * attempt to roll our own setup... * remove setup script and rename a couple things * remove this nightmare lol * Update release_manager.yml * Update test.yml * 'do' -> 'action' * run -> start * Update src/shadowbox/docker/build.action.sh Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com> * Update README.md * Update README.md Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> * rename 'action' to action * add action list to run action itself * Update src/shadowbox/README.md Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> * Update README.md Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> * Update scripts/run_action.sh Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> * Update src/server_manager/scripts/fill_packaging_opts.sh Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> * style guide fixes * lower case fixes * enforce major version * Update scripts/run_action.sh Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> * Update package.json Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com> Co-authored-by: Benjamin M. Schwartz <bemasc@google.com> |
||
|---|---|---|
| .. | ||
| infrastructure | ||
| app_dev.yaml | ||
| app_prod.yaml | ||
| build.action.sh | ||
| config_dev.json | ||
| config_prod.json | ||
| connection_metrics.spec.ts | ||
| connection_metrics.ts | ||
| deploy_dev.action.sh | ||
| deploy_prod.action.sh | ||
| dispatch.yaml | ||
| feature_metrics.spec.ts | ||
| feature_metrics.ts | ||
| index.ts | ||
| model.ts | ||
| package.json | ||
| README.md | ||
| start.action.sh | ||
| test.action.sh | ||
| test_integration.action.sh | ||
| tsconfig.json | ||
Outline Metrics Server
The Outline Metrics Server is a Google App Engine project that writes feature and connections metrics to BigQuery, as reported by opted-in Outline servers.
API
Endpoints
The metrics server deploys two services: dev, used for development testing and debugging; and prod, used for production metrics. The dev environment is deployed to https://dev.metrics.getoutline.org; the prod environment is deployed to https://prod.metrics.getoutline.org. Each environment posts metrics to its own BigQuery dataset (see config_[dev|prod].json).
URLs
The metrics server supports two URL paths:
-
POST /connections: report server data usage broken down by user.{ serverId: string, startUtcMs: number, endUtcMs: number, userReports: [{ userId: string, countries: string[], bytesTransferred: number, }] } -
POST /features: report feature usage.{ serverId: string, serverVersion: string, timestampUtcMs: number, dataLimit: { enabled: boolean perKeyLimitCount: number } }
Requirements
Build
npm run action metrics_server/build
Run
Run a local development metrics server:
npm run action metrics_server/start
Deploy
- Authenticate with
gcloud:gcloud auth login - To deploy to dev:
npm run action metrics_server/deploy_dev - To deploy to prod:
npm run action metrics_server/deploy_prod
Test
- Unit test
npm run action metrics_server/test - Integration test
npm run action metrics_server/test_integration