├── .dockerignore ├── .editorconfig ├── .env.local ├── .eslintrc ├── .github └── workflows │ └── tests.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── Makefile ├── Procfile ├── Procfile.local ├── Procfile.sandbox ├── README.md ├── conf └── redis-cluster │ ├── node1 │ ├── redis.conf │ └── sentinel.conf │ ├── node2 │ ├── redis.conf │ └── sentinel.conf │ └── node3 │ ├── redis.conf │ └── sentinel.conf ├── docker-compose-test.yml ├── docker-compose.yml ├── examples └── pluct │ ├── post-item.py │ └── requirements.txt ├── lib ├── app.js ├── domain │ ├── ErrorTracker.js │ ├── LogStorage.js │ ├── Metric.js │ ├── Pipeline.js │ ├── SpanConsoleWrapper.js │ ├── getStorage.js │ ├── paginator.js │ ├── schemas.js │ ├── schemas │ │ └── linkRewriter.js │ ├── status.js │ ├── storage.js │ └── storage │ │ ├── InMemory.js │ │ └── redis.js ├── http │ ├── FunctionsRequest.js │ ├── SchemaResponse.js │ ├── routers │ │ ├── DebugRouter.js │ │ ├── FunctionsRouter.js │ │ ├── HealthcheckRouter.js │ │ ├── MetricsRouter.js │ │ ├── NamespacesRouter.js │ │ ├── SchemasRouter.js │ │ └── StatusRouter.js │ └── routes.js └── support │ ├── config.js │ ├── config │ └── ConfigDiscovery.js │ ├── deleteKeys.js │ ├── globalImport.js │ ├── log.js │ ├── opentelemetry.js │ ├── parseExposeEnv.js │ ├── setupHTTPClient.js │ └── tracing.js ├── npm-shrinkwrap.json ├── package.json ├── requirements.apt └── test ├── .eslintrc ├── GelfServer.js ├── fakes ├── FakeStorage.js ├── NotWorkingStorage.js └── WorkingStorage.js ├── helper.js ├── integration └── domain │ ├── http │ └── routers │ │ └── FunctionsRouter.test.js │ └── storage │ └── storage-redis.test.js └── unit ├── domain ├── ErrorTracker.test.js ├── LogStorage.test.js ├── Metric.test.js ├── Pipeline.test.js ├── paginator.test.js ├── schemas │ └── linkRewriter.test.js ├── status.test.js ├── storage.test.js └── storageInMemory.test.js ├── http ├── FunctionsRequest.test.js └── routers │ ├── FunctionsRouter.test.js │ ├── HealthcheckRouter.test.js │ ├── MetricsRouter.test.js │ ├── NamespacesRouter.test.js │ ├── SchemaRouter.test.js │ └── StatusRouter.test.js └── support ├── cacert.pem ├── config └── ConfigDiscovery.test.js └── setupHTTPClient.test.js /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.local: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/.env.local -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | extends: airbnb 2 | rules: 3 | no-param-reassign: [error, { props: false }] 4 | -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/Makefile -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: node lib/app.js -------------------------------------------------------------------------------- /Procfile.local: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/Procfile.local -------------------------------------------------------------------------------- /Procfile.sandbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/Procfile.sandbox -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/README.md -------------------------------------------------------------------------------- /conf/redis-cluster/node1/redis.conf: -------------------------------------------------------------------------------- 1 | bind 127.0.0.1 2 | port 6380 3 | 4 | dir . 5 | 6 | -------------------------------------------------------------------------------- /conf/redis-cluster/node1/sentinel.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/conf/redis-cluster/node1/sentinel.conf -------------------------------------------------------------------------------- /conf/redis-cluster/node2/redis.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/conf/redis-cluster/node2/redis.conf -------------------------------------------------------------------------------- /conf/redis-cluster/node2/sentinel.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/conf/redis-cluster/node2/sentinel.conf -------------------------------------------------------------------------------- /conf/redis-cluster/node3/redis.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/conf/redis-cluster/node3/redis.conf -------------------------------------------------------------------------------- /conf/redis-cluster/node3/sentinel.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/conf/redis-cluster/node3/sentinel.conf -------------------------------------------------------------------------------- /docker-compose-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/docker-compose-test.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /examples/pluct/post-item.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/examples/pluct/post-item.py -------------------------------------------------------------------------------- /examples/pluct/requirements.txt: -------------------------------------------------------------------------------- 1 | pluct==1.2.7 2 | -------------------------------------------------------------------------------- /lib/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/app.js -------------------------------------------------------------------------------- /lib/domain/ErrorTracker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/ErrorTracker.js -------------------------------------------------------------------------------- /lib/domain/LogStorage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/LogStorage.js -------------------------------------------------------------------------------- /lib/domain/Metric.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/Metric.js -------------------------------------------------------------------------------- /lib/domain/Pipeline.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/Pipeline.js -------------------------------------------------------------------------------- /lib/domain/SpanConsoleWrapper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/SpanConsoleWrapper.js -------------------------------------------------------------------------------- /lib/domain/getStorage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/getStorage.js -------------------------------------------------------------------------------- /lib/domain/paginator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/paginator.js -------------------------------------------------------------------------------- /lib/domain/schemas.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/schemas.js -------------------------------------------------------------------------------- /lib/domain/schemas/linkRewriter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/schemas/linkRewriter.js -------------------------------------------------------------------------------- /lib/domain/status.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/status.js -------------------------------------------------------------------------------- /lib/domain/storage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/storage.js -------------------------------------------------------------------------------- /lib/domain/storage/InMemory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/storage/InMemory.js -------------------------------------------------------------------------------- /lib/domain/storage/redis.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/domain/storage/redis.js -------------------------------------------------------------------------------- /lib/http/FunctionsRequest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/FunctionsRequest.js -------------------------------------------------------------------------------- /lib/http/SchemaResponse.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/SchemaResponse.js -------------------------------------------------------------------------------- /lib/http/routers/DebugRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routers/DebugRouter.js -------------------------------------------------------------------------------- /lib/http/routers/FunctionsRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routers/FunctionsRouter.js -------------------------------------------------------------------------------- /lib/http/routers/HealthcheckRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routers/HealthcheckRouter.js -------------------------------------------------------------------------------- /lib/http/routers/MetricsRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routers/MetricsRouter.js -------------------------------------------------------------------------------- /lib/http/routers/NamespacesRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routers/NamespacesRouter.js -------------------------------------------------------------------------------- /lib/http/routers/SchemasRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routers/SchemasRouter.js -------------------------------------------------------------------------------- /lib/http/routers/StatusRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routers/StatusRouter.js -------------------------------------------------------------------------------- /lib/http/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/http/routes.js -------------------------------------------------------------------------------- /lib/support/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/config.js -------------------------------------------------------------------------------- /lib/support/config/ConfigDiscovery.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/config/ConfigDiscovery.js -------------------------------------------------------------------------------- /lib/support/deleteKeys.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/deleteKeys.js -------------------------------------------------------------------------------- /lib/support/globalImport.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/globalImport.js -------------------------------------------------------------------------------- /lib/support/log.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/log.js -------------------------------------------------------------------------------- /lib/support/opentelemetry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/opentelemetry.js -------------------------------------------------------------------------------- /lib/support/parseExposeEnv.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/parseExposeEnv.js -------------------------------------------------------------------------------- /lib/support/setupHTTPClient.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/setupHTTPClient.js -------------------------------------------------------------------------------- /lib/support/tracing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/lib/support/tracing.js -------------------------------------------------------------------------------- /npm-shrinkwrap.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/npm-shrinkwrap.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/package.json -------------------------------------------------------------------------------- /requirements.apt: -------------------------------------------------------------------------------- 1 | g++ 2 | make 3 | python-dev -------------------------------------------------------------------------------- /test/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/.eslintrc -------------------------------------------------------------------------------- /test/GelfServer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/GelfServer.js -------------------------------------------------------------------------------- /test/fakes/FakeStorage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/fakes/FakeStorage.js -------------------------------------------------------------------------------- /test/fakes/NotWorkingStorage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/fakes/NotWorkingStorage.js -------------------------------------------------------------------------------- /test/fakes/WorkingStorage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/fakes/WorkingStorage.js -------------------------------------------------------------------------------- /test/helper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/helper.js -------------------------------------------------------------------------------- /test/integration/domain/http/routers/FunctionsRouter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/integration/domain/http/routers/FunctionsRouter.test.js -------------------------------------------------------------------------------- /test/integration/domain/storage/storage-redis.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/integration/domain/storage/storage-redis.test.js -------------------------------------------------------------------------------- /test/unit/domain/ErrorTracker.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/ErrorTracker.test.js -------------------------------------------------------------------------------- /test/unit/domain/LogStorage.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/LogStorage.test.js -------------------------------------------------------------------------------- /test/unit/domain/Metric.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/Metric.test.js -------------------------------------------------------------------------------- /test/unit/domain/Pipeline.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/Pipeline.test.js -------------------------------------------------------------------------------- /test/unit/domain/paginator.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/paginator.test.js -------------------------------------------------------------------------------- /test/unit/domain/schemas/linkRewriter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/schemas/linkRewriter.test.js -------------------------------------------------------------------------------- /test/unit/domain/status.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/status.test.js -------------------------------------------------------------------------------- /test/unit/domain/storage.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/storage.test.js -------------------------------------------------------------------------------- /test/unit/domain/storageInMemory.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/domain/storageInMemory.test.js -------------------------------------------------------------------------------- /test/unit/http/FunctionsRequest.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/http/FunctionsRequest.test.js -------------------------------------------------------------------------------- /test/unit/http/routers/FunctionsRouter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/http/routers/FunctionsRouter.test.js -------------------------------------------------------------------------------- /test/unit/http/routers/HealthcheckRouter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/http/routers/HealthcheckRouter.test.js -------------------------------------------------------------------------------- /test/unit/http/routers/MetricsRouter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/http/routers/MetricsRouter.test.js -------------------------------------------------------------------------------- /test/unit/http/routers/NamespacesRouter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/http/routers/NamespacesRouter.test.js -------------------------------------------------------------------------------- /test/unit/http/routers/SchemaRouter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/http/routers/SchemaRouter.test.js -------------------------------------------------------------------------------- /test/unit/http/routers/StatusRouter.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/http/routers/StatusRouter.test.js -------------------------------------------------------------------------------- /test/unit/support/cacert.pem: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/unit/support/config/ConfigDiscovery.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/support/config/ConfigDiscovery.test.js -------------------------------------------------------------------------------- /test/unit/support/setupHTTPClient.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/globocom/functions/HEAD/test/unit/support/setupHTTPClient.test.js --------------------------------------------------------------------------------