├── .changeset ├── README.md └── config.json ├── .github ├── CODEOWNERS ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ ├── doc_report.yml │ └── feature_request.yml ├── actions │ ├── setup-go │ │ └── action.yaml │ ├── setup-node │ │ └── action.yaml │ └── setup-wrangler │ │ └── action.yaml ├── dependabot.yml ├── pull_request_template.md └── workflows │ ├── agent_build_publish.yaml │ ├── autofix.ci.yaml │ ├── build.yaml │ ├── check_quotas.yml │ ├── deploy.yaml │ ├── deploy_trigger.yaml │ ├── ghcr_retention_policy.yaml │ ├── job_build_agent_image.yaml │ ├── job_deploy_api_canary.yaml │ ├── job_deploy_api_enterprise.yaml │ ├── job_deploy_api_production.yaml │ ├── job_deploy_api_staging.yaml │ ├── job_deploy_logdrain_production.yaml │ ├── job_deploy_workflows.yaml │ ├── job_detect_changes.yaml │ ├── job_lint_go.yaml │ ├── job_test_api_canary.yaml │ ├── job_test_api_local.yaml │ ├── job_test_api_staging.yaml │ ├── job_test_dashboard.yaml │ ├── job_test_go_api_local.yaml │ ├── job_test_logdrain.yaml │ ├── job_test_unit.yaml │ ├── job_validate_workflows.yaml │ ├── pr.yaml │ ├── release.yaml │ ├── runbook-freshness-check.yaml │ └── slack-notifications.yml ├── .gitignore ├── LICENSE ├── Makefile ├── QUICKSTART-DEPLOY.md ├── README.md ├── apps ├── agent │ ├── .golangci.yaml │ ├── .goreleaser.yaml │ ├── Dockerfile │ ├── Makefile │ ├── README.md │ ├── bruno │ │ ├── Eventrouter │ │ │ └── Events.bru │ │ ├── Liveness.bru │ │ ├── Ratelimit │ │ │ └── Ratelimit.bru │ │ └── bruno.json │ ├── buf.gen.yaml │ ├── buf.yaml │ ├── cmd │ │ ├── agent │ │ │ ├── agent.go │ │ │ └── setup.go │ │ ├── main.go │ │ └── vault │ │ │ └── generate_kek.go │ ├── config.apprunner.production.json │ ├── config.apprunner.staging.json │ ├── config.docker.json │ ├── config.production.json │ ├── config.staging.json │ ├── fly.production.toml │ ├── fly.staging.toml │ ├── gen │ │ └── proto │ │ │ ├── cluster │ │ │ └── v1 │ │ │ │ ├── clusterv1connect │ │ │ │ └── service.connect.go │ │ │ │ ├── service.openapi.yaml │ │ │ │ └── service.pb.go │ │ │ ├── errors │ │ │ └── v1 │ │ │ │ ├── errors.openapi.yaml │ │ │ │ └── errors.pb.go │ │ │ ├── gossip │ │ │ └── v1 │ │ │ │ ├── gossip.openapi.yaml │ │ │ │ ├── gossip.pb.go │ │ │ │ └── gossipv1connect │ │ │ │ └── gossip.connect.go │ │ │ ├── ratelimit │ │ │ └── v1 │ │ │ │ ├── ratelimitv1connect │ │ │ │ └── service.connect.go │ │ │ │ ├── service.openapi.yaml │ │ │ │ └── service.pb.go │ │ │ └── vault │ │ │ └── v1 │ │ │ ├── object.openapi.yaml │ │ │ ├── object.pb.go │ │ │ ├── service.openapi.yaml │ │ │ ├── service.pb.go │ │ │ └── vaultv1connect │ │ │ └── service.connect.go │ ├── go.mod │ ├── go.sum │ ├── pkg │ │ ├── api │ │ │ ├── agent_auth.go │ │ │ ├── ctxutil │ │ │ │ └── context.go │ │ │ ├── errors │ │ │ │ ├── internal_server_error.go │ │ │ │ └── validation_error.go │ │ │ ├── interface.go │ │ │ ├── mw_logging.go │ │ │ ├── mw_metrics.go │ │ │ ├── mw_request_id.go │ │ │ ├── mw_tracing.go │ │ │ ├── register_routes.go │ │ │ ├── routes │ │ │ │ ├── not_found │ │ │ │ │ └── handler.go │ │ │ │ ├── openapi │ │ │ │ │ └── handler.go │ │ │ │ ├── route.go │ │ │ │ ├── sender.go │ │ │ │ ├── services.go │ │ │ │ ├── v1_liveness │ │ │ │ │ ├── handler.go │ │ │ │ │ └── handler_test.go │ │ │ │ ├── v1_ratelimit_commitLease │ │ │ │ │ ├── handler.go │ │ │ │ │ └── handler_test.go │ │ │ │ ├── v1_ratelimit_multiRatelimit │ │ │ │ │ └── handler.go │ │ │ │ ├── v1_ratelimit_ratelimit │ │ │ │ │ ├── handler.go │ │ │ │ │ └── handler_test.go │ │ │ │ ├── v1_vault_decrypt │ │ │ │ │ └── handler.go │ │ │ │ ├── v1_vault_encrypt │ │ │ │ │ └── handler.go │ │ │ │ └── v1_vault_encrypt_bulk │ │ │ │ │ └── handler.go │ │ │ ├── server.go │ │ │ ├── testutil │ │ │ │ └── harness.go │ │ │ └── validation │ │ │ │ └── validator.go │ │ ├── auth │ │ │ └── authorization.go │ │ ├── batch │ │ │ ├── consume.go │ │ │ ├── metrics.go │ │ │ └── process.go │ │ ├── cache │ │ │ ├── cache.go │ │ │ ├── cache_test.go │ │ │ ├── entry.go │ │ │ ├── interface.go │ │ │ ├── middleware.go │ │ │ ├── middleware │ │ │ │ ├── metrics.go │ │ │ │ └── tracing.go │ │ │ ├── noop.go │ │ │ └── util.go │ │ ├── circuitbreaker │ │ │ ├── interface.go │ │ │ ├── lib.go │ │ │ ├── lib_test.go │ │ │ └── metrics.go │ │ ├── clickhouse │ │ │ ├── client.go │ │ │ ├── flush.go │ │ │ ├── interface.go │ │ │ ├── noop.go │ │ │ └── schema │ │ │ │ └── requests.go │ │ ├── clock │ │ │ ├── interface.go │ │ │ ├── real_clock.go │ │ │ └── test_clock.go │ │ ├── cluster │ │ │ ├── cluster.go │ │ │ ├── interface.go │ │ │ └── node.go │ │ ├── config │ │ │ ├── agent.go │ │ │ ├── json.go │ │ │ └── json_test.go │ │ ├── connect │ │ │ ├── cluster.go │ │ │ ├── middleware_headers.go │ │ │ ├── ratelimit.go │ │ │ └── service.go │ │ ├── encryption │ │ │ ├── aes.go │ │ │ └── aes_test.go │ │ ├── env │ │ │ ├── env.go │ │ │ └── env_test.go │ │ ├── events │ │ │ └── topic.go │ │ ├── gossip │ │ │ ├── cluster.go │ │ │ ├── connect.go │ │ │ ├── interface.go │ │ │ ├── rpc.go │ │ │ ├── server_test.goxx │ │ │ └── test_utils_server.go │ │ ├── heartbeat │ │ │ └── heartbeat.go │ │ ├── logging │ │ │ ├── axiom.go │ │ │ └── logger.go │ │ ├── membership │ │ │ ├── interface.go │ │ │ ├── member.go │ │ │ └── serf.go │ │ ├── metrics │ │ │ ├── axiom.go │ │ │ ├── axiom_test.go │ │ │ ├── interface.go │ │ │ ├── metrics.go │ │ │ └── noop.go │ │ ├── mutex │ │ │ └── traced.go │ │ ├── openapi │ │ │ ├── config.yaml │ │ │ ├── gen.go │ │ │ ├── openapi.json │ │ │ └── spec.go │ │ ├── port │ │ │ └── free.go │ │ ├── profiling │ │ │ └── grafana.go │ │ ├── prometheus │ │ │ ├── metrics.go │ │ │ └── server.go │ │ ├── repeat │ │ │ └── every.go │ │ ├── ring │ │ │ ├── metrics.go │ │ │ └── ring.go │ │ ├── testutil │ │ │ └── attack.go │ │ ├── testutils │ │ │ └── containers │ │ │ │ ├── agent.go │ │ │ │ ├── compose.go │ │ │ │ ├── redis.go │ │ │ │ └── s3.go │ │ ├── tracing │ │ │ ├── axiom.go │ │ │ ├── schema.go │ │ │ ├── trace.go │ │ │ └── util.go │ │ ├── uid │ │ │ ├── hash.go │ │ │ ├── uid.go │ │ │ └── uid_test.go │ │ ├── util │ │ │ ├── compare.go │ │ │ ├── convert.go │ │ │ ├── convert_test.go │ │ │ ├── pointer.go │ │ │ ├── random.go │ │ │ └── retry.go │ │ └── version │ │ │ └── version.go │ ├── proto │ │ ├── cluster │ │ │ └── v1 │ │ │ │ └── service.proto │ │ ├── errors │ │ │ └── v1 │ │ │ │ └── errors.proto.disabled │ │ ├── gossip │ │ │ └── v1 │ │ │ │ └── gossip.proto │ │ ├── ratelimit │ │ │ └── v1 │ │ │ │ └── service.proto │ │ └── vault │ │ │ └── v1 │ │ │ ├── object.proto │ │ │ └── service.proto │ ├── schema.json │ ├── scripts │ │ ├── deploy.bash │ │ ├── heap.bash │ │ └── profile.bash │ └── services │ │ ├── ratelimit │ │ ├── bucket.go │ │ ├── commit_lease.go │ │ ├── consistency.go │ │ ├── interface.go │ │ ├── metrics.go │ │ ├── middleware.go │ │ ├── mitigate.go │ │ ├── peer.go │ │ ├── pushpull.go │ │ ├── ratelimit.go │ │ ├── ratelimit_multi.go │ │ ├── service.go │ │ ├── sliding_window.go │ │ ├── sliding_window_test.go │ │ └── sync_with_origin.go │ │ └── vault │ │ ├── create_dek.go │ │ ├── decrypt.go │ │ ├── encrypt.go │ │ ├── encrypt_bulk.go │ │ ├── integration │ │ ├── coldstart_test.go │ │ ├── migrate_deks_test.go │ │ ├── reencryption_test.go │ │ └── reusing_deks_test.go │ │ ├── keyring │ │ ├── create_key.go │ │ ├── decode_and_decrypt_key.go │ │ ├── encrypt_and_encode_key.go │ │ ├── get_key.go │ │ ├── get_latest_key.go │ │ ├── get_or_create_key.go │ │ ├── keyring.go │ │ └── roll_keys.go │ │ ├── keys │ │ ├── key.go │ │ └── master_key.go │ │ ├── reencrypt.go │ │ ├── roll_deks.go │ │ ├── service.go │ │ └── storage │ │ ├── interface.go │ │ ├── memory.go │ │ ├── middleware │ │ └── tracing.go │ │ └── s3.go ├── api │ ├── .dev.vars.example │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Dockerfile │ ├── Dockerfile.dev │ ├── package.json │ ├── src │ │ ├── benchmarks │ │ │ └── ratelimit_latency.test.ts │ │ ├── integration │ │ │ ├── create_verify_delete_key.test.ts │ │ │ ├── identity_lifecycle.test.ts │ │ │ ├── keys_updated_at_actually_updates.ts │ │ │ ├── list_keys.test.ts │ │ │ ├── remaining_is_consistent.test.ts │ │ │ ├── update_key_add_remaining.test.ts │ │ │ └── verify_permissions.test.ts │ │ ├── pkg │ │ │ ├── analytics.ts │ │ │ ├── audit.ts │ │ │ ├── auth │ │ │ │ └── root_key.ts │ │ │ ├── cache │ │ │ │ ├── index.ts │ │ │ │ ├── namespaces.ts │ │ │ │ └── stale-while-revalidate.ts │ │ │ ├── clickhouse-proxy.ts │ │ │ ├── db.ts │ │ │ ├── env.ts │ │ │ ├── errors │ │ │ │ ├── http.ts │ │ │ │ ├── index.ts │ │ │ │ └── openapi_responses.ts │ │ │ ├── hono │ │ │ │ ├── app.ts │ │ │ │ └── env.ts │ │ │ ├── key_migration │ │ │ │ ├── dlq_handler.ts │ │ │ │ ├── handler.ts │ │ │ │ └── message.ts │ │ │ ├── keys │ │ │ │ └── service.ts │ │ │ ├── metrics │ │ │ │ ├── axiom.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ ├── logdrain.ts │ │ │ │ └── noop.ts │ │ │ ├── middleware │ │ │ │ ├── benchmarks.ts │ │ │ │ ├── index.ts │ │ │ │ ├── init.ts │ │ │ │ └── metrics.ts │ │ │ ├── ratelimit │ │ │ │ ├── agent.ts │ │ │ │ ├── client.ts │ │ │ │ ├── do_client.ts │ │ │ │ ├── durable_object.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ └── noop.ts │ │ │ ├── testutil │ │ │ │ ├── benchmark-harness.ts │ │ │ │ ├── common-tests.ts │ │ │ │ ├── env.ts │ │ │ │ ├── harness.ts │ │ │ │ ├── integration-harness.ts │ │ │ │ ├── load.ts │ │ │ │ └── request.ts │ │ │ ├── types │ │ │ │ └── maybe.ts │ │ │ ├── usagelimit │ │ │ │ ├── client.ts │ │ │ │ ├── durable_object.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ └── noop.ts │ │ │ ├── util │ │ │ │ ├── instrument-fetch.ts │ │ │ │ ├── retry.ts │ │ │ │ ├── revalidate_key_count.ts │ │ │ │ ├── wildcard.test.ts │ │ │ │ ├── wildcard.ts │ │ │ │ └── zod-error.ts │ │ │ └── vault.ts │ │ ├── routes │ │ │ ├── legacy_apis_listKeys.ts │ │ │ ├── legacy_keys_createKey.test.ts │ │ │ ├── legacy_keys_createKey.ts │ │ │ ├── legacy_keys_verifyKey.test.ts │ │ │ ├── legacy_keys_verifyKey.ts │ │ │ ├── schema.ts │ │ │ ├── v1_analytics_getVerifications.happy.test.ts │ │ │ ├── v1_analytics_getVerifications.ts │ │ │ ├── v1_apis_createApi.error.test.ts │ │ │ ├── v1_apis_createApi.happy.test.ts │ │ │ ├── v1_apis_createApi.security.test.ts │ │ │ ├── v1_apis_createApi.ts │ │ │ ├── v1_apis_deleteApi.error.test.ts │ │ │ ├── v1_apis_deleteApi.happy.test.ts │ │ │ ├── v1_apis_deleteApi.security.test.ts │ │ │ ├── v1_apis_deleteApi.ts │ │ │ ├── v1_apis_deleteKeys.error.test.ts │ │ │ ├── v1_apis_deleteKeys.happy.test.ts │ │ │ ├── v1_apis_deleteKeys.security.test.ts │ │ │ ├── v1_apis_deleteKeys.ts │ │ │ ├── v1_apis_getApi.error.test.ts │ │ │ ├── v1_apis_getApi.happy.test.ts │ │ │ ├── v1_apis_getApi.security.test.ts │ │ │ ├── v1_apis_getApi.ts │ │ │ ├── v1_apis_listKeys.error.test.ts │ │ │ ├── v1_apis_listKeys.happy.test.ts │ │ │ ├── v1_apis_listKeys.security.test.ts │ │ │ ├── v1_apis_listKeys.ts │ │ │ ├── v1_identities_createIdentity.error.test.ts │ │ │ ├── v1_identities_createIdentity.happy.test.ts │ │ │ ├── v1_identities_createIdentity.security.test.ts │ │ │ ├── v1_identities_createIdentity.ts │ │ │ ├── v1_identities_deleteIdentity.error.test.ts │ │ │ ├── v1_identities_deleteIdentity.happy.test.ts │ │ │ ├── v1_identities_deleteIdentity.security.test.ts │ │ │ ├── v1_identities_deleteIdentity.ts │ │ │ ├── v1_identities_getIdentity.error.test.ts │ │ │ ├── v1_identities_getIdentity.happy.test.ts │ │ │ ├── v1_identities_getIdentity.security.test.ts │ │ │ ├── v1_identities_getIdentity.ts │ │ │ ├── v1_identities_listIdentities.happy.test.ts │ │ │ ├── v1_identities_listIdentities.security.test.ts │ │ │ ├── v1_identities_listIdentities.ts │ │ │ ├── v1_identities_updateIdentity.error.test.ts │ │ │ ├── v1_identities_updateIdentity.happy.test.ts │ │ │ ├── v1_identities_updateIdentity.security.test.ts │ │ │ ├── v1_identities_updateIdentity.ts │ │ │ ├── v1_keys_addPermissions.error.test.ts │ │ │ ├── v1_keys_addPermissions.happy.test.ts │ │ │ ├── v1_keys_addPermissions.security.test.ts │ │ │ ├── v1_keys_addPermissions.ts │ │ │ ├── v1_keys_addRoles.error.test.ts │ │ │ ├── v1_keys_addRoles.happy.test.ts │ │ │ ├── v1_keys_addRoles.security.test.ts │ │ │ ├── v1_keys_addRoles.ts │ │ │ ├── v1_keys_createKey.error.test.ts │ │ │ ├── v1_keys_createKey.happy.test.ts │ │ │ ├── v1_keys_createKey.security.test.ts │ │ │ ├── v1_keys_createKey.ts │ │ │ ├── v1_keys_deleteKey.error.test.ts │ │ │ ├── v1_keys_deleteKey.happy.test.ts │ │ │ ├── v1_keys_deleteKey.security.test.ts │ │ │ ├── v1_keys_deleteKey.ts │ │ │ ├── v1_keys_getKey.error.test.ts │ │ │ ├── v1_keys_getKey.happy.test.ts │ │ │ ├── v1_keys_getKey.security.test.ts │ │ │ ├── v1_keys_getKey.ts │ │ │ ├── v1_keys_getVerifications.error.test.ts │ │ │ ├── v1_keys_getVerifications.happy.test.ts │ │ │ ├── v1_keys_getVerifications.security.test.ts │ │ │ ├── v1_keys_getVerifications.ts │ │ │ ├── v1_keys_removePermissions.error.test.ts │ │ │ ├── v1_keys_removePermissions.happy.test.ts │ │ │ ├── v1_keys_removePermissions.security.test.ts │ │ │ ├── v1_keys_removePermissions.ts │ │ │ ├── v1_keys_removeRoles.error.test.ts │ │ │ ├── v1_keys_removeRoles.happy.test.ts │ │ │ ├── v1_keys_removeRoles.security.test.ts │ │ │ ├── v1_keys_removeRoles.ts │ │ │ ├── v1_keys_setPermissions.error.test.ts │ │ │ ├── v1_keys_setPermissions.happy.test.ts │ │ │ ├── v1_keys_setPermissions.security.test.ts │ │ │ ├── v1_keys_setPermissions.ts │ │ │ ├── v1_keys_setRoles.error.test.ts │ │ │ ├── v1_keys_setRoles.happy.test.ts │ │ │ ├── v1_keys_setRoles.security.test.ts │ │ │ ├── v1_keys_setRoles.ts │ │ │ ├── v1_keys_updateKey.error.test.ts │ │ │ ├── v1_keys_updateKey.happy.test.ts │ │ │ ├── v1_keys_updateKey.security.test.ts │ │ │ ├── v1_keys_updateKey.ts │ │ │ ├── v1_keys_updateRemaining.error.test.ts │ │ │ ├── v1_keys_updateRemaining.happy.test.ts │ │ │ ├── v1_keys_updateRemaining.security.test.ts │ │ │ ├── v1_keys_updateRemaining.ts │ │ │ ├── v1_keys_verifyKey.error.test.ts │ │ │ ├── v1_keys_verifyKey.multilimit.test.ts │ │ │ ├── v1_keys_verifyKey.permissions.test.ts │ │ │ ├── v1_keys_verifyKey.ratelimit_accuracy.test.ts │ │ │ ├── v1_keys_verifyKey.test.ts │ │ │ ├── v1_keys_verifyKey.ts │ │ │ ├── v1_keys_whoami.error.test.ts │ │ │ ├── v1_keys_whoami.happy.test.ts │ │ │ ├── v1_keys_whoami.security.test.ts │ │ │ ├── v1_keys_whoami.ts │ │ │ ├── v1_liveness.test.ts │ │ │ ├── v1_liveness.ts │ │ │ ├── v1_migrations_createKey.error.test.ts │ │ │ ├── v1_migrations_createKey.happy.test.ts │ │ │ ├── v1_migrations_createKey.security.test.ts │ │ │ ├── v1_migrations_createKey.ts │ │ │ ├── v1_migrations_enqueueKeys.happy.test_disabled.ts │ │ │ ├── v1_migrations_enqueueKeys.security.test.ts │ │ │ ├── v1_migrations_enqueueKeys.ts │ │ │ ├── v1_permissions_createPermission.error.test.ts │ │ │ ├── v1_permissions_createPermission.happy.test.ts │ │ │ ├── v1_permissions_createPermission.security.test.ts │ │ │ ├── v1_permissions_createPermission.ts │ │ │ ├── v1_permissions_createRole.error.test.ts │ │ │ ├── v1_permissions_createRole.happy.test.ts │ │ │ ├── v1_permissions_createRole.security.test.ts │ │ │ ├── v1_permissions_createRole.ts │ │ │ ├── v1_permissions_deletePermission.happy.test.ts │ │ │ ├── v1_permissions_deletePermission.security.test.ts │ │ │ ├── v1_permissions_deletePermission.ts │ │ │ ├── v1_permissions_deleteRole.happy.test.ts │ │ │ ├── v1_permissions_deleteRole.security.test.ts │ │ │ ├── v1_permissions_deleteRole.ts │ │ │ ├── v1_permissions_getPermission.error.test.ts │ │ │ ├── v1_permissions_getPermission.happy.test.ts │ │ │ ├── v1_permissions_getPermission.security.test.ts │ │ │ ├── v1_permissions_getPermission.ts │ │ │ ├── v1_permissions_getRole.error.test.ts │ │ │ ├── v1_permissions_getRole.happy.test.ts │ │ │ ├── v1_permissions_getRole.security.test.ts │ │ │ ├── v1_permissions_getRole.ts │ │ │ ├── v1_permissions_listPermissions.happy.test.ts │ │ │ ├── v1_permissions_listPermissions.security.test.ts │ │ │ ├── v1_permissions_listPermissions.ts │ │ │ ├── v1_permissions_listRoles.happy.test.ts │ │ │ ├── v1_permissions_listRoles.security.test.ts │ │ │ ├── v1_permissions_listRoles.ts │ │ │ ├── v1_ratelimits_deleteOverride.error.test.ts │ │ │ ├── v1_ratelimits_deleteOverride.happy.test.ts │ │ │ ├── v1_ratelimits_deleteOverride.security.test.ts │ │ │ ├── v1_ratelimits_deleteOverride.ts │ │ │ ├── v1_ratelimits_getOverride.error.test.ts │ │ │ ├── v1_ratelimits_getOverride.happy.test.ts │ │ │ ├── v1_ratelimits_getOverride.security.test.ts │ │ │ ├── v1_ratelimits_getOverride.ts │ │ │ ├── v1_ratelimits_limit.accuracy.test.ts │ │ │ ├── v1_ratelimits_limit.consistency.test.ts.skipped │ │ │ ├── v1_ratelimits_limit.happy.test.ts │ │ │ ├── v1_ratelimits_limit.overrides.test.ts │ │ │ ├── v1_ratelimits_limit.ts │ │ │ ├── v1_ratelimits_listOverrides.error.test.ts │ │ │ ├── v1_ratelimits_listOverrides.happy.test.ts │ │ │ ├── v1_ratelimits_listOverrides.security.test.ts │ │ │ ├── v1_ratelimits_listOverrides.ts │ │ │ ├── v1_ratelimits_setOverride.error.test.ts │ │ │ ├── v1_ratelimits_setOverride.happy.test.ts │ │ │ ├── v1_ratelimits_setOverride.security.test.ts │ │ │ └── v1_ratelimits_setOverride.ts │ │ └── worker.ts │ ├── tsconfig.json │ ├── vitest.benchmark.ts │ ├── vitest.integration.ts │ ├── vitest.unit.ts │ ├── worker.capnp │ ├── wrangler.custom.toml │ └── wrangler.toml ├── dashboard │ ├── .env.example │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Dockerfile │ ├── README.md │ ├── app │ │ ├── (app) │ │ │ ├── [...not-found] │ │ │ │ └── page.tsx │ │ │ ├── [workspaceSlug] │ │ │ │ ├── apis │ │ │ │ │ ├── [apiId] │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── create-key │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── credits-setup.tsx │ │ │ │ │ │ │ │ │ ├── expiration-setup.tsx │ │ │ │ │ │ │ │ │ ├── external-id-field │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── use-search-identities.tsx │ │ │ │ │ │ │ │ │ ├── general-setup.tsx │ │ │ │ │ │ │ │ │ ├── key-created-success-dialog.tsx │ │ │ │ │ │ │ │ │ ├── key-secret-section.tsx │ │ │ │ │ │ │ │ │ ├── metadata-setup.tsx │ │ │ │ │ │ │ │ │ ├── protection-switch.tsx │ │ │ │ │ │ │ │ │ ├── ratelimit-setup.tsx │ │ │ │ │ │ │ │ │ ├── secret-key.tsx │ │ │ │ │ │ │ │ │ └── section-label.tsx │ │ │ │ │ │ │ │ ├── create-key.constants.tsx │ │ │ │ │ │ │ │ ├── create-key.schema.ts │ │ │ │ │ │ │ │ ├── create-key.utils.ts │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ ├── use-create-identity.ts │ │ │ │ │ │ │ │ │ ├── use-create-key.tsx │ │ │ │ │ │ │ │ │ ├── use-fetch-identities │ │ │ │ │ │ │ │ │ │ ├── create-identity-options.tsx │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ └── use-validate-steps.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ └── key-settings-dialog.tsx │ │ │ │ │ │ ├── _overview │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── charts │ │ │ │ │ │ │ │ │ ├── bar-chart │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ │ │ │ ├── query-timeseries.schema.ts │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── line-chart │ │ │ │ │ │ │ │ │ │ └── hooks │ │ │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── outcome-filter.tsx │ │ │ │ │ │ │ │ │ │ ├── logs-refresh.tsx │ │ │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── table │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── log-details │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ ├── log-header.tsx │ │ │ │ │ │ │ │ │ │ │ ├── log-outcome-distribution-section.tsx │ │ │ │ │ │ │ │ │ │ │ ├── log-section.tsx │ │ │ │ │ │ │ │ │ │ │ └── roles-permissions.tsx │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── outcome-popover.tsx │ │ │ │ │ │ │ │ │ └── override-indicator.tsx │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-logs-query.ts │ │ │ │ │ │ │ │ │ ├── logs-table.tsx │ │ │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ │ ├── calculate-blocked-percentage.ts │ │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ │ ├── logs-client.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ ├── api-id-navbar.tsx │ │ │ │ │ │ ├── keys │ │ │ │ │ │ │ └── [keyAuthId] │ │ │ │ │ │ │ │ ├── [keyId] │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── charts │ │ │ │ │ │ │ │ │ │ ├── bar-chart │ │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ │ │ │ │ ├── query-timeseries.schema.ts │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── outcome-filter.tsx │ │ │ │ │ │ │ │ │ │ │ ├── logs-live-switch.tsx │ │ │ │ │ │ │ │ │ │ │ ├── logs-refresh.tsx │ │ │ │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── table │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── log-details │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ └── hooks │ │ │ │ │ │ │ │ │ │ │ │ │ └── use-logs-query.ts │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ └── status-badge.tsx │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ └── use-logs-query.ts │ │ │ │ │ │ │ │ │ │ ├── logs-table.tsx │ │ │ │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ │ │ ├── calculate-blocked-percentage.ts │ │ │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ │ │ └── logs.tsx │ │ │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ │ │ ├── logs-client.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── table │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── actions │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ ├── delete-key.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── disable-key.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── edit-credits │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── edit-expiration │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── edit-external-id │ │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── edit-key-name.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── edit-metadata │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── edit-ratelimits │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── edit-rbac │ │ │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── assign-permission │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── create-permission-options.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-fetch-keys-permissions.ts │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── use-search-keys-permissions.ts │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── permissions-field.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── assign-role │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── create-key-options.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-fetch-keys-roles.ts │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── use-search-keys-roles.ts │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── role-field.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── granted-access.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── hooks │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── use-fetch-permission-slugs.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── update-key-rbac.schema.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-delete-key.ts │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-edit-credits.ts │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-edit-expiration.ts │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-edit-external-id.ts │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-edit-key.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-edit-metadata.ts │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-edit-ratelimits.ts │ │ │ │ │ │ │ │ │ │ │ │ │ ├── use-edit-rbac.ts │ │ │ │ │ │ │ │ │ │ │ │ │ └── use-update-key-status.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── key-info.tsx │ │ │ │ │ │ │ │ │ │ │ └── keys-table-action.popover.constants.tsx │ │ │ │ │ │ │ │ │ │ ├── bar-chart │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ └── outcome-explainer.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── query-timeseries.schema.ts │ │ │ │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ │ │ │ ├── hidden-value.tsx │ │ │ │ │ │ │ │ │ │ ├── last-used.tsx │ │ │ │ │ │ │ │ │ │ ├── selection-controls │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ └── batch-edit-external-id.tsx │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── skeletons.tsx │ │ │ │ │ │ │ │ │ │ └── status-cell │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ └── status-badge.tsx │ │ │ │ │ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── query-timeseries.schema.ts │ │ │ │ │ │ │ │ │ │ │ └── use-key-status.ts │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ └── use-keys-list-query.ts │ │ │ │ │ │ │ │ │ │ ├── keys-list.tsx │ │ │ │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ │ │ └── keys-client.tsx │ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ └── settings │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── copy-api-id.tsx │ │ │ │ │ │ │ ├── copy-key-space-id.tsx │ │ │ │ │ │ │ ├── default-bytes.tsx │ │ │ │ │ │ │ ├── default-prefix.tsx │ │ │ │ │ │ │ ├── delete-api.tsx │ │ │ │ │ │ │ ├── delete-protection.tsx │ │ │ │ │ │ │ ├── key-settings-form-helper.ts │ │ │ │ │ │ │ ├── settings-client.tsx │ │ │ │ │ │ │ ├── skeleton.tsx │ │ │ │ │ │ │ ├── status-badge.tsx │ │ │ │ │ │ │ ├── update-api-name.tsx │ │ │ │ │ │ │ └── update-ip-whitelist.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── api-list-card.tsx │ │ │ │ │ │ ├── api-list-client.tsx │ │ │ │ │ │ ├── api-list-grid.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── logs-refresh.tsx │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── create-api-button.tsx │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ ├── query-timeseries.schema.ts │ │ │ │ │ │ │ ├── use-filters.ts │ │ │ │ │ │ │ ├── use-query-key-count.ts │ │ │ │ │ │ │ └── use-query-timeseries.ts │ │ │ │ │ │ └── skeleton.tsx │ │ │ │ │ ├── actions.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── audit │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── components │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── bucket-filter.tsx │ │ │ │ │ │ │ │ │ │ ├── events-filter.tsx │ │ │ │ │ │ │ │ │ │ ├── root-keys-filter.tsx │ │ │ │ │ │ │ │ │ │ └── users-filter.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── logs-queries │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ ├── logs-refresh.tsx │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── logs-client.tsx │ │ │ │ │ │ └── table │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ └── use-logs-query.ts │ │ │ │ │ │ │ ├── log-details │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── log-footer.tsx │ │ │ │ │ │ │ │ ├── log-header.tsx │ │ │ │ │ │ │ │ └── log-section.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── logs-table.tsx │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ ├── hooks │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ └── page.tsx │ │ │ │ ├── authorization │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── permissions │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── table │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── actions │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ ├── delete-permission.tsx │ │ │ │ │ │ │ │ │ │ │ ├── edit-permission.tsx │ │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ │ └── use-delete-permission.ts │ │ │ │ │ │ │ │ │ │ │ └── permission-info.tsx │ │ │ │ │ │ │ │ │ │ └── keys-table-action.popover.constants.tsx │ │ │ │ │ │ │ │ │ ├── assigned-items-cell.tsx │ │ │ │ │ │ │ │ │ ├── last-updated.tsx │ │ │ │ │ │ │ │ │ ├── selection-controls │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── skeletons.tsx │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-permissions-list-query.ts │ │ │ │ │ │ │ │ ├── permissions-list.tsx │ │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ │ └── upsert-permission │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ └── use-upsert-permission.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── upsert-permission.schema.ts │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── roles │ │ │ │ │ │ ├── components │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── table │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── actions │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── delete-role.tsx │ │ │ │ │ │ │ │ │ │ ├── edit-role.tsx │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ ├── use-delete-role.ts │ │ │ │ │ │ │ │ │ │ │ └── use-fetch-connected-keys-and-perms.ts │ │ │ │ │ │ │ │ │ │ └── role-info.tsx │ │ │ │ │ │ │ │ │ └── keys-table-action.popover.constants.tsx │ │ │ │ │ │ │ │ ├── assigned-items-cell.tsx │ │ │ │ │ │ │ │ ├── last-updated.tsx │ │ │ │ │ │ │ │ ├── selection-controls │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── skeletons.tsx │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ ├── use-role-limits.ts │ │ │ │ │ │ │ │ └── use-roles-list-query.ts │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ ├── roles-list.tsx │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ └── upsert-role │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── assign-key │ │ │ │ │ │ │ │ ├── create-key-options.tsx │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ ├── use-fetch-keys.ts │ │ │ │ │ │ │ │ │ └── use-search-keys.ts │ │ │ │ │ │ │ │ └── key-field.tsx │ │ │ │ │ │ │ ├── assign-permission │ │ │ │ │ │ │ │ ├── create-permission-options.tsx │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ ├── use-fetch-permissions.ts │ │ │ │ │ │ │ │ │ └── use-search-permissions.ts │ │ │ │ │ │ │ │ └── permissions-field.tsx │ │ │ │ │ │ │ └── warning-callout.tsx │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ └── use-upsert-role.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── upsert-role.schema.ts │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ ├── identities │ │ │ │ │ ├── [identityId] │ │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── components │ │ │ │ │ │ └── results.tsx │ │ │ │ │ ├── filter.tsx │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── row.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── logs │ │ │ │ │ ├── components │ │ │ │ │ │ ├── charts │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── logs-display │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ └── display-popover.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── methods-filter.tsx │ │ │ │ │ │ │ │ │ │ ├── paths-filter.tsx │ │ │ │ │ │ │ │ │ │ └── status-filter.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── logs-live-switch.tsx │ │ │ │ │ │ │ │ ├── logs-queries │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ ├── logs-refresh.tsx │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── logs-client.tsx │ │ │ │ │ │ └── table │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ ├── use-logs-query.test.ts │ │ │ │ │ │ │ └── use-logs-query.ts │ │ │ │ │ │ │ ├── log-details │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── logs-table.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── context │ │ │ │ │ │ └── logs.tsx │ │ │ │ │ ├── hooks │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── page.tsx │ │ │ │ ├── projects │ │ │ │ │ ├── [projectId] │ │ │ │ │ │ ├── [deploymentId] │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── unkey-flow │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── canvas │ │ │ │ │ │ │ │ │ │ ├── canvas-boundary.tsx │ │ │ │ │ │ │ │ │ │ ├── grid-pattern.tsx │ │ │ │ │ │ │ │ │ │ └── infinite-canvas.tsx │ │ │ │ │ │ │ │ │ ├── nodes │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ ├── card-footer.tsx │ │ │ │ │ │ │ │ │ │ │ ├── card-header.tsx │ │ │ │ │ │ │ │ │ │ │ └── metric-pill.tsx │ │ │ │ │ │ │ │ │ │ ├── default-node.tsx │ │ │ │ │ │ │ │ │ │ ├── gateway-node.tsx │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── instance-node.tsx │ │ │ │ │ │ │ │ │ │ ├── node-wrapper │ │ │ │ │ │ │ │ │ │ │ ├── health-banner.tsx │ │ │ │ │ │ │ │ │ │ │ └── node-wrapper.tsx │ │ │ │ │ │ │ │ │ │ ├── origin-node.tsx │ │ │ │ │ │ │ │ │ │ ├── skeleton-node │ │ │ │ │ │ │ │ │ │ │ ├── skeleton-layout.tsx │ │ │ │ │ │ │ │ │ │ │ └── skeleton-node.tsx │ │ │ │ │ │ │ │ │ │ ├── status │ │ │ │ │ │ │ │ │ │ │ ├── status-config.ts │ │ │ │ │ │ │ │ │ │ │ ├── status-dot.tsx │ │ │ │ │ │ │ │ │ │ │ └── status-indicator.tsx │ │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ │ ├── overlay │ │ │ │ │ │ │ │ │ │ ├── dev-tree-generator.tsx │ │ │ │ │ │ │ │ │ │ ├── live.tsx │ │ │ │ │ │ │ │ │ │ ├── node-details-panel.tsx │ │ │ │ │ │ │ │ │ │ ├── node-details-panel │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ ├── chart │ │ │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── logs-chart-error.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── logs-chart-loading.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── metrics.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── settings-row.tsx │ │ │ │ │ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ │ │ │ │ │ ├── region-node │ │ │ │ │ │ │ │ │ │ │ │ └── gateway-instances.tsx │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ └── project-details.tsx │ │ │ │ │ │ │ │ │ ├── simulate │ │ │ │ │ │ │ │ │ │ └── tree-generate.tsx │ │ │ │ │ │ │ │ │ └── tree │ │ │ │ │ │ │ │ │ │ ├── tree-connection-line.tsx │ │ │ │ │ │ │ │ │ │ ├── tree-element-node.tsx │ │ │ │ │ │ │ │ │ │ ├── tree-layout.tsx │ │ │ │ │ │ │ │ │ │ └── tree-path-command.ts │ │ │ │ │ │ │ │ │ ├── docs.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── layout-engine.ts │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── project-content-wrapper.tsx │ │ │ │ │ │ ├── deployments │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── deployment-list-datetime │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── deployment-list-filters │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ ├── deployment-status-filter.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── environment-filter.tsx │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ └── deployment-list-search │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── promotion-dialog.tsx │ │ │ │ │ │ │ │ ├── rollback-dialog.tsx │ │ │ │ │ │ │ │ └── table │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── actions │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ ├── deployment-card.tsx │ │ │ │ │ │ │ │ │ │ │ ├── deployment-section.tsx │ │ │ │ │ │ │ │ │ │ │ └── domains-section.tsx │ │ │ │ │ │ │ │ │ │ ├── deployment-list-table-action.popover.constants.tsx │ │ │ │ │ │ │ │ │ │ ├── promotion-dialog.tsx │ │ │ │ │ │ │ │ │ │ └── rollback-dialog.tsx │ │ │ │ │ │ │ │ │ ├── deployment-status-badge.tsx │ │ │ │ │ │ │ │ │ ├── domain_list.tsx │ │ │ │ │ │ │ │ │ ├── env-status-badge.tsx │ │ │ │ │ │ │ │ │ └── skeletons.tsx │ │ │ │ │ │ │ │ │ ├── deployments-list.tsx │ │ │ │ │ │ │ │ │ ├── deployments.schema.ts │ │ │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ ├── use-deployments.ts │ │ │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── details │ │ │ │ │ │ │ ├── active-deployment-card │ │ │ │ │ │ │ │ ├── active-deployment-card-empty.tsx │ │ │ │ │ │ │ │ ├── filter-button.tsx │ │ │ │ │ │ │ │ ├── git-avatar.tsx │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-deployment-logs.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── info-chip.tsx │ │ │ │ │ │ │ │ ├── skeleton.tsx │ │ │ │ │ │ │ │ └── status-indicator.tsx │ │ │ │ │ │ │ ├── card.tsx │ │ │ │ │ │ │ ├── collapsible-row.tsx │ │ │ │ │ │ │ ├── domain-row.tsx │ │ │ │ │ │ │ ├── env-variables-section │ │ │ │ │ │ │ │ ├── add-env-var-row.tsx │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── env-var-form.tsx │ │ │ │ │ │ │ │ │ ├── env-var-inputs.tsx │ │ │ │ │ │ │ │ │ ├── env-var-save-actions.tsx │ │ │ │ │ │ │ │ │ └── env-var-secret-switch.tsx │ │ │ │ │ │ │ │ ├── env-var-row.tsx │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-env-var-manager.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ └── project-details-expandables │ │ │ │ │ │ │ │ ├── detail-section.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── project-details-content.tsx │ │ │ │ │ │ │ │ ├── sections.tsx │ │ │ │ │ │ │ │ └── sections │ │ │ │ │ │ │ │ └── open-api-diff.tsx │ │ │ │ │ │ ├── gateway-logs │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── charts │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ └── use-gateway-logs-timeseries.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── gateway-logs-datetime │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── gateway-logs-filters │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ ├── gateway-logs-methods-filter.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── gateway-logs-paths-filter.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── gateway-logs-status-filter.tsx │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── gateway-logs-live-switch.tsx │ │ │ │ │ │ │ │ │ │ ├── gateway-logs-refresh.tsx │ │ │ │ │ │ │ │ │ │ └── gateway-logs-search │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── table │ │ │ │ │ │ │ │ │ ├── gateway-log-details │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── gateway-logs-table.tsx │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-gateway-logs-query.ts │ │ │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ │ └── gateway-logs-provider.tsx │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ └── use-gateway-logs-filters.ts │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── layout-provider.tsx │ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ │ ├── navigations │ │ │ │ │ │ │ ├── project-navigation.tsx │ │ │ │ │ │ │ └── project-sub-navigation.tsx │ │ │ │ │ │ ├── openapi-diff │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── client.tsx │ │ │ │ │ │ │ │ ├── deployment-select.tsx │ │ │ │ │ │ │ │ └── empty.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── create-project │ │ │ │ │ │ │ └── create-project-dialog.tsx │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ └── use-projects-filters.ts │ │ │ │ │ │ ├── list │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── project-actions.tsx │ │ │ │ │ │ │ ├── projects-card-skeleton.tsx │ │ │ │ │ │ │ ├── projects-card.tsx │ │ │ │ │ │ │ ├── projects-list.schema.ts │ │ │ │ │ │ │ ├── region-badges.tsx │ │ │ │ │ │ │ └── repo-display.tsx │ │ │ │ │ │ └── projects-filters.schema.ts │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── projects-client.tsx │ │ │ │ ├── ratelimits │ │ │ │ │ ├── [namespaceId] │ │ │ │ │ │ ├── _components │ │ │ │ │ │ │ ├── delete-dialog.tsx │ │ │ │ │ │ │ ├── identifier-dialog.tsx │ │ │ │ │ │ │ └── namespace-delete-dialog.tsx │ │ │ │ │ │ ├── _overview │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── charts │ │ │ │ │ │ │ │ │ ├── bar-chart │ │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ │ │ │ └── query-timeseries.schema.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── line-chart │ │ │ │ │ │ │ │ │ │ └── hooks │ │ │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ └── status-filter.tsx │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── logs-refresh.tsx │ │ │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── table │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── inline-filter.tsx │ │ │ │ │ │ │ │ │ ├── logs-actions │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── override-indicator.tsx │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-logs-query.ts │ │ │ │ │ │ │ │ │ ├── logs-table.tsx │ │ │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ │ ├── calculate-blocked-percentage.ts │ │ │ │ │ │ │ │ │ ├── format-duration.ts │ │ │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ │ └── logs.tsx │ │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ │ └── logs-client.tsx │ │ │ │ │ │ ├── logs │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── charts │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ └── use-fetch-timeseries.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── query-timeseries.schema.ts │ │ │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── logs-filters │ │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ │ │ ├── identifiers-filter.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── status-filter.tsx │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── logs-live-switch.tsx │ │ │ │ │ │ │ │ │ │ ├── logs-queries │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ ├── logs-refresh.tsx │ │ │ │ │ │ │ │ │ │ └── logs-search │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── logs-client.tsx │ │ │ │ │ │ │ │ └── table │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ └── use-logs-query.ts │ │ │ │ │ │ │ │ │ ├── log-details │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ └── log-meta.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── logs-actions │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── logs-table.tsx │ │ │ │ │ │ │ │ │ └── query-logs.schema.ts │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ │ └── logs.tsx │ │ │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ ├── use-filters.test.ts │ │ │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── namespace-navbar.tsx │ │ │ │ │ │ ├── overrides │ │ │ │ │ │ │ ├── last-used-cell.tsx │ │ │ │ │ │ │ ├── logs-actions │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── overrides-table.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ ├── settings │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── settings-client.tsx │ │ │ │ │ │ │ │ └── skeleton.tsx │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── _components │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── logs-datetime │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── namespace-list-datetime │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── namespace-list-refresh.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── create-namespace-button.tsx │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ └── use-namespace-list-filters.ts │ │ │ │ │ │ ├── list │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── namespace-card.tsx │ │ │ │ │ │ │ ├── namespace-list.schema.ts │ │ │ │ │ │ │ └── skeletons.tsx │ │ │ │ │ │ ├── namespace-list-client.tsx │ │ │ │ │ │ ├── namespace-list-filters.schema.ts │ │ │ │ │ │ └── skeletons.tsx │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── settings │ │ │ │ │ ├── billing │ │ │ │ │ ├── client.tsx │ │ │ │ │ ├── components │ │ │ │ │ │ ├── cancel-alert.tsx │ │ │ │ │ │ ├── cancel-plan.tsx │ │ │ │ │ │ ├── confirmation.tsx │ │ │ │ │ │ ├── current-plan-card.tsx │ │ │ │ │ │ ├── free-tier-alert.tsx │ │ │ │ │ │ ├── plan-selection-modal.tsx │ │ │ │ │ │ ├── shell.tsx │ │ │ │ │ │ ├── subscription-status.tsx │ │ │ │ │ │ └── usage.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── stripe │ │ │ │ │ │ ├── checkout │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ └── portal │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── general │ │ │ │ │ ├── copy-workspace-id.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── update-workspace-name.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ ├── root-keys │ │ │ │ │ ├── [keyId] │ │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ │ └── permissions │ │ │ │ │ │ │ └── permissions.ts │ │ │ │ │ ├── components │ │ │ │ │ │ ├── control-cloud │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── controls │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── root-keys-filters │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── root-keys-search │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── root-key │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ ├── expandable-category.tsx │ │ │ │ │ │ │ │ ├── highlighted-text.tsx │ │ │ │ │ │ │ │ ├── permission-badge-list.tsx │ │ │ │ │ │ │ │ ├── permission-list.tsx │ │ │ │ │ │ │ │ ├── permission-sheet.tsx │ │ │ │ │ │ │ │ ├── permission-toggle.tsx │ │ │ │ │ │ │ │ ├── search-input.tsx │ │ │ │ │ │ │ │ └── search-permissions.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── create-rootkey-button.tsx │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ ├── use-permission-sheet.ts │ │ │ │ │ │ │ │ ├── use-permissions.ts │ │ │ │ │ │ │ │ ├── use-root-key-dialog.ts │ │ │ │ │ │ │ │ └── use-root-key-success.ts │ │ │ │ │ │ │ ├── permissions.ts │ │ │ │ │ │ │ ├── root-key-dialog.tsx │ │ │ │ │ │ │ ├── root-key-success.tsx │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ └── permissions.ts │ │ │ │ │ │ └── table │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── actions │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── delete-root-key.tsx │ │ │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ │ │ │ └── use-delete-root-key.ts │ │ │ │ │ │ │ │ │ └── root-key-info.tsx │ │ │ │ │ │ │ │ └── root-keys-table-action.popover.constants.tsx │ │ │ │ │ │ │ ├── assigned-items-cell.tsx │ │ │ │ │ │ │ ├── last-updated.tsx │ │ │ │ │ │ │ └── skeletons.tsx │ │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ └── use-root-keys-list-query.ts │ │ │ │ │ │ │ ├── query-logs.schema.ts │ │ │ │ │ │ │ ├── root-keys-list.tsx │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ └── get-row-class.ts │ │ │ │ │ ├── filters.schema.ts │ │ │ │ │ ├── hooks │ │ │ │ │ │ └── use-filters.ts │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── team │ │ │ │ │ ├── client.tsx │ │ │ │ │ ├── invitations.tsx │ │ │ │ │ ├── invite.tsx │ │ │ │ │ ├── members.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ ├── role-switcher.tsx │ │ │ │ │ └── status-badge.tsx │ │ │ │ │ ├── vercel │ │ │ │ │ ├── client.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ │ └── workspace-navbar.tsx │ │ │ ├── api │ │ │ │ ├── auth │ │ │ │ │ └── refresh │ │ │ │ │ │ └── route.ts │ │ │ │ └── trpc │ │ │ │ │ └── [trpc] │ │ │ │ │ └── route.ts │ │ │ ├── gateway-new │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ ├── overview │ │ │ │ └── page.tsx │ │ │ └── page.tsx │ │ ├── actions.ts │ │ ├── api │ │ │ ├── auth │ │ │ │ ├── accept-invitation │ │ │ │ │ └── route.ts │ │ │ │ └── invitation │ │ │ │ │ └── route.ts │ │ │ ├── v1 │ │ │ │ └── vercel │ │ │ │ │ └── integration │ │ │ │ │ └── route.ts │ │ │ └── webhooks │ │ │ │ └── stripe │ │ │ │ └── route.ts │ │ ├── auth │ │ │ ├── actions.ts │ │ │ ├── banners.tsx │ │ │ ├── context │ │ │ │ ├── signin-context.tsx │ │ │ │ └── signup-context.tsx │ │ │ ├── hooks │ │ │ │ ├── index.ts │ │ │ │ ├── useSignIn.ts │ │ │ │ └── useSignUp.ts │ │ │ ├── layout.tsx │ │ │ ├── oauth-button.tsx │ │ │ ├── sign-in │ │ │ │ ├── [[...sign-in]] │ │ │ │ │ └── page.tsx │ │ │ │ ├── email-code.tsx │ │ │ │ ├── email-signin.tsx │ │ │ │ ├── email-verify.tsx │ │ │ │ ├── last_used.tsx │ │ │ │ ├── oauth-signin.tsx │ │ │ │ └── org-selector.tsx │ │ │ ├── sign-up │ │ │ │ ├── [[...sign-up]] │ │ │ │ │ └── page.tsx │ │ │ │ ├── email-code.tsx │ │ │ │ ├── email-signup.tsx │ │ │ │ └── oauth-signup.tsx │ │ │ └── sso-callback │ │ │ │ └── [[...sso-callback]] │ │ │ │ └── route.ts │ │ ├── favicon.ico │ │ ├── integrations │ │ │ └── vercel │ │ │ │ └── callback │ │ │ │ ├── client.tsx │ │ │ │ ├── exchange-code.tsx │ │ │ │ ├── loading.tsx │ │ │ │ ├── page.tsx │ │ │ │ └── workspace.tsx │ │ ├── join │ │ │ ├── route.ts │ │ │ └── success │ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── new │ │ │ ├── components │ │ │ │ ├── expandable-settings.tsx │ │ │ │ ├── onboarding-content.tsx │ │ │ │ ├── onboarding-fallback.tsx │ │ │ │ ├── onboarding-success-step.tsx │ │ │ │ └── onboarding-wizard.tsx │ │ │ ├── constants.ts │ │ │ ├── hooks │ │ │ │ ├── use-key-creation-step.tsx │ │ │ │ └── use-workspace-step.tsx │ │ │ └── page.tsx │ │ ├── react-query-provider.tsx │ │ ├── robots.txt │ │ ├── success │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ └── theme-provider.tsx │ ├── components.json │ ├── components │ │ ├── auth │ │ │ ├── post-auth-invitation-handler.tsx │ │ │ └── turnstile-challenge.tsx │ │ ├── confirmation-popover.tsx │ │ ├── dashboard │ │ │ ├── charts.tsx │ │ │ ├── command-menu.tsx │ │ │ ├── confirm.tsx │ │ │ ├── feedback-component.tsx │ │ │ ├── navbar.tsx │ │ │ ├── page-header.tsx │ │ │ ├── page-loading.tsx │ │ │ └── root-key-table │ │ │ │ ├── index.tsx │ │ │ │ └── table.tsx │ │ ├── empty-component-spacer.tsx │ │ ├── error-boundary.tsx │ │ ├── landing │ │ │ └── fade-in.tsx │ │ ├── list-search-input.tsx │ │ ├── logs │ │ │ ├── chart │ │ │ │ ├── components │ │ │ │ │ ├── logs-chart-error.tsx │ │ │ │ │ └── logs-chart-loading.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── utils │ │ │ │ │ ├── calculate-timepoints.ts │ │ │ │ │ ├── convert-date-to-local.ts │ │ │ │ │ └── format-timestamp.ts │ │ │ ├── checkbox │ │ │ │ ├── filter-checkbox.tsx │ │ │ │ ├── filter-item.tsx │ │ │ │ ├── filters-popover.tsx │ │ │ │ └── hooks │ │ │ │ │ └── index.ts │ │ │ ├── constants.ts │ │ │ ├── controls-container.tsx │ │ │ ├── datetime │ │ │ │ ├── constants.ts │ │ │ │ ├── datetime-popover.tsx │ │ │ │ ├── suggestions.tsx │ │ │ │ └── types.ts │ │ │ ├── details │ │ │ │ ├── log-details │ │ │ │ │ ├── components │ │ │ │ │ │ ├── log-footer.tsx │ │ │ │ │ │ ├── log-header.tsx │ │ │ │ │ │ ├── log-meta.tsx │ │ │ │ │ │ └── log-section.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── request-response-details.tsx │ │ │ │ └── resizable-panel.tsx │ │ │ ├── filter-operator-input │ │ │ │ └── index.tsx │ │ │ ├── hooks │ │ │ │ ├── use-bookmarked-filters.test.ts │ │ │ │ ├── use-bookmarked-filters.ts │ │ │ │ └── use-sort.tsx │ │ │ ├── live-switch-button │ │ │ │ └── index.tsx │ │ │ ├── llm-search │ │ │ │ ├── components │ │ │ │ │ ├── search-actions.tsx │ │ │ │ │ ├── search-example-tooltip.tsx │ │ │ │ │ ├── search-icon.tsx │ │ │ │ │ └── search-input.tsx │ │ │ │ ├── hooks │ │ │ │ │ ├── use-search-strategy.test.tsx │ │ │ │ │ └── use-search-strategy.ts │ │ │ │ └── index.tsx │ │ │ ├── overview-charts │ │ │ │ ├── hooks.tsx │ │ │ │ ├── overview-area-chart-error.tsx │ │ │ │ ├── overview-area-chart-loader.tsx │ │ │ │ ├── overview-area-chart.tsx │ │ │ │ ├── overview-bar-chart-error.tsx │ │ │ │ ├── overview-bar-chart-loader.tsx │ │ │ │ ├── overview-bar-chart.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils.tsx │ │ │ ├── parse-timestamp.ts │ │ │ ├── queries │ │ │ │ ├── empty.tsx │ │ │ │ ├── list-group.tsx │ │ │ │ ├── queries-context.tsx │ │ │ │ ├── queries-item-row.tsx │ │ │ │ ├── queries-made-by.tsx │ │ │ │ ├── queries-overflow-tooltip.tsx │ │ │ │ ├── queries-pill.tsx │ │ │ │ ├── queries-popover.tsx │ │ │ │ ├── queries-tabs.tsx │ │ │ │ ├── queries-toast.tsx │ │ │ │ └── utils.ts │ │ │ ├── table-action.popover.tsx │ │ │ ├── utils.tsx │ │ │ └── validation │ │ │ │ ├── filter.types.ts │ │ │ │ └── utils │ │ │ │ ├── nuqs-parsers.ts │ │ │ │ ├── structured-output-schema-generator.ts │ │ │ │ ├── transform-structured-output-filter-format.ts │ │ │ │ └── type-guards.ts │ │ ├── navbar-popover.tsx │ │ ├── navigation │ │ │ ├── action-button.tsx │ │ │ ├── copyable-id-button.tsx │ │ │ ├── navbar.tsx │ │ │ ├── navigation.tsx │ │ │ └── sidebar │ │ │ │ ├── app-sidebar │ │ │ │ ├── components │ │ │ │ │ ├── nav-items │ │ │ │ │ │ ├── animated-loading-spinner.tsx │ │ │ │ │ │ ├── flat-nav-item.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── nested-nav-item.tsx │ │ │ │ │ │ ├── toggle-sidebar-button.tsx │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── nav-link.tsx │ │ │ │ ├── hooks │ │ │ │ │ ├── use-api-navigation.tsx │ │ │ │ │ ├── use-projects-navigation.tsx │ │ │ │ │ └── use-ratelimit-navigation.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── help-button.tsx │ │ │ │ ├── sidebar-mobile.tsx │ │ │ │ ├── team-switcher.tsx │ │ │ │ ├── usage-banner.tsx │ │ │ │ ├── user-button.tsx │ │ │ │ └── workspace-navigations.tsx │ │ ├── opt-in.tsx │ │ ├── page-content.tsx │ │ ├── proximity-prefetch.tsx │ │ ├── selected-item-list.tsx │ │ ├── stats-card │ │ │ ├── components │ │ │ │ ├── chart │ │ │ │ │ ├── components │ │ │ │ │ │ ├── logs-chart-error.tsx │ │ │ │ │ │ └── logs-chart-loading.tsx │ │ │ │ │ └── stats-chart.tsx │ │ │ │ └── metric-stats.tsx │ │ │ └── index.tsx │ │ ├── ui │ │ │ ├── alert.tsx │ │ │ ├── avatar.tsx │ │ │ ├── calendar.tsx │ │ │ ├── chart.tsx │ │ │ ├── code.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── combobox.tsx │ │ │ ├── command.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── drover.tsx │ │ │ ├── form-combobox.tsx │ │ │ ├── icons.tsx │ │ │ ├── label.tsx │ │ │ ├── metric.tsx │ │ │ ├── popover.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── sheet.tsx │ │ │ ├── shiny-text.tsx │ │ │ ├── sidebar.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ └── tabs.tsx │ │ └── virtual-table │ │ │ ├── components │ │ │ ├── empty-state.tsx │ │ │ └── loading-indicator.tsx │ │ │ ├── constants.ts │ │ │ ├── hooks │ │ │ ├── useTableData.ts │ │ │ ├── useTableHeight.ts │ │ │ └── useVirtualData.ts │ │ │ ├── index.tsx │ │ │ └── types.ts │ ├── gen │ │ └── proto │ │ │ ├── cache │ │ │ └── v1 │ │ │ │ └── invalidation_pb.ts │ │ │ ├── ctrl │ │ │ └── v1 │ │ │ │ ├── acme_pb.ts │ │ │ │ ├── build_pb.ts │ │ │ │ ├── deployment_pb.ts │ │ │ │ ├── environment_pb.ts │ │ │ │ ├── openapi_pb.ts │ │ │ │ ├── project_pb.ts │ │ │ │ └── service_pb.ts │ │ │ ├── krane │ │ │ └── v1 │ │ │ │ ├── deployment_pb.ts │ │ │ │ └── gateway_pb.ts │ │ │ └── vault │ │ │ └── v1 │ │ │ ├── object_pb.ts │ │ │ └── service_pb.ts │ ├── hooks │ │ ├── use-delay-loader.tsx │ │ ├── use-keyboard-shortcut.test.tsx │ │ ├── use-keyboard-shortcut.tsx │ │ ├── use-mobile.tsx │ │ ├── use-persisted-form.tsx │ │ └── use-workspace-navigation.tsx │ ├── images │ │ ├── app.png │ │ ├── computer-user.jpg │ │ ├── laptop.jpg │ │ ├── team │ │ │ ├── andreas.jpeg │ │ │ ├── dom.jpeg │ │ │ ├── james.jpg │ │ │ └── michael.png │ │ └── unkey.svg │ ├── lib │ │ ├── audit.ts │ │ ├── auth.ts │ │ ├── auth │ │ │ ├── __mocks__ │ │ │ │ ├── README.md │ │ │ │ ├── env.ts │ │ │ │ ├── setup.ts │ │ │ │ └── workos.ts │ │ │ ├── base-provider.ts │ │ │ ├── cookie-security.ts │ │ │ ├── cookies.ts │ │ │ ├── get-auth.ts │ │ │ ├── local.ts │ │ │ ├── middleware.ts │ │ │ ├── server.ts │ │ │ ├── sessions.ts │ │ │ ├── tests │ │ │ │ ├── check-radar.test.ts │ │ │ │ └── cookie-security.test.ts │ │ │ ├── types.ts │ │ │ ├── utils.ts │ │ │ └── workos.ts │ │ ├── cache.ts │ │ ├── clerk.ts │ │ ├── clickhouse.ts │ │ ├── collections │ │ │ ├── client.ts │ │ │ ├── deploy │ │ │ │ ├── deployments.ts │ │ │ │ ├── domains.ts │ │ │ │ ├── environments.ts │ │ │ │ └── projects.ts │ │ │ ├── index.ts │ │ │ └── ratelimit │ │ │ │ ├── namespaces.ts │ │ │ │ └── overrides.ts │ │ ├── create-context.tsx │ │ ├── db.ts │ │ ├── env.ts │ │ ├── fmt.ts │ │ ├── format.tsx │ │ ├── quotas.ts │ │ ├── schemas │ │ │ ├── logs.filter.schema.ts │ │ │ └── logs.schema.ts │ │ ├── shorten-id.ts │ │ ├── stripe.ts │ │ ├── templates-form.ts │ │ ├── trpc │ │ │ ├── client.ts │ │ │ ├── context.ts │ │ │ ├── routers │ │ │ │ ├── api │ │ │ │ │ ├── create.ts │ │ │ │ │ ├── delete.ts │ │ │ │ │ ├── keys │ │ │ │ │ │ ├── api-query.ts │ │ │ │ │ │ ├── llm-search-api-keys │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── llm-search │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── utils.test.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── query-active-keys-timeseries │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── query-api-keys │ │ │ │ │ │ │ ├── get-all-keys.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── schema.ts │ │ │ │ │ │ ├── query-key-usage-timeseries │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── query-latest-verification │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── query-overview-logs │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── query-overview-timeseries │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── timeseries.utils.ts │ │ │ │ │ │ └── toggle-key-enabled │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── overview-api-search.ts │ │ │ │ │ ├── overview │ │ │ │ │ │ ├── query-key-count │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── query-overview │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── schemas.ts │ │ │ │ │ │ └── query-timeseries │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── query-api-key-details.ts │ │ │ │ │ ├── setDefaultBytes.ts │ │ │ │ │ ├── setDefaultPrefix.ts │ │ │ │ │ ├── updateDeleteProtection.ts │ │ │ │ │ ├── updateIpWhitelist.ts │ │ │ │ │ └── updateName.ts │ │ │ │ ├── audit │ │ │ │ │ ├── fetch.ts │ │ │ │ │ ├── llm-search │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── schema.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── authorization │ │ │ │ │ ├── permissions │ │ │ │ │ │ ├── delete.ts │ │ │ │ │ │ ├── llm-search │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── query.ts │ │ │ │ │ │ └── upsert.ts │ │ │ │ │ └── roles │ │ │ │ │ │ ├── connected-keys-and-perms.ts │ │ │ │ │ │ ├── delete.ts │ │ │ │ │ │ ├── keys │ │ │ │ │ │ ├── connected-keys.ts │ │ │ │ │ │ ├── query-keys.ts │ │ │ │ │ │ ├── schema-with-helpers.ts │ │ │ │ │ │ └── search-key.ts │ │ │ │ │ │ ├── llm-search │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── permissions │ │ │ │ │ │ ├── connected-permissions.ts │ │ │ │ │ │ ├── query-permissions.ts │ │ │ │ │ │ ├── schema-with-helpers.ts │ │ │ │ │ │ └── search-permissions.ts │ │ │ │ │ │ ├── query.ts │ │ │ │ │ │ └── upsert.ts │ │ │ │ ├── billing │ │ │ │ │ └── query-usage │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── schemas.ts │ │ │ │ ├── deploy │ │ │ │ │ ├── deployment │ │ │ │ │ │ ├── build-steps.ts │ │ │ │ │ │ ├── getById.ts │ │ │ │ │ │ ├── getOpenApiDiff.ts │ │ │ │ │ │ ├── list.ts │ │ │ │ │ │ ├── llm-search │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── promote.ts │ │ │ │ │ │ └── rollback.ts │ │ │ │ │ ├── domains │ │ │ │ │ │ └── list.ts │ │ │ │ │ ├── envs │ │ │ │ │ │ └── list.ts │ │ │ │ │ ├── network │ │ │ │ │ │ ├── generate.ts │ │ │ │ │ │ └── get.ts │ │ │ │ │ └── project │ │ │ │ │ │ ├── create.ts │ │ │ │ │ │ └── list.ts │ │ │ │ ├── environment │ │ │ │ │ └── list.ts │ │ │ │ ├── identity │ │ │ │ │ ├── create.ts │ │ │ │ │ ├── getById.ts │ │ │ │ │ ├── query.ts │ │ │ │ │ ├── search.ts │ │ │ │ │ └── searchWithRelations.ts │ │ │ │ ├── index.ts │ │ │ │ ├── key │ │ │ │ │ ├── create.ts │ │ │ │ │ ├── createRootKey.ts │ │ │ │ │ ├── delete.ts │ │ │ │ │ ├── fetch-key-permissions.tsx │ │ │ │ │ ├── query-logs │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── query-timeseries │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── rbac │ │ │ │ │ │ ├── connected-roles-and-perms.ts │ │ │ │ │ │ ├── get-permission-slugs.ts │ │ │ │ │ │ ├── permissions │ │ │ │ │ │ │ ├── query.ts │ │ │ │ │ │ │ └── schema-with-helpers.ts │ │ │ │ │ │ ├── roles │ │ │ │ │ │ │ ├── query-keys-roles.ts │ │ │ │ │ │ │ ├── schema-with-helpers.ts │ │ │ │ │ │ │ └── search-keys-roles.ts │ │ │ │ │ │ └── update-rbac.ts │ │ │ │ │ ├── updateEnabled.ts │ │ │ │ │ ├── updateExpiration.ts │ │ │ │ │ ├── updateMetadata.ts │ │ │ │ │ ├── updateName.ts │ │ │ │ │ ├── updateOwnerId.ts │ │ │ │ │ ├── updateRatelimit.ts │ │ │ │ │ ├── updateRemaining.ts │ │ │ │ │ ├── updateRootKeyName.ts │ │ │ │ │ └── updateRootKeyPermissions.ts │ │ │ │ ├── logs │ │ │ │ │ ├── llm-search │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── utils.test.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── query-logs │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── utils.test.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── query-timeseries │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ ├── org │ │ │ │ │ ├── getInvitationList.ts │ │ │ │ │ ├── getOrg.ts │ │ │ │ │ ├── getOrganizationMemberList.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── inviteMember.ts │ │ │ │ │ ├── removeMembership.ts │ │ │ │ │ ├── revokeInvitation.ts │ │ │ │ │ └── updateMembership.ts │ │ │ │ ├── plain.ts │ │ │ │ ├── ratelimit │ │ │ │ │ ├── createNamespace.ts │ │ │ │ │ ├── createOverride.ts │ │ │ │ │ ├── deleteNamespace.ts │ │ │ │ │ ├── deleteOverride.ts │ │ │ │ │ ├── llm-search │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── utils.test.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── namespaces_list.ts │ │ │ │ │ ├── overrides_list.ts │ │ │ │ │ ├── query-last-used-times.ts │ │ │ │ │ ├── query-latency-timeseries │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── query-logs │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── query-namespace-details │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── query-overview-logs │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── query-timeseries │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── updateNamespaceName.ts │ │ │ │ │ └── updateOverride.ts │ │ │ │ ├── rbac.ts │ │ │ │ ├── rbac │ │ │ │ │ ├── connectPermissionToRole.ts │ │ │ │ │ ├── connectRoleToKey.ts │ │ │ │ │ ├── createPermission.ts │ │ │ │ │ ├── createRole.ts │ │ │ │ │ ├── deletePermission.ts │ │ │ │ │ ├── deleteRole.ts │ │ │ │ │ ├── disconnectPermissionFromRole.ts │ │ │ │ │ ├── disconnectRoleFromKey.ts │ │ │ │ │ ├── updatePermission.ts │ │ │ │ │ ├── updateRole.ts │ │ │ │ │ └── upsertPermission.ts │ │ │ │ ├── settings │ │ │ │ │ └── root-keys │ │ │ │ │ │ ├── delete.ts │ │ │ │ │ │ ├── llm-search │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── query.ts │ │ │ │ ├── stripe │ │ │ │ │ ├── cancelSubscription.ts │ │ │ │ │ ├── createSubscription.ts │ │ │ │ │ ├── getBillingInfo.ts │ │ │ │ │ ├── getCheckoutSession.ts │ │ │ │ │ ├── getCustomer.ts │ │ │ │ │ ├── getProducts.ts │ │ │ │ │ ├── getSetupIntent.ts │ │ │ │ │ ├── uncancelSubscription.ts │ │ │ │ │ ├── updateCustomer.ts │ │ │ │ │ ├── updateSubscription.ts │ │ │ │ │ └── updateWorkspace.ts │ │ │ │ ├── user │ │ │ │ │ ├── getCurrentUser.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── listMemberships.ts │ │ │ │ │ └── switchOrg.ts │ │ │ │ ├── utils │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── granularity.test.ts │ │ │ │ │ ├── granularity.ts │ │ │ │ │ └── stripe.ts │ │ │ │ ├── vercel.ts │ │ │ │ └── workspace │ │ │ │ │ ├── changeName.ts │ │ │ │ │ ├── create.ts │ │ │ │ │ ├── getById.ts │ │ │ │ │ ├── getCurrent.ts │ │ │ │ │ ├── onboarding.ts │ │ │ │ │ └── optIntoBeta.ts │ │ │ ├── server.ts │ │ │ └── trpc.ts │ │ ├── types.ts │ │ ├── utils.ts │ │ ├── utils │ │ │ ├── cache.ts │ │ │ ├── slackAlerts.ts │ │ │ └── trpc.ts │ │ ├── vault.ts │ │ ├── workspace-cache.ts │ │ └── zod-helper.ts │ ├── middleware.ts │ ├── next.config.js │ ├── package.json │ ├── pages │ │ └── api │ │ │ └── v1 │ │ │ ├── github │ │ │ ├── test.ts │ │ │ └── verify.ts │ │ │ └── workos │ │ │ └── webhooks.ts │ ├── postcss.config.js │ ├── providers │ │ ├── query-time-provider.tsx │ │ └── workspace-provider.tsx │ ├── public │ │ ├── images │ │ │ ├── blog-images │ │ │ │ ├── admin-dashboard-new.png │ │ │ │ ├── admin-dashboard.png │ │ │ │ ├── ai-post │ │ │ │ │ ├── create-api.png │ │ │ │ │ └── create-root-key.png │ │ │ │ ├── cli-auth │ │ │ │ │ └── cli-auth-overview.png │ │ │ │ ├── funding │ │ │ │ │ └── funding-cover.png │ │ │ │ ├── how-to-market │ │ │ │ │ ├── tweet-example.png │ │ │ │ │ └── welcome-unkey.png │ │ │ │ ├── ocr-post │ │ │ │ │ ├── 1-create-root-key.png │ │ │ │ │ ├── 2-create-api.png │ │ │ │ │ ├── 3-dashboard.png │ │ │ │ │ ├── 4-walkthrough.gif │ │ │ │ │ └── wilfred.jpg │ │ │ │ ├── ratelimiting │ │ │ │ │ ├── analytics.png │ │ │ │ │ ├── audit.png │ │ │ │ │ ├── onboarding-1.png │ │ │ │ │ ├── onboarding-2.png │ │ │ │ │ ├── onboarding-3.png │ │ │ │ │ ├── overrides.png │ │ │ │ │ ├── ratelimit-cover.png │ │ │ │ │ └── top-analytics.png │ │ │ │ ├── secure-env │ │ │ │ │ └── example-stripe.png │ │ │ │ ├── unkey-latency.png │ │ │ │ ├── unkey-with-auth │ │ │ │ │ └── dashboard-example.png │ │ │ │ ├── usage-based-billing │ │ │ │ │ ├── monthly_active_keys.png │ │ │ │ │ └── monthly_verifications.png │ │ │ │ └── vercel │ │ │ │ │ └── vercel.png │ │ │ ├── changelog │ │ │ │ ├── 2023-12-15 │ │ │ │ │ ├── active-keys.png │ │ │ │ │ ├── billing.png │ │ │ │ │ ├── speed.png │ │ │ │ │ └── verifications.png │ │ │ │ ├── 2024-01-19 │ │ │ │ │ └── audit-logging.png │ │ │ │ ├── 2024-02-16 │ │ │ │ │ ├── attach-perm.png │ │ │ │ │ ├── connect-key.png │ │ │ │ │ ├── create-key-ui.png │ │ │ │ │ ├── create-perms.png │ │ │ │ │ ├── create-role.png │ │ │ │ │ └── permissions-details.png │ │ │ │ ├── aug-25 │ │ │ │ │ ├── error-example.png │ │ │ │ │ ├── unkey-onboard-step-1.png │ │ │ │ │ ├── unkey-onboard-step-2.png │ │ │ │ │ ├── unkey-onboard-step-3.png │ │ │ │ │ └── unkey-onboard-step-4.png │ │ │ │ ├── july-10 │ │ │ │ │ └── usage-example.png │ │ │ │ ├── sept-29 │ │ │ │ │ ├── root-key-analytics.png │ │ │ │ │ ├── unkey-template.png │ │ │ │ │ └── usage-analytics.png │ │ │ │ └── sept-8 │ │ │ │ │ ├── api-settings.png │ │ │ │ │ ├── key-analytics.png │ │ │ │ │ ├── key-settings.png │ │ │ │ │ ├── usage.png │ │ │ │ │ ├── user-account.png │ │ │ │ │ ├── workspace-setting.png │ │ │ │ │ └── workspace-settings.png │ │ │ ├── flags │ │ │ │ ├── au.svg │ │ │ │ ├── br.svg │ │ │ │ ├── de.svg │ │ │ │ ├── in.svg │ │ │ │ ├── jp.svg │ │ │ │ └── us.svg │ │ │ ├── integration.png │ │ │ ├── landing │ │ │ │ ├── app-dark.png │ │ │ │ ├── app.png │ │ │ │ ├── og.png │ │ │ │ └── unkey.png │ │ │ ├── quoteImages │ │ │ │ ├── dexter-storey.jpg │ │ │ │ ├── lola.jpg │ │ │ │ ├── maximilian-kaske.jpg │ │ │ │ ├── rick-blalock.jpg │ │ │ │ └── tanmay.jpg │ │ │ ├── team │ │ │ │ ├── andreas.jpeg │ │ │ │ └── james.jpg │ │ │ └── templates │ │ │ │ ├── ai-billing.png │ │ │ │ ├── atash.png │ │ │ │ ├── bun_koyeb.png │ │ │ │ ├── express-middleware.png │ │ │ │ ├── graphql-yoga.png │ │ │ │ ├── openstatus.png │ │ │ │ ├── placeholder.png │ │ │ │ ├── ratelimit.png │ │ │ │ ├── sprintpadawan.png │ │ │ │ ├── unkey-cli.png │ │ │ │ └── unkey-stripe.png │ │ ├── next.svg │ │ ├── unkey-vercel.png │ │ └── vercel.svg │ ├── styles │ │ └── tailwind │ │ │ └── tailwind.css │ ├── tailwind.config.js │ ├── trpc.config.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── docs │ ├── CHANGELOG.md │ ├── README.md │ ├── ai-code-gen │ │ ├── cursor.mdx │ │ ├── overview.mdx │ │ ├── unkey-mcp.mdx │ │ └── windsurf.mdx │ ├── analytics │ │ ├── getting-started.mdx │ │ ├── overview.mdx │ │ ├── query-examples.mdx │ │ ├── query-restrictions.mdx │ │ ├── quick-reference.mdx │ │ ├── schema-reference.mdx │ │ └── troubleshooting.mdx │ ├── api-reference │ │ ├── v1 │ │ │ ├── authentication.mdx │ │ │ ├── migration │ │ │ │ ├── analytics.mdx │ │ │ │ ├── apis.mdx │ │ │ │ ├── errors.mdx │ │ │ │ ├── identities.mdx │ │ │ │ ├── index.mdx │ │ │ │ ├── keys.mdx │ │ │ │ ├── latency_drop.png │ │ │ │ ├── permissions.mdx │ │ │ │ └── ratelimiting.mdx │ │ │ └── overview.mdx │ │ └── v2 │ │ │ ├── auth.mdx │ │ │ ├── errors.mdx │ │ │ ├── overview.mdx │ │ │ └── rpc.mdx │ ├── apis │ │ ├── features │ │ │ ├── analytics.mdx │ │ │ ├── authorization │ │ │ │ ├── api-key-screen.png │ │ │ │ ├── api-keys-navigation.png │ │ │ │ ├── axiom.png │ │ │ │ ├── connections-connected.png │ │ │ │ ├── connections.png │ │ │ │ ├── domains-permissions.png │ │ │ │ ├── domains-roles-admin.png │ │ │ │ ├── domains-roles-dns.manager.png │ │ │ │ ├── domains-roles-read-only.png │ │ │ │ ├── domains-roles.png │ │ │ │ ├── example.mdx │ │ │ │ ├── introduction.mdx │ │ │ │ ├── key-role-update.png │ │ │ │ ├── role-add-example.png │ │ │ │ ├── roles-and-permissions.mdx │ │ │ │ ├── update-key-roles.png │ │ │ │ ├── update-role-connection.png │ │ │ │ └── verifying.mdx │ │ │ ├── enabled.mdx │ │ │ ├── environments.mdx │ │ │ ├── ratelimiting │ │ │ │ └── overview.mdx │ │ │ ├── refill.mdx │ │ │ ├── remaining.mdx │ │ │ ├── rerolling-key.mdx │ │ │ ├── revocation.mdx │ │ │ ├── temp-keys.mdx │ │ │ └── whitelist.mdx │ │ └── introduction.mdx │ ├── audit-log │ │ ├── audit-log.png │ │ ├── audit-workspace-details.png │ │ ├── introduction.mdx │ │ └── types.mdx │ ├── concepts │ │ └── identities │ │ │ ├── overview.mdx │ │ │ └── ratelimits.mdx │ ├── docs.json │ ├── errors │ │ ├── overview.mdx │ │ ├── unkey │ │ │ ├── application │ │ │ │ ├── assertion_failed.mdx │ │ │ │ ├── invalid_input.mdx │ │ │ │ ├── precondition_failed.mdx │ │ │ │ ├── protected_resource.mdx │ │ │ │ ├── service_unavailable.mdx │ │ │ │ └── unexpected_error.mdx │ │ │ ├── authentication │ │ │ │ ├── key_not_found.mdx │ │ │ │ ├── malformed.mdx │ │ │ │ └── missing.mdx │ │ │ ├── authorization │ │ │ │ ├── forbidden.mdx │ │ │ │ ├── insufficient_permissions.mdx │ │ │ │ ├── key_disabled.mdx │ │ │ │ └── workspace_disabled.mdx │ │ │ └── data │ │ │ │ ├── analytics_connection_failed.mdx │ │ │ │ ├── analytics_not_configured.mdx │ │ │ │ ├── api_not_found.mdx │ │ │ │ ├── audit_log_not_found.mdx │ │ │ │ ├── identity_already_exists.mdx │ │ │ │ ├── identity_not_found.mdx │ │ │ │ ├── key_auth_not_found.mdx │ │ │ │ ├── key_not_found.mdx │ │ │ │ ├── key_space_not_found.mdx │ │ │ │ ├── migration_not_found.mdx │ │ │ │ ├── permission_already_exists.mdx │ │ │ │ ├── permission_not_found.mdx │ │ │ │ ├── ratelimit_namespace_gone.mdx │ │ │ │ ├── ratelimit_namespace_not_found.mdx │ │ │ │ ├── ratelimit_override_not_found.mdx │ │ │ │ ├── role_already_exists.mdx │ │ │ │ ├── role_not_found.mdx │ │ │ │ └── workspace_not_found.mdx │ │ └── user │ │ │ ├── bad_request │ │ │ ├── client_closed_request.mdx │ │ │ ├── invalid_analytics_function.mdx │ │ │ ├── invalid_analytics_query.mdx │ │ │ ├── invalid_analytics_query_type.mdx │ │ │ ├── invalid_analytics_table.mdx │ │ │ ├── missing_required_header.mdx │ │ │ ├── permissions_query_syntax_error.mdx │ │ │ ├── query_range_exceeds_retention.mdx │ │ │ ├── request_body_too_large.mdx │ │ │ ├── request_body_unreadable.mdx │ │ │ └── request_timeout.mdx │ │ │ ├── too_many_requests │ │ │ └── query_quota_exceeded.mdx │ │ │ └── unprocessable_entity │ │ │ ├── query_execution_timeout.mdx │ │ │ ├── query_memory_limit_exceeded.mdx │ │ │ └── query_rows_limit_exceeded.mdx │ ├── glossary.mdx │ ├── images │ │ ├── add-integration.png │ │ ├── audit-log.png │ │ ├── choose-unkey.png │ │ ├── create-api-key.png │ │ ├── create-first-api.png │ │ ├── create-root-key.png │ │ ├── create-workspace.png │ │ ├── delete-protection.png │ │ ├── example-key.png │ │ ├── ip-whitelist.png │ │ ├── onboard-ratelimit.png │ │ ├── onboarding-step2.png │ │ ├── onboarding-step3.png │ │ ├── per-api-analytics.png │ │ ├── per-key-analytics.png │ │ ├── planetscale-foreign.png │ │ ├── ratelimit-page.png │ │ ├── reroll-key.png │ │ ├── root-keys │ │ │ ├── copy.png │ │ │ ├── rootkey-create.png │ │ │ ├── rootkey-modal-start.png │ │ │ └── rootkey-settings-permissions.png │ │ ├── select-api.png │ │ ├── select-project.png │ │ └── sign-up.png │ ├── integrations │ │ └── vercel.mdx │ ├── introduction.mdx │ ├── libraries │ │ ├── ex │ │ │ ├── functions │ │ │ │ ├── create_key.mdx │ │ │ │ ├── delete_key.mdx │ │ │ │ ├── update_key.mdx │ │ │ │ ├── update_remaining.mdx │ │ │ │ └── verify_key.mdx │ │ │ └── overview.mdx │ │ ├── go │ │ │ └── api.mdx │ │ ├── nuxt │ │ │ └── overview.mdx │ │ ├── py │ │ │ └── api.mdx │ │ ├── rs │ │ │ └── overview.mdx │ │ ├── springboot-java │ │ │ ├── api │ │ │ │ ├── get.mdx │ │ │ │ └── list.mdx │ │ │ ├── functions │ │ │ │ ├── create.mdx │ │ │ │ ├── revoke.mdx │ │ │ │ ├── update.mdx │ │ │ │ └── verify.mdx │ │ │ └── overview.mdx │ │ └── ts │ │ │ ├── api.mdx │ │ │ ├── cache │ │ │ ├── interface │ │ │ │ └── store.mdx │ │ │ └── overview.mdx │ │ │ ├── hono.mdx │ │ │ ├── nextjs.mdx │ │ │ └── ratelimit │ │ │ ├── override │ │ │ ├── delete-override.mdx │ │ │ ├── get-override.mdx │ │ │ ├── list-overrides.mdx │ │ │ ├── overview.mdx │ │ │ └── set-override.mdx │ │ │ └── ratelimit.mdx │ ├── migrations │ │ ├── introduction.mdx │ │ └── keys.mdx │ ├── package.json │ ├── quickstart │ │ ├── apis │ │ │ ├── bun.mdx │ │ │ ├── express.mdx │ │ │ ├── hono.mdx │ │ │ └── nextjs.mdx │ │ ├── identities │ │ │ └── shared-ratelimits.mdx │ │ ├── onboarding │ │ │ └── onboarding-api.mdx │ │ └── ratelimiting │ │ │ ├── bun.mdx │ │ │ ├── express.mdx │ │ │ ├── hono.mdx │ │ │ └── nextjs.mdx │ ├── ratelimiting │ │ ├── automated-overrides.mdx │ │ ├── copy-key.png │ │ ├── create-root-key-permissions.png │ │ ├── introduction.mdx │ │ ├── modes.mdx │ │ ├── new-override.png │ │ ├── overrides.mdx │ │ └── wildcard-override.png │ ├── security │ │ ├── delete-protection.mdx │ │ ├── github-scanning.mdx │ │ ├── overview.mdx │ │ ├── recovering-keys.mdx │ │ └── root-keys.mdx │ └── unkey.png ├── engineering │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── (home) │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── api │ │ │ └── search │ │ │ │ └── route.ts │ │ ├── components │ │ │ ├── icon-swatch.tsx │ │ │ ├── mermaid.tsx │ │ │ ├── render.tsx │ │ │ └── row.tsx │ │ ├── design │ │ │ ├── [[...slug]] │ │ │ │ └── page.tsx │ │ │ └── layout.tsx │ │ ├── docs │ │ │ ├── [[...slug]] │ │ │ │ └── page.tsx │ │ │ └── layout.tsx │ │ ├── global.css │ │ ├── layout.config.tsx │ │ ├── layout.tsx │ │ └── source.ts │ ├── content │ │ ├── design │ │ │ ├── colors.mdx │ │ │ ├── components │ │ │ │ ├── badge.example.tsx │ │ │ │ ├── badge.mdx │ │ │ │ ├── buttons │ │ │ │ │ ├── button.examples.tsx │ │ │ │ │ ├── button.mdx │ │ │ │ │ ├── button.tsx │ │ │ │ │ ├── copy-button.examples.tsx │ │ │ │ │ ├── copy-button.mdx │ │ │ │ │ ├── keyboard-button.examples.tsx │ │ │ │ │ ├── keyboard-button.mdx │ │ │ │ │ ├── refresh-button.examples.tsx │ │ │ │ │ ├── refresh-button.mdx │ │ │ │ │ ├── visual-button.examples.tsx │ │ │ │ │ └── visual-button.mdx │ │ │ │ ├── cards │ │ │ │ │ ├── card.example.tsx │ │ │ │ │ ├── card.mdx │ │ │ │ │ ├── settings-card.example.tsx │ │ │ │ │ └── settings-card.mdx │ │ │ │ ├── circle-progress.example.tsx │ │ │ │ ├── circle-progress.mdx │ │ │ │ ├── code.example.tsx │ │ │ │ ├── code.mdx │ │ │ │ ├── dialogs │ │ │ │ │ ├── date-time.example.tsx │ │ │ │ │ ├── date-time.mdx │ │ │ │ │ ├── dialog-container.example.tsx │ │ │ │ │ ├── dialog-container.mdx │ │ │ │ │ ├── dialog.example.tsx │ │ │ │ │ ├── dialog.mdx │ │ │ │ │ ├── navigable-dialog.example.tsx │ │ │ │ │ └── navigable-dialog.mdx │ │ │ │ ├── empty.examples.tsx │ │ │ │ ├── empty.mdx │ │ │ │ ├── filter │ │ │ │ │ ├── control-cloud.examples.tsx │ │ │ │ │ └── control-cloud.mdx │ │ │ │ ├── form-inputs │ │ │ │ │ ├── checkbox.examples.tsx │ │ │ │ │ ├── checkbox.mdx │ │ │ │ │ ├── form-checkbox.mdx │ │ │ │ │ ├── form-checkbox.variants.tsx │ │ │ │ │ ├── form-input.mdx │ │ │ │ │ ├── form-input.variants.tsx │ │ │ │ │ ├── form-textarea.mdx │ │ │ │ │ ├── form-textarea.variants.tsx │ │ │ │ │ ├── input.mdx │ │ │ │ │ ├── input.variants.tsx │ │ │ │ │ ├── select.example.tsx │ │ │ │ │ ├── select.mdx │ │ │ │ │ ├── textarea.mdx │ │ │ │ │ └── textarea.variants.tsx │ │ │ │ ├── id.mdx │ │ │ │ ├── id.valueTruncate.tsx │ │ │ │ ├── id.width.tsx │ │ │ │ ├── inline-link.example.tsx │ │ │ │ ├── inline-link.mdx │ │ │ │ ├── loading.mdx │ │ │ │ ├── loading │ │ │ │ │ └── loading.example.tsx │ │ │ │ ├── search │ │ │ │ │ ├── llm-search.examples.tsx │ │ │ │ │ └── llm-search.mdx │ │ │ │ ├── separator.example.tsx │ │ │ │ ├── separator.mdx │ │ │ │ ├── toaster.example.tsx │ │ │ │ ├── toaster.mdx │ │ │ │ └── tooltips │ │ │ │ │ ├── info-tooltip.example.tsx │ │ │ │ │ ├── info-tooltip.mdx │ │ │ │ │ ├── timestamp-example.tsx │ │ │ │ │ ├── timestamp-info.mdx │ │ │ │ │ ├── tooltip.mdx │ │ │ │ │ └── tooltip.onHover.tsx │ │ │ ├── icons-export-settings.png │ │ │ ├── icons.mdx │ │ │ ├── index.mdx │ │ │ └── meta.json │ │ └── docs │ │ │ ├── api-design │ │ │ ├── auth.mdx │ │ │ ├── errors.mdx │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ └── rpc.mdx │ │ │ ├── architecture │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ ├── services │ │ │ │ ├── analytics.mdx │ │ │ │ ├── api │ │ │ │ │ ├── config.mdx │ │ │ │ │ ├── meta.json │ │ │ │ │ └── ratelimiting.mdx │ │ │ │ ├── clickhouse-proxy.mdx │ │ │ │ ├── clickhouse.mdx │ │ │ │ ├── ctrl │ │ │ │ │ ├── build.mdx │ │ │ │ │ ├── index.mdx │ │ │ │ │ └── meta.json │ │ │ │ ├── gateway.mdx │ │ │ │ ├── ingress.mdx │ │ │ │ ├── krane.mdx │ │ │ │ ├── meta.json │ │ │ │ └── vault.mdx │ │ │ └── workflows │ │ │ │ ├── creating-services.mdx │ │ │ │ ├── deployment-service.mdx │ │ │ │ ├── index.mdx │ │ │ │ ├── meta.json │ │ │ │ └── routing-service.mdx │ │ │ ├── cli │ │ │ ├── deploy │ │ │ │ └── index.mdx │ │ │ ├── healthcheck │ │ │ │ └── index.mdx │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ ├── quotacheck │ │ │ │ └── index.mdx │ │ │ ├── run │ │ │ │ ├── api │ │ │ │ │ └── index.mdx │ │ │ │ ├── ctrl │ │ │ │ │ └── index.mdx │ │ │ │ ├── index.mdx │ │ │ │ ├── ingress │ │ │ │ │ └── index.mdx │ │ │ │ └── krane │ │ │ │ │ └── index.mdx │ │ │ └── version │ │ │ │ ├── get │ │ │ │ └── index.mdx │ │ │ │ ├── index.mdx │ │ │ │ ├── list │ │ │ │ └── index.mdx │ │ │ │ └── rollback │ │ │ │ └── index.mdx │ │ │ ├── company │ │ │ ├── index.mdx │ │ │ ├── meetings.mdx │ │ │ └── meta.json │ │ │ ├── contributing │ │ │ ├── client-structure.mdx │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ ├── pull-request-checks.mdx │ │ │ ├── sdk-development.mdx │ │ │ ├── seeding-db-and-clickhouse.mdx │ │ │ ├── testing.mdx │ │ │ └── workos.mdx │ │ │ ├── index.mdx │ │ │ ├── infrastructure │ │ │ ├── aws │ │ │ │ ├── google-idp.mdx │ │ │ │ ├── gw-custom-attributes.png │ │ │ │ ├── index.mdx │ │ │ │ └── user-group-management.mdx │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ └── stripe │ │ │ │ └── subscriptions.mdx │ │ │ ├── meta.json │ │ │ ├── releases │ │ │ ├── api.mdx │ │ │ └── frontend.mdx │ │ │ ├── rfcs │ │ │ ├── 0000-template.mdx │ │ │ ├── 0001-rbac.mdx │ │ │ ├── 0002-github-secret-scanning.mdx │ │ │ ├── 0002-secret-scanning-flow.webp │ │ │ ├── 0003-key-shape.mdx │ │ │ ├── 0004-coss-starter.mdx │ │ │ ├── 0005-analytics-api.mdx │ │ │ ├── 0006-auth-migration.mdx │ │ │ ├── 0007-client-file-structure.mdx │ │ │ ├── 0008-dataplane.mdx │ │ │ ├── 0009-pricing-updates.mdx │ │ │ ├── 0010-split-monos.mdx │ │ │ ├── 0011-unkey-resource-names.mdx │ │ │ ├── 0012-stricter-linter.mdx │ │ │ ├── 0013-custom-domains.mdx │ │ │ ├── 0013-sequence.svg │ │ │ ├── index.mdx │ │ │ └── meta.json │ │ │ └── runbooks │ │ │ ├── index.mdx │ │ │ ├── meta.json │ │ │ └── services │ │ │ ├── agent │ │ │ ├── deployment-issues.mdx │ │ │ └── meta.json │ │ │ └── meta.json │ ├── next-env.d.ts │ ├── next.config.mjs │ ├── package.json │ ├── postcss.config.js │ ├── scripts │ │ └── generate-cli-docs.sh │ ├── source.config.ts │ ├── tailwind.config.js │ └── tsconfig.json ├── logdrain │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── src │ │ └── worker.ts │ ├── tsconfig.json │ └── wrangler.toml ├── planetfall │ └── next-env.d.ts └── workflows │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── next-env.d.ts │ ├── package.json │ ├── src │ ├── index.ts │ ├── lib │ │ ├── db.ts │ │ └── env.ts │ └── workflows │ │ ├── count_keys_per_keyspace.ts │ │ ├── invoicing.ts │ │ └── refill_keys.ts │ ├── tsconfig.json │ └── wrangler.toml ├── biome.json ├── buf.gen.yaml ├── buf.yaml ├── checkly.config.ts ├── deployment ├── 04-seed-workspace.sql ├── 05-seed-chronark.sql ├── Dockerfile.clickhouse ├── Dockerfile.mysql ├── config │ ├── clickhouse │ │ └── etc │ │ │ ├── clickhouse-keeper │ │ │ └── keeper_config.xml │ │ │ │ └── keeper_config.xml │ │ │ └── clickhouse-server │ │ │ ├── config.d │ │ │ └── config.xml │ │ │ └── users.d │ │ │ └── users.xml │ └── prometheus.yml ├── docker-compose.yaml ├── init-clickhouse.sh ├── init-databases.sql ├── nginx.apiv2.conf ├── setup-build-backend.sh └── setup-wildcard-dns.sh ├── go ├── .gitignore ├── .golangci.yaml ├── .goreleaser.yaml ├── Dockerfile ├── Dockerfile.tilt ├── GO_DOCUMENTATION_GUIDELINES.md ├── K8S_DEVELOPMENT.md ├── Makefile ├── Tiltfile ├── apps │ ├── api │ │ ├── cancel_test.go │ │ ├── config.go │ │ ├── integration │ │ │ ├── README.md │ │ │ ├── cluster │ │ │ │ └── cache │ │ │ │ │ ├── consume_events_test.go │ │ │ │ │ ├── e2e_test.go │ │ │ │ │ └── produce_events_test.go │ │ │ ├── harness.go │ │ │ ├── http.go │ │ │ ├── multi_node_ratelimiting │ │ │ │ ├── generate_tests │ │ │ │ │ └── main.go │ │ │ │ ├── generated │ │ │ │ │ ├── ratelimit_nodes01_limit0010_duration000060000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes01_limit0100_duration000010000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes01_limit0100_duration000010000_load01_00_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes01_limit0100_duration000010000_load02_00_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes01_limit0100_duration000300000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes03_limit0010_duration000060000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes03_limit0010_duration000060000_load01_50_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes03_limit0100_duration000010000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes03_limit0100_duration000010000_load01_00_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes03_limit0100_duration000010000_load02_00_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes03_limit0100_duration000300000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes03_limit0100_duration000300000_load01_50_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes05_limit0010_duration000060000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes05_limit0010_duration000060000_load01_50_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes05_limit0100_duration000010000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes05_limit0100_duration000010000_load01_00_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes05_limit0100_duration000010000_load02_00_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes05_limit0100_duration000300000_load00_90_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes05_limit0100_duration000300000_load01_50_windows010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── ratelimit_nodes09_limit0100_duration000030000_load02_00_windows005 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ └── ratelimit_nodes09_limit0100_duration000300000_load01_00_windows003 │ │ │ │ │ │ └── generated_test.go │ │ │ │ └── run.go │ │ │ ├── multi_node_usagelimiting │ │ │ │ ├── accuracy │ │ │ │ │ └── accuracy_test.go │ │ │ │ ├── decrement │ │ │ │ │ └── decrement_test.go │ │ │ │ ├── generate_tests │ │ │ │ │ └── main.go │ │ │ │ ├── generated │ │ │ │ │ ├── usagelimit_nodes01_credits0010_cost01_load00_80_duration015 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes01_credits0100_cost01_load00_90_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes01_credits0100_cost01_load01_00_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes01_credits0100_cost01_load02_00_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes03_credits0010_cost01_load01_20_duration015 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes03_credits0100_cost01_load00_90_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes03_credits0100_cost01_load01_00_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes03_credits0100_cost01_load02_00_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes03_credits0100_cost20_load01_00_duration010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes03_credits0500_cost05_load01_00_duration025 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes03_credits1000_cost10_load00_90_duration020 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes05_credits0010_cost01_load01_50_duration015 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes05_credits0100_cost01_load00_90_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes05_credits0100_cost01_load01_00_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes05_credits0100_cost01_load02_00_duration030 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes05_credits0100_cost20_load01_50_duration010 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes05_credits0500_cost05_load02_00_duration025 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes05_credits1000_cost10_load01_50_duration020 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ ├── usagelimit_nodes09_credits0500_cost05_load02_00_duration015 │ │ │ │ │ │ └── generated_test.go │ │ │ │ │ └── usagelimit_nodes09_credits1000_cost01_load03_00_duration015 │ │ │ │ │ │ └── generated_test.go │ │ │ │ ├── performance │ │ │ │ │ └── performance_test.go │ │ │ │ └── run.go │ │ │ └── root_keys │ │ │ │ └── root_keys_test.go │ │ ├── openapi │ │ │ ├── README.md │ │ │ ├── config.yaml │ │ │ ├── gen.go │ │ │ ├── generate.go │ │ │ ├── generate_bundle.go │ │ │ ├── openapi-generated.yaml │ │ │ ├── openapi-split.yaml │ │ │ ├── overlay.yaml │ │ │ ├── scalar.config.json │ │ │ ├── spec.go │ │ │ └── spec │ │ │ │ ├── common │ │ │ │ ├── EmptyResponse.yaml │ │ │ │ ├── Identity.yaml │ │ │ │ ├── KeyCreditsData.yaml │ │ │ │ ├── KeyCreditsRefill.yaml │ │ │ │ ├── KeyResponseData.yaml │ │ │ │ ├── Meta.yaml │ │ │ │ ├── Pagination.yaml │ │ │ │ ├── Permission.yaml │ │ │ │ ├── RatelimitOverride.yaml │ │ │ │ ├── RatelimitRequest.yaml │ │ │ │ ├── RatelimitResponse.yaml │ │ │ │ └── Role.yaml │ │ │ │ ├── error │ │ │ │ ├── BadRequestErrorDetails.yaml │ │ │ │ ├── BadRequestErrorResponse.yaml │ │ │ │ ├── BaseError.yaml │ │ │ │ ├── ConflictErrorResponse.yaml │ │ │ │ ├── ForbiddenErrorResponse.yaml │ │ │ │ ├── GoneErrorResponse.yaml │ │ │ │ ├── InternalServerErrorResponse.yaml │ │ │ │ ├── NotFoundErrorResponse.yaml │ │ │ │ ├── PreconditionFailedErrorResponse.yaml │ │ │ │ ├── ServiceUnavailableErrorResponse.yaml │ │ │ │ ├── TooManyRequestsErrorResponse.yaml │ │ │ │ ├── UnauthorizedErrorResponse.yaml │ │ │ │ ├── UnprocessableEntityErrorResponse.yaml │ │ │ │ └── ValidationError.yaml │ │ │ │ └── paths │ │ │ │ ├── chproxy │ │ │ │ ├── metrics │ │ │ │ │ ├── ChproxyMetricsRequestBody.yaml │ │ │ │ │ ├── ChproxyMetricsResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── ratelimits │ │ │ │ │ ├── ChproxyRatelimitsRequestBody.yaml │ │ │ │ │ ├── ChproxyRatelimitsResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ └── verifications │ │ │ │ │ ├── ChproxyVerificationsRequestBody.yaml │ │ │ │ │ ├── ChproxyVerificationsResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ └── v2 │ │ │ │ ├── analytics │ │ │ │ └── getVerifications │ │ │ │ │ ├── V2AnalyticsGetVerificationsRequestBody.yaml │ │ │ │ │ ├── V2AnalyticsGetVerificationsResponseBody.yaml │ │ │ │ │ ├── V2AnalyticsGetVerificationsResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── apis │ │ │ │ ├── createApi │ │ │ │ │ ├── V2ApisCreateApiRequestBody.yaml │ │ │ │ │ ├── V2ApisCreateApiResponseBody.yaml │ │ │ │ │ ├── V2ApisCreateApiResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── deleteApi │ │ │ │ │ ├── V2ApisDeleteApiRequestBody.yaml │ │ │ │ │ ├── V2ApisDeleteApiResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── getApi │ │ │ │ │ ├── V2ApisGetApiRequestBody.yaml │ │ │ │ │ ├── V2ApisGetApiResponseBody.yaml │ │ │ │ │ ├── V2ApisGetApiResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ └── listKeys │ │ │ │ │ ├── V2ApisListKeysRequestBody.yaml │ │ │ │ │ ├── V2ApisListKeysResponseBody.yaml │ │ │ │ │ ├── V2ApisListKeysResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── identities │ │ │ │ ├── createIdentity │ │ │ │ │ ├── V2IdentitiesCreateIdentityRequestBody.yaml │ │ │ │ │ ├── V2IdentitiesCreateIdentityResponseBody.yaml │ │ │ │ │ ├── V2IdentitiesCreateIdentityResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── deleteIdentity │ │ │ │ │ ├── V2IdentitiesDeleteIdentityRequestBody.yaml │ │ │ │ │ ├── V2IdentitiesDeleteIdentityResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── getIdentity │ │ │ │ │ ├── V2IdentitiesGetIdentityRequestBody.yaml │ │ │ │ │ ├── V2IdentitiesGetIdentityResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── listIdentities │ │ │ │ │ ├── V2IdentitiesListIdentitiesRequestBody.yaml │ │ │ │ │ ├── V2IdentitiesListIdentitiesResponseBody.yaml │ │ │ │ │ ├── V2IdentitiesListIdentitiesResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ └── updateIdentity │ │ │ │ │ ├── V2IdentitiesUpdateIdentityRequestBody.yaml │ │ │ │ │ ├── V2IdentitiesUpdateIdentityResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── keys │ │ │ │ ├── addPermissions │ │ │ │ │ ├── V2KeysAddPermissionsRequestBody.yaml │ │ │ │ │ ├── V2KeysAddPermissionsResponseBody.yaml │ │ │ │ │ ├── V2KeysAddPermissionsResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── addRoles │ │ │ │ │ ├── V2KeysAddRolesRequestBody.yaml │ │ │ │ │ ├── V2KeysAddRolesResponseBody.yaml │ │ │ │ │ ├── V2KeysAddRolesResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── createKey │ │ │ │ │ ├── V2KeysCreateKeyRequestBody.yaml │ │ │ │ │ ├── V2KeysCreateKeyResponseBody.yaml │ │ │ │ │ ├── V2KeysCreateKeyResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── deleteKey │ │ │ │ │ ├── V2KeysDeleteKeyRequestBody.yaml │ │ │ │ │ ├── V2KeysDeleteKeyResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── getKey │ │ │ │ │ ├── V2KeysGetKeyRequestBody.yaml │ │ │ │ │ ├── V2KeysGetKeyResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── migrateKeys │ │ │ │ │ ├── V2KeysMigrateKeyData.yaml │ │ │ │ │ ├── V2KeysMigrateKeysMigration.yaml │ │ │ │ │ ├── V2KeysMigrateKeysRequestBody.yaml │ │ │ │ │ ├── V2KeysMigrateKeysResponseBody.yaml │ │ │ │ │ ├── V2KeysMigrateKeysResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── removePermissions │ │ │ │ │ ├── V2KeysRemovePermissionsRequestBody.yaml │ │ │ │ │ ├── V2KeysRemovePermissionsResponseBody.yaml │ │ │ │ │ ├── V2KeysRemovePermissionsResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── removeRoles │ │ │ │ │ ├── V2KeysRemoveRolesRequestBody.yaml │ │ │ │ │ ├── V2KeysRemoveRolesResponseBody.yaml │ │ │ │ │ ├── V2KeysRemoveRolesResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── rerollKey │ │ │ │ │ ├── V2KeysRerollKeyRequestBody.yaml │ │ │ │ │ ├── V2KeysRerollKeyResponseBody.yaml │ │ │ │ │ ├── V2KeysRerollKeyResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── setPermissions │ │ │ │ │ ├── V2KeysSetPermissionsRequestBody.yaml │ │ │ │ │ ├── V2KeysSetPermissionsResponseBody.yaml │ │ │ │ │ ├── V2KeysSetPermissionsResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── setRoles │ │ │ │ │ ├── V2KeysSetRolesRequestBody.yaml │ │ │ │ │ ├── V2KeysSetRolesResponseBody.yaml │ │ │ │ │ ├── V2KeysSetRolesResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── updateCredits │ │ │ │ │ ├── V2KeysUpdateCreditsRequestBody.yaml │ │ │ │ │ ├── V2KeysUpdateCreditsResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── updateKey │ │ │ │ │ ├── UpdateKeyCreditsData.yaml │ │ │ │ │ ├── UpdateKeyCreditsRefill.yaml │ │ │ │ │ ├── V2KeysUpdateKeyRequestBody.yaml │ │ │ │ │ ├── V2KeysUpdateKeyResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── verifyKey │ │ │ │ │ ├── KeysVerifyKeyCredits.yaml │ │ │ │ │ ├── KeysVerifyKeyRatelimit.yaml │ │ │ │ │ ├── V2KeysVerifyKeyRequestBody.yaml │ │ │ │ │ ├── V2KeysVerifyKeyResponseBody.yaml │ │ │ │ │ ├── V2KeysVerifyKeyResponseData.yaml │ │ │ │ │ ├── VerifyKeyRatelimitData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ └── whoami │ │ │ │ │ ├── V2KeysWhoamiRequestBody.yaml │ │ │ │ │ ├── V2KeysWhoamiResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── liveness │ │ │ │ ├── V2LivenessResponseBody.yaml │ │ │ │ ├── V2LivenessResponseData.yaml │ │ │ │ └── index.yaml │ │ │ │ ├── permissions │ │ │ │ ├── createPermission │ │ │ │ │ ├── V2PermissionsCreatePermissionRequestBody.yaml │ │ │ │ │ ├── V2PermissionsCreatePermissionResponseBody.yaml │ │ │ │ │ ├── V2PermissionsCreatePermissionResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── createRole │ │ │ │ │ ├── V2PermissionsCreateRoleRequestBody.yaml │ │ │ │ │ ├── V2PermissionsCreateRoleResponseBody.yaml │ │ │ │ │ ├── V2PermissionsCreateRoleResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── deletePermission │ │ │ │ │ ├── V2PermissionsDeletePermissionRequestBody.yaml │ │ │ │ │ ├── V2PermissionsDeletePermissionResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── deleteRole │ │ │ │ │ ├── V2PermissionsDeleteRoleRequestBody.yaml │ │ │ │ │ ├── V2PermissionsDeleteRoleResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── getPermission │ │ │ │ │ ├── V2PermissionsGetPermissionRequestBody.yaml │ │ │ │ │ ├── V2PermissionsGetPermissionResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── getRole │ │ │ │ │ ├── V2PermissionsGetRoleRequestBody.yaml │ │ │ │ │ ├── V2PermissionsGetRoleResponseBody.yaml │ │ │ │ │ └── index.yaml │ │ │ │ ├── listPermissions │ │ │ │ │ ├── V2PermissionsListPermissionsRequestBody.yaml │ │ │ │ │ ├── V2PermissionsListPermissionsResponseBody.yaml │ │ │ │ │ ├── V2PermissionsListPermissionsResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ └── listRoles │ │ │ │ │ ├── V2PermissionsListRolesRequestBody.yaml │ │ │ │ │ ├── V2PermissionsListRolesResponseBody.yaml │ │ │ │ │ ├── V2PermissionsListRolesResponseData.yaml │ │ │ │ │ └── index.yaml │ │ │ │ └── ratelimit │ │ │ │ ├── deleteOverride │ │ │ │ ├── V2RatelimitDeleteOverrideRequestBody.yaml │ │ │ │ ├── V2RatelimitDeleteOverrideResponseBody.yaml │ │ │ │ ├── V2RatelimitDeleteOverrideResponseData.yaml │ │ │ │ └── index.yaml │ │ │ │ ├── getOverride │ │ │ │ ├── V2RatelimitGetOverrideRequestBody.yaml │ │ │ │ ├── V2RatelimitGetOverrideResponseBody.yaml │ │ │ │ └── index.yaml │ │ │ │ ├── limit │ │ │ │ ├── V2RatelimitLimitRequestBody.yaml │ │ │ │ ├── V2RatelimitLimitResponseBody.yaml │ │ │ │ ├── V2RatelimitLimitResponseData.yaml │ │ │ │ └── index.yaml │ │ │ │ ├── listOverrides │ │ │ │ ├── V2RatelimitListOverridesRequestBody.yaml │ │ │ │ ├── V2RatelimitListOverridesResponseBody.yaml │ │ │ │ ├── V2RatelimitListOverridesResponseData.yaml │ │ │ │ └── index.yaml │ │ │ │ ├── multiLimit │ │ │ │ ├── V2RatelimitMultiLimitCheck.yaml │ │ │ │ ├── V2RatelimitMultiLimitRequestBody.yaml │ │ │ │ ├── V2RatelimitMultiLimitResponseBody.yaml │ │ │ │ ├── V2RatelimitMultiLimitResponseData.yaml │ │ │ │ └── index.yaml │ │ │ │ └── setOverride │ │ │ │ ├── V2RatelimitSetOverrideRequestBody.yaml │ │ │ │ ├── V2RatelimitSetOverrideResponseBody.yaml │ │ │ │ ├── V2RatelimitSetOverrideResponseData.yaml │ │ │ │ └── index.yaml │ │ ├── routes │ │ │ ├── chproxy_metrics │ │ │ │ └── handler.go │ │ │ ├── chproxy_ratelimits │ │ │ │ └── handler.go │ │ │ ├── chproxy_verifications │ │ │ │ └── handler.go │ │ │ ├── openapi │ │ │ │ └── handler.go │ │ │ ├── pprof │ │ │ │ └── handler.go │ │ │ ├── reference │ │ │ │ └── handler.go │ │ │ ├── register.go │ │ │ ├── services.go │ │ │ ├── v2_analytics_get_verifications │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── 412_test.go │ │ │ │ ├── 422_test.go │ │ │ │ ├── 429_test.go │ │ │ │ ├── 503_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_apis_create_api │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_apis_delete_api │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── 412_test.go │ │ │ │ ├── cache_validation_test.go │ │ │ │ ├── handler.go │ │ │ │ └── idempotent_test.go │ │ │ ├── v2_apis_get_api │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_apis_list_keys │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── 412_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_identities_create_identity │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 409_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_identities_delete_identity │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_identities_get_identity │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_identities_list_identities │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── cross_workspace_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_identities_update_identity │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_add_permissions │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_add_roles │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_create_key │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── 412_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_delete_key │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_get_key │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── 412_test.go │ │ │ │ ├── 500_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_migrate_keys │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_remove_permissions │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_remove_roles │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_reroll_key │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_set_permissions │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_set_roles │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_update_credits │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_keys_update_key │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── handler.go │ │ │ │ └── three_state_test.go │ │ │ ├── v2_keys_verify_key │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── 412_test.go │ │ │ │ ├── handler.go │ │ │ │ ├── migration_test.go │ │ │ │ ├── multilimit_test.go │ │ │ │ ├── multiple_ratelimits_overcommit_test.go │ │ │ │ ├── ratelimit_response_test.go │ │ │ │ └── resend_demo_test.go │ │ │ ├── v2_keys_whoami │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 404_test.go │ │ │ │ ├── 500_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_liveness │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_create_permission │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 409_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_create_role │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 409_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_delete_permission │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_delete_role │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_get_permission │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_get_role │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_list_permissions │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_permissions_list_roles │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_ratelimit_delete_override │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_ratelimit_get_override │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_ratelimit_limit │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 410_test.go │ │ │ │ ├── accuracy_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_ratelimit_list_overrides │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ │ ├── v2_ratelimit_multi_limit │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 410_test.go │ │ │ │ └── handler.go │ │ │ └── v2_ratelimit_set_override │ │ │ │ ├── 200_test.go │ │ │ │ ├── 400_test.go │ │ │ │ ├── 401_test.go │ │ │ │ ├── 403_test.go │ │ │ │ ├── 404_test.go │ │ │ │ └── handler.go │ │ └── run.go │ ├── ctrl │ │ ├── .gitignore │ │ ├── config.go │ │ ├── middleware │ │ │ └── auth.go │ │ ├── run.go │ │ ├── services │ │ │ ├── acme │ │ │ │ ├── certificate_verification.go │ │ │ │ ├── pem.go │ │ │ │ ├── providers │ │ │ │ │ ├── cloudflare_provider.go │ │ │ │ │ └── http_provider.go │ │ │ │ ├── service.go │ │ │ │ └── user.go │ │ │ ├── build │ │ │ │ ├── backend │ │ │ │ │ ├── depot │ │ │ │ │ │ ├── create_build.go │ │ │ │ │ │ ├── generate_upload_url.go │ │ │ │ │ │ └── service.go │ │ │ │ │ └── docker │ │ │ │ │ │ ├── create_build.go │ │ │ │ │ │ ├── generate_upload_url.go │ │ │ │ │ │ └── service.go │ │ │ │ └── storage │ │ │ │ │ └── s3.go │ │ │ ├── ctrl │ │ │ │ ├── liveness.go │ │ │ │ └── service.go │ │ │ ├── deployment │ │ │ │ ├── create_deployment.go │ │ │ │ ├── create_deployment_simple_test.go │ │ │ │ ├── get_deployment.go │ │ │ │ ├── promote.go │ │ │ │ ├── rollback.go │ │ │ │ └── service.go │ │ │ ├── openapi │ │ │ │ ├── convert.go │ │ │ │ ├── get_diff.go │ │ │ │ ├── service.go │ │ │ │ └── utils.go │ │ │ └── project │ │ │ │ ├── create_project.go │ │ │ │ └── service.go │ │ └── workflows │ │ │ ├── certificate │ │ │ ├── doc.go │ │ │ ├── process_challenge_handler.go │ │ │ └── service.go │ │ │ ├── deploy │ │ │ ├── deploy_handler.go │ │ │ ├── doc.go │ │ │ ├── domains.go │ │ │ ├── helpers.go │ │ │ ├── promote_handler.go │ │ │ ├── rollback_handler.go │ │ │ └── service.go │ │ │ ├── project │ │ │ ├── create.go │ │ │ └── service.go │ │ │ └── routing │ │ │ ├── assign_domains_handler.go │ │ │ ├── doc.go │ │ │ └── service.go │ ├── gateway │ │ ├── config.go │ │ ├── middleware │ │ │ └── observability.go │ │ ├── routes │ │ │ ├── internal_health │ │ │ │ └── handler.go │ │ │ ├── proxy │ │ │ │ └── handler.go │ │ │ ├── register.go │ │ │ └── services.go │ │ ├── run.go │ │ └── services │ │ │ └── router │ │ │ ├── interface.go │ │ │ └── service.go │ ├── ingress │ │ ├── config.go │ │ ├── middleware │ │ │ └── observability.go │ │ ├── routes │ │ │ ├── acme │ │ │ │ └── handler.go │ │ │ ├── internal_health │ │ │ │ └── handler.go │ │ │ ├── proxy │ │ │ │ └── handler.go │ │ │ ├── register.go │ │ │ └── services.go │ │ ├── run.go │ │ └── services │ │ │ ├── caches │ │ │ └── caches.go │ │ │ ├── certmanager │ │ │ ├── doc.go │ │ │ ├── interface.go │ │ │ └── service.go │ │ │ ├── proxy │ │ │ ├── context.go │ │ │ ├── director.go │ │ │ ├── doc.go │ │ │ ├── error.go │ │ │ ├── forward.go │ │ │ ├── headers.go │ │ │ ├── hostname.go │ │ │ ├── interface.go │ │ │ └── service.go │ │ │ └── router │ │ │ ├── doc.go │ │ │ ├── interface.go │ │ │ └── service.go │ └── krane │ │ ├── backend │ │ ├── docker │ │ │ ├── deployment_create.go │ │ │ ├── deployment_delete.go │ │ │ ├── deployment_get.go │ │ │ ├── gateway_create.go │ │ │ ├── gateway_delete.go │ │ │ ├── gateway_get.go │ │ │ └── service.go │ │ └── kubernetes │ │ │ ├── deployment_create.go │ │ │ ├── deployment_delete.go │ │ │ ├── deployment_get.go │ │ │ ├── gateway_create.go │ │ │ ├── gateway_delete.go │ │ │ ├── gateway_get.go │ │ │ ├── id.go │ │ │ └── service.go │ │ ├── config.go │ │ ├── doc.go │ │ └── run.go ├── benchmarks │ ├── README.md │ ├── keyverify.js │ └── ratelimit.js ├── buf.gen.connect.yaml ├── buf.gen.restate.yaml ├── buf.lock ├── buf.yaml ├── cmd │ ├── api │ │ └── main.go │ ├── create-clickhouse-user │ │ └── main.go │ ├── ctrl │ │ └── main.go │ ├── deploy │ │ ├── config.go │ │ ├── control_plane.go │ │ ├── init.go │ │ ├── main.go │ │ └── ui.go │ ├── dev │ │ ├── main.go │ │ └── seed │ │ │ ├── ingress.go │ │ │ ├── local.go │ │ │ ├── run.go │ │ │ └── verifications.go │ ├── gateway │ │ └── main.go │ ├── healthcheck │ │ └── main.go │ ├── ingress │ │ └── main.go │ ├── krane │ │ └── main.go │ ├── quotacheck │ │ └── main.go │ ├── run │ │ └── main.go │ └── version │ │ └── main.go ├── demo_api │ ├── Dockerfile │ ├── go.mod │ └── main.go ├── deploy │ └── pkg │ │ └── tls │ │ ├── PERFORMANCE.md │ │ ├── integration_test.go │ │ ├── provider.go │ │ ├── provider_bench_test.go │ │ └── provider_cached.go ├── gen │ └── proto │ │ ├── cache │ │ └── v1 │ │ │ └── invalidation.pb.go │ │ ├── ctrl │ │ └── v1 │ │ │ ├── acme.pb.go │ │ │ ├── build.pb.go │ │ │ ├── ctrlv1connect │ │ │ ├── acme.connect.go │ │ │ ├── build.connect.go │ │ │ ├── deployment.connect.go │ │ │ ├── environment.connect.go │ │ │ ├── openapi.connect.go │ │ │ ├── project.connect.go │ │ │ └── service.connect.go │ │ │ ├── deployment.pb.go │ │ │ ├── environment.pb.go │ │ │ ├── openapi.pb.go │ │ │ ├── project.pb.go │ │ │ └── service.pb.go │ │ ├── hydra │ │ └── v1 │ │ │ ├── certificate.pb.go │ │ │ ├── certificate_restate.pb.go │ │ │ ├── deployment.pb.go │ │ │ ├── deployment_restate.pb.go │ │ │ ├── environment.pb.go │ │ │ ├── environment_restate.pb.go │ │ │ ├── project.pb.go │ │ │ ├── project_restate.pb.go │ │ │ ├── routing.pb.go │ │ │ └── routing_restate.pb.go │ │ ├── krane │ │ └── v1 │ │ │ ├── deployment.pb.go │ │ │ ├── gateway.pb.go │ │ │ └── kranev1connect │ │ │ ├── deployment.connect.go │ │ │ └── gateway.connect.go │ │ └── vault │ │ └── v1 │ │ ├── object.pb.go │ │ ├── service.pb.go │ │ └── vaultv1connect │ │ └── service.connect.go ├── go.mod ├── go.sum ├── goreleaser.Dockerfile ├── internal │ └── services │ │ ├── analytics │ │ ├── interface.go │ │ ├── noop.go │ │ └── service.go │ │ ├── auditlogs │ │ ├── insert.go │ │ ├── interface.go │ │ └── service.go │ │ ├── caches │ │ ├── caches.go │ │ ├── doc.go │ │ └── op.go │ │ ├── keys │ │ ├── create.go │ │ ├── create_test.go │ │ ├── doc.go │ │ ├── get.go │ │ ├── get_migrated.go │ │ ├── get_test.go │ │ ├── interface.go │ │ ├── options.go │ │ ├── service.go │ │ ├── status.go │ │ ├── validation.go │ │ └── verifier.go │ │ ├── ratelimit │ │ ├── bucket.go │ │ ├── doc.go │ │ ├── interface.go │ │ ├── janitor.go │ │ ├── replay.go │ │ ├── sequence.go │ │ ├── service.go │ │ ├── util.go │ │ └── window.go │ │ └── usagelimiter │ │ ├── delete.go │ │ ├── interface.go │ │ ├── limit.go │ │ ├── redis.go │ │ └── service.go ├── k8s │ └── manifests │ │ ├── api.yaml │ │ ├── clickhouse.yaml │ │ ├── ctrl.yaml │ │ ├── dashboard.yaml │ │ ├── gw.yaml │ │ ├── krane.yaml │ │ ├── mysql.yaml │ │ ├── namespace.yaml │ │ ├── observability.yaml │ │ ├── planetscale.yaml │ │ ├── rbac.yaml │ │ ├── redis.yaml │ │ ├── restate.yaml │ │ └── s3.yaml ├── main.go ├── pkg │ ├── array │ │ ├── chunk.go │ │ ├── doc.go │ │ ├── fill.go │ │ ├── fill_test.go │ │ ├── map.go │ │ ├── map_test.go │ │ ├── random.go │ │ ├── random_test.go │ │ ├── reduce.go │ │ └── reduce_test.go │ ├── assert │ │ ├── all.go │ │ ├── all_test.go │ │ ├── contains.go │ │ ├── contains_test.go │ │ ├── doc.go │ │ ├── empty.go │ │ ├── empty_test.go │ │ ├── equal.go │ │ ├── equal_test.go │ │ ├── error_codes_test.go │ │ ├── false.go │ │ ├── false_test.go │ │ ├── greater.go │ │ ├── greater_or_equal.go │ │ ├── greater_or_equal_test.go │ │ ├── greater_test.go │ │ ├── in_range.go │ │ ├── in_range_test.go │ │ ├── less.go │ │ ├── less_or_equal.go │ │ ├── less_or_equal_test.go │ │ ├── less_test.go │ │ ├── nil.go │ │ ├── nil_test.go │ │ ├── not_empty.go │ │ ├── not_empty_test.go │ │ ├── not_equal.go │ │ ├── not_equal_test.go │ │ ├── not_nil.go │ │ ├── not_nil_and_not_zero.go │ │ ├── not_nil_and_not_zero_test.go │ │ ├── not_nil_test.go │ │ ├── not_zero.go │ │ ├── not_zero_test.go │ │ ├── some.go │ │ ├── some_test.go │ │ ├── true.go │ │ └── true_test.go │ ├── attack │ │ └── attack.go │ ├── auditlog │ │ ├── actors.go │ │ ├── doc.go │ │ ├── events.go │ │ ├── log.go │ │ └── target.go │ ├── aws │ │ └── ecs │ │ │ ├── private_dns_name.go │ │ │ └── private_dns_name_test.go │ ├── base58 │ │ ├── alphabet.go │ │ ├── doc.go │ │ ├── encode.go │ │ └── encode_test.go │ ├── batch │ │ ├── doc.go │ │ └── process.go │ ├── batchrand │ │ ├── batchrand.go │ │ └── batchrand_test.go │ ├── buffer │ │ ├── buffer.go │ │ ├── buffer_test.go │ │ └── doc.go │ ├── builder │ │ └── mock.go │ ├── cache │ │ ├── cache.go │ │ ├── cache_test.go │ │ ├── clustering │ │ │ ├── cluster_cache.go │ │ │ ├── consume_events_test.go │ │ │ ├── dispatcher.go │ │ │ ├── e2e_test.go │ │ │ ├── noop.go │ │ │ └── produce_events_test.go │ │ ├── doc.go │ │ ├── entry.go │ │ ├── interface.go │ │ ├── many_test.go │ │ ├── middleware.go │ │ ├── middleware │ │ │ └── tracing.go │ │ ├── noop.go │ │ ├── scoped_key.go │ │ ├── simulation_test.go │ │ └── swr_test.go │ ├── circuitbreaker │ │ ├── doc.go │ │ ├── interface.go │ │ ├── lib.go │ │ └── lib_test.go │ ├── cli │ │ ├── command.go │ │ ├── docs.go │ │ ├── docs_handler.go │ │ ├── docs_template.go │ │ ├── flag.go │ │ ├── flag_test.go │ │ ├── help.go │ │ └── parser.go │ ├── clickhouse │ │ ├── README.md │ │ ├── billable_ratelimits.go │ │ ├── billable_verifications.go │ │ ├── client.go │ │ ├── doc.go │ │ ├── errors.go │ │ ├── errors_test.go │ │ ├── flush.go │ │ ├── interface.go │ │ ├── key_verifications_test.go │ │ ├── migrations │ │ │ ├── 20250903085516_init.sql │ │ │ ├── 20250911070454.sql │ │ │ ├── 20250925091254.sql │ │ │ ├── 20251010160229.sql │ │ │ ├── 20251107152509.sql │ │ │ ├── 20251125075943.sql │ │ │ ├── 20251125163818.sql │ │ │ └── atlas.sum │ │ ├── noop.go │ │ ├── query-parser │ │ │ ├── cte.go │ │ │ ├── errors_test.go │ │ │ ├── extract.go │ │ │ ├── extract_test.go │ │ │ ├── filter.go │ │ │ ├── filter_test.go │ │ │ ├── limits.go │ │ │ ├── limits_test.go │ │ │ ├── parser.go │ │ │ ├── tables.go │ │ │ ├── tables_test.go │ │ │ ├── time_range.go │ │ │ ├── time_range_test.go │ │ │ ├── types.go │ │ │ ├── validation.go │ │ │ └── validation_test.go │ │ ├── ratelimits_test.go │ │ ├── schema │ │ │ ├── 000_legacy.sql │ │ │ ├── 001_key_verifications_raw_v2.sql │ │ │ ├── 002_key_verifications_per_minute_v2.sql │ │ │ ├── 002_key_verifications_per_minute_v3.sql │ │ │ ├── 003_key_verifications_per_hour_v2.sql │ │ │ ├── 003_key_verifications_per_hour_v3.sql │ │ │ ├── 004_key_verifications_per_day_v2.sql │ │ │ ├── 004_key_verifications_per_day_v3.sql │ │ │ ├── 005_key_verifications_per_month_v2.sql │ │ │ ├── 005_key_verifications_per_month_v3.sql │ │ │ ├── 006_ratelimits_raw_v2.sql │ │ │ ├── 007_ratelimits_per_minute_v2.sql │ │ │ ├── 008_ratelimits_per_hour_v2.sql │ │ │ ├── 009_ratelimits_per_day_v2.sql │ │ │ ├── 010_ratelimits_per_month_v2.sql │ │ │ ├── 011_ratelimits_last_used_v2.sql │ │ │ ├── 012_api_requests_raw_v2.sql │ │ │ ├── 013_api_requests_per_minute_v2.sql │ │ │ ├── 014_api_requests_per_hour_v2.sql │ │ │ ├── 015_api_requests_per_day_v2.sql │ │ │ ├── 016_api_requests_per_month_v2.sql │ │ │ ├── 017_active_workspaces_per_month_v2.sql │ │ │ ├── 018_billable_ratelimits_per_month_v2.sql │ │ │ ├── 019_billable_verifications_per_month_v2.sql │ │ │ ├── 020_build_steps_v1.sql │ │ │ ├── 021_build_step_logs_v1.sql │ │ │ └── types.go │ │ ├── select.go │ │ ├── testutil_test.go │ │ └── user.go │ ├── clock │ │ ├── cached_clock.go │ │ ├── cached_clock_test.go │ │ ├── clock_benchmarks_test.go │ │ ├── doc.go │ │ ├── interface.go │ │ ├── real_clock.go │ │ ├── real_clock_test.go │ │ ├── test_clock.go │ │ └── test_clock_test.go │ ├── codes │ │ ├── codes.go │ │ ├── constants_gen.go │ │ ├── doc.go │ │ ├── generate.go │ │ ├── generate_run.go │ │ ├── nil.go │ │ ├── unkey_application.go │ │ ├── unkey_auth.go │ │ ├── unkey_data.go │ │ ├── unkey_gateway.go │ │ ├── unkey_ingress.go │ │ └── user_request.go │ ├── counter │ │ ├── doc.go │ │ ├── interface.go │ │ ├── redis.go │ │ └── redis_test.go │ ├── ctxutil │ │ ├── context.go │ │ ├── context_test.go │ │ └── doc.go │ ├── db │ │ ├── NAMING_STANDARDS.md │ │ ├── acme_challenge_clear_tokens.sql_generated.go │ │ ├── acme_challenge_find_by_token.sql_generated.go │ │ ├── acme_challenge_insert.sql_generated.go │ │ ├── acme_challenge_list_executable.sql_generated.go │ │ ├── acme_challenge_try_claiming.sql_generated.go │ │ ├── acme_challenge_update_pending.sql_generated.go │ │ ├── acme_challenge_update_status.sql_generated.go │ │ ├── acme_challenge_update_verified_with_expiry.sql_generated.go │ │ ├── acme_user_find_by_workspace_id.sql_generated.go │ │ ├── acme_user_insert.sql_generated.go │ │ ├── acme_user_update_registration_uri.sql_generated.go │ │ ├── api_find_by_id.sql_generated.go │ │ ├── api_find_key_auth_by_ids.sql_generated.go │ │ ├── api_find_key_auth_by_key_auth_ids.sql_generated.go │ │ ├── api_find_live_by_id.sql_generated.go │ │ ├── api_insert.sql_generated.go │ │ ├── api_soft_delete.sql_generated.go │ │ ├── api_update_delete_protection.sql_generated.go │ │ ├── audit_log_find_target_by_id.sql_generated.go │ │ ├── audit_log_insert.sql_generated.go │ │ ├── audit_log_target_insert.sql_generated.go │ │ ├── bulk_acme_challenge_insert.sql_generated.go │ │ ├── bulk_acme_user_insert.sql_generated.go │ │ ├── bulk_api_insert.sql_generated.go │ │ ├── bulk_audit_log_insert.sql_generated.go │ │ ├── bulk_audit_log_target_insert.sql_generated.go │ │ ├── bulk_certificate_insert.sql_generated.go │ │ ├── bulk_clickhouse_workspace_settings_insert.sql_generated.go │ │ ├── bulk_deployment_insert.sql_generated.go │ │ ├── bulk_deployment_step_insert.sql_generated.go │ │ ├── bulk_environment_insert.sql_generated.go │ │ ├── bulk_environment_upsert.sql_generated.go │ │ ├── bulk_gateway_insert.sql_generated.go │ │ ├── bulk_identity_insert.sql_generated.go │ │ ├── bulk_identity_insert_ratelimit.sql_generated.go │ │ ├── bulk_ingress_route_insert.sql_generated.go │ │ ├── bulk_instance_upsert.sql_generated.go │ │ ├── bulk_key_auth_insert.sql_generated.go │ │ ├── bulk_key_encryption_insert.sql_generated.go │ │ ├── bulk_key_insert.sql_generated.go │ │ ├── bulk_key_insert_ratelimit.sql_generated.go │ │ ├── bulk_key_migration_insert.sql_generated.go │ │ ├── bulk_key_permission_insert.sql_generated.go │ │ ├── bulk_key_role_insert.sql_generated.go │ │ ├── bulk_key_space_insert.sql_generated.go │ │ ├── bulk_key_space_upsert.sql_generated.go │ │ ├── bulk_permission_insert.sql_generated.go │ │ ├── bulk_project_insert.sql_generated.go │ │ ├── bulk_quota_upsert.sql_generated.go │ │ ├── bulk_ratelimit_namespace_insert.sql_generated.go │ │ ├── bulk_ratelimit_override_insert.sql_generated.go │ │ ├── bulk_role_insert.sql_generated.go │ │ ├── bulk_role_permission_insert.sql_generated.go │ │ ├── bulk_workspace_insert.sql_generated.go │ │ ├── bulk_workspace_upsert.sql_generated.go │ │ ├── cached_key_data.go │ │ ├── certificate_find_by_hostname.sql_generated.go │ │ ├── certificate_find_by_hostnames.sql_generated.go │ │ ├── certificate_insert.sql_generated.go │ │ ├── clickhouse_workspace_settings_find_by_workspace_id.sql_generated.go │ │ ├── clickhouse_workspace_settings_insert.sql_generated.go │ │ ├── clickhouse_workspace_settings_update_limits.sql_generated.go │ │ ├── custom_domain_find_by_domain.sql_generated.go │ │ ├── custom_domain_find_by_id.sql_generated.go │ │ ├── custom_types.go │ │ ├── database.go │ │ ├── deployment_find_by_id.sql_generated.go │ │ ├── deployment_insert.sql_generated.go │ │ ├── deployment_step_find_by_deployment_id.sql_generated.go │ │ ├── deployment_step_insert.sql_generated.go │ │ ├── deployment_update_openapi_spec.sql_generated.go │ │ ├── deployment_update_status.sql_generated.go │ │ ├── doc.go │ │ ├── environment_find_by_id.sql_generated.go │ │ ├── environment_find_by_project_id_and_slug.sql_generated.go │ │ ├── environment_insert.sql_generated.go │ │ ├── environment_upsert.sql_generated.go │ │ ├── gateway_insert.sql_generated.go │ │ ├── gateways_find_by_environment_id.sql_generated.go │ │ ├── generate.go │ │ ├── handle_err_deadlock.go │ │ ├── handle_err_duplicate_key.go │ │ ├── handle_err_no_rows.go │ │ ├── identity_delete.sql_generated.go │ │ ├── identity_delete_old_by_external_id.sql_generated.go │ │ ├── identity_delete_old_with_ratelimits.sql_generated.go │ │ ├── identity_find.sql_generated.go │ │ ├── identity_find_by_external_id.sql_generated.go │ │ ├── identity_find_by_id.sql_generated.go │ │ ├── identity_find_many.sql_generated.go │ │ ├── identity_find_many_by_external_id.sql_generated.go │ │ ├── identity_insert.sql_generated.go │ │ ├── identity_insert_ratelimit.sql_generated.go │ │ ├── identity_list.sql_generated.go │ │ ├── identity_list_ratelimits.sql_generated.go │ │ ├── identity_list_ratelimits_by_id.sql_generated.go │ │ ├── identity_list_ratelimits_by_ids.sql_generated.go │ │ ├── identity_soft_delete.sql_generated.go │ │ ├── identity_update.sql_generated.go │ │ ├── ingress_route_find_by_deployment_id.sql_generated.go │ │ ├── ingress_route_find_by_hostname.sql_generated.go │ │ ├── ingress_route_find_for_promotion.sql_generated.go │ │ ├── ingress_route_find_for_rollback.sql_generated.go │ │ ├── ingress_route_insert.sql_generated.go │ │ ├── ingress_route_reassign.sql_generated.go │ │ ├── ingress_route_update_deployment_id.sql_generated.go │ │ ├── instance_update_status.sql_generated.go │ │ ├── instance_upsert.sql_generated.go │ │ ├── instances_find_by_deployment_id_and_region.sql_generated.go │ │ ├── instances_find_by_deployment_id_only.sql_generated.go │ │ ├── interface.go │ │ ├── key_auth_get_by_id.sql_generated.go │ │ ├── key_auth_insert.sql_generated.go │ │ ├── key_data.go │ │ ├── key_data_test.go │ │ ├── key_delete_by_id.sql_generated.go │ │ ├── key_encryption_find_by_key_id.sql_generated.go │ │ ├── key_encryption_insert.sql_generated.go │ │ ├── key_find_by_id.sql_generated.go │ │ ├── key_find_credits.sql_generated.go │ │ ├── key_find_for_verification.sql_generated.go │ │ ├── key_find_for_verification_ratelimits.go │ │ ├── key_find_live_by_hash.sql_generated.go │ │ ├── key_find_live_by_id.sql_generated.go │ │ ├── key_find_many_by_hash.sql_generated.go │ │ ├── key_insert.sql_generated.go │ │ ├── key_insert_ratelimit.sql_generated.go │ │ ├── key_list_by_key_space_id.sql_generated.go │ │ ├── key_list_live_by_key_space_id.sql_generated.go │ │ ├── key_migration_find_by_id.sql_generated.go │ │ ├── key_migration_insert.sql_generated.go │ │ ├── key_permission_delete_all_by_key_id.sql_generated.go │ │ ├── key_permission_delete_by_key_and_permission_id.sql_generated.go │ │ ├── key_permission_delete_many_by_key_and_permission_ids.sql_generated.go │ │ ├── key_permission_delete_many_by_permission_id.sql_generated.go │ │ ├── key_permission_insert.sql_generated.go │ │ ├── key_role_delete_all_by_key_id.sql_generated.go │ │ ├── key_role_delete_many_by_key_and_role_ids.sql_generated.go │ │ ├── key_role_delete_many_by_key_id.sql_generated.go │ │ ├── key_role_delete_many_by_role_id.sql_generated.go │ │ ├── key_role_find_by_key_and_role_id.sql_generated.go │ │ ├── key_role_insert.sql_generated.go │ │ ├── key_soft_delete_by_id.sql_generated.go │ │ ├── key_soft_delete_many_by_key_space_id.sql_generated.go │ │ ├── key_space_find_by_id.sql_generated.go │ │ ├── key_space_insert.sql_generated.go │ │ ├── key_space_update_key_encryption.sql_generated.go │ │ ├── key_space_upsert.sql_generated.go │ │ ├── key_update.sql_generated.go │ │ ├── key_update_credits_decrement.sql_generated.go │ │ ├── key_update_credits_increment.sql_generated.go │ │ ├── key_update_credits_refill.sql_generated.go │ │ ├── key_update_credits_set.sql_generated.go │ │ ├── key_update_hash_and_migration.sql_generated.go │ │ ├── models_generated.go │ │ ├── permission_delete_by_id.sql_generated.go │ │ ├── permission_find_by_id.sql_generated.go │ │ ├── permission_find_by_id_or_slug.sql_generated.go │ │ ├── permission_find_by_name_and_workspace_id.sql_generated.go │ │ ├── permission_find_by_slug_and_workspace_id.sql_generated.go │ │ ├── permission_find_by_slugs.sql_generated.go │ │ ├── permission_insert.sql_generated.go │ │ ├── permission_list.sql_generated.go │ │ ├── permission_list_by_key_id.sql_generated.go │ │ ├── permission_list_by_role_id.sql_generated.go │ │ ├── permission_list_direct_by_key_id.sql_generated.go │ │ ├── plugins │ │ │ └── bulk-insert │ │ │ │ ├── README.md │ │ │ │ ├── bulk_insert.go.tmpl │ │ │ │ ├── generator.go │ │ │ │ ├── generator_test.go │ │ │ │ ├── main.go │ │ │ │ ├── parser.go │ │ │ │ ├── parser_test.go │ │ │ │ ├── template.go │ │ │ │ ├── template_test.go │ │ │ │ ├── utils.go │ │ │ │ └── utils_test.go │ │ ├── project_find_by_id.sql_generated.go │ │ ├── project_find_by_workspace_slug.sql_generated.go │ │ ├── project_insert.sql_generated.go │ │ ├── project_update_deployments.sql_generated.go │ │ ├── project_update_depot_id.sql_generated.go │ │ ├── querier_bulk_generated.go │ │ ├── querier_generated.go │ │ ├── queries.go │ │ ├── queries │ │ │ ├── acme_challenge_clear_tokens.sql │ │ │ ├── acme_challenge_find_by_token.sql │ │ │ ├── acme_challenge_insert.sql │ │ │ ├── acme_challenge_list_executable.sql │ │ │ ├── acme_challenge_try_claiming.sql │ │ │ ├── acme_challenge_update_pending.sql │ │ │ ├── acme_challenge_update_status.sql │ │ │ ├── acme_challenge_update_verified_with_expiry.sql │ │ │ ├── acme_user_find_by_workspace_id.sql │ │ │ ├── acme_user_insert.sql │ │ │ ├── acme_user_update_registration_uri.sql │ │ │ ├── api_find_by_id.sql │ │ │ ├── api_find_key_auth_by_ids.sql │ │ │ ├── api_find_key_auth_by_key_auth_ids.sql │ │ │ ├── api_find_live_by_id.sql │ │ │ ├── api_insert.sql │ │ │ ├── api_soft_delete.sql │ │ │ ├── api_update_delete_protection.sql │ │ │ ├── audit_log_find_target_by_id.sql │ │ │ ├── audit_log_insert.sql │ │ │ ├── audit_log_target_insert.sql │ │ │ ├── certificate_find_by_hostname.sql │ │ │ ├── certificate_find_by_hostnames.sql │ │ │ ├── certificate_insert.sql │ │ │ ├── clickhouse_workspace_settings_find_by_workspace_id.sql │ │ │ ├── clickhouse_workspace_settings_insert.sql │ │ │ ├── clickhouse_workspace_settings_update_limits.sql │ │ │ ├── custom_domain_find_by_domain.sql │ │ │ ├── custom_domain_find_by_id.sql │ │ │ ├── deployment_find_by_id.sql │ │ │ ├── deployment_insert.sql │ │ │ ├── deployment_step_find_by_deployment_id.sql │ │ │ ├── deployment_step_insert.sql │ │ │ ├── deployment_update_openapi_spec.sql │ │ │ ├── deployment_update_status.sql │ │ │ ├── environment_find_by_id.sql │ │ │ ├── environment_find_by_project_id_and_slug.sql │ │ │ ├── environment_insert.sql │ │ │ ├── environment_upsert.sql │ │ │ ├── gateway_insert.sql │ │ │ ├── gateways_find_by_environment_id.sql │ │ │ ├── identity_delete.sql │ │ │ ├── identity_delete_old_by_external_id.sql │ │ │ ├── identity_delete_old_with_ratelimits.sql │ │ │ ├── identity_find.sql │ │ │ ├── identity_find_by_external_id.sql │ │ │ ├── identity_find_by_id.sql │ │ │ ├── identity_find_many.sql │ │ │ ├── identity_find_many_by_external_id.sql │ │ │ ├── identity_insert.sql │ │ │ ├── identity_insert_ratelimit.sql │ │ │ ├── identity_list.sql │ │ │ ├── identity_list_ratelimits.sql │ │ │ ├── identity_list_ratelimits_by_id.sql │ │ │ ├── identity_list_ratelimits_by_ids.sql │ │ │ ├── identity_soft_delete.sql │ │ │ ├── identity_update.sql │ │ │ ├── ingress_route_find_by_deployment_id.sql │ │ │ ├── ingress_route_find_by_hostname.sql │ │ │ ├── ingress_route_find_for_promotion.sql │ │ │ ├── ingress_route_find_for_rollback.sql │ │ │ ├── ingress_route_insert.sql │ │ │ ├── ingress_route_reassign.sql │ │ │ ├── ingress_route_update_deployment_id.sql │ │ │ ├── instance_update_status.sql │ │ │ ├── instance_upsert.sql │ │ │ ├── instances_find_by_deployment_id_and_region.sql │ │ │ ├── instances_find_by_deployment_id_only.sql │ │ │ ├── key_auth_get_by_id.sql │ │ │ ├── key_auth_insert.sql │ │ │ ├── key_delete_by_id.sql │ │ │ ├── key_encryption_find_by_key_id.sql │ │ │ ├── key_encryption_insert.sql │ │ │ ├── key_find_by_id.sql │ │ │ ├── key_find_credits.sql │ │ │ ├── key_find_for_verification.sql │ │ │ ├── key_find_live_by_hash.sql │ │ │ ├── key_find_live_by_id.sql │ │ │ ├── key_find_many_by_hash.sql │ │ │ ├── key_insert.sql │ │ │ ├── key_insert_ratelimit.sql │ │ │ ├── key_list_by_key_space_id.sql │ │ │ ├── key_list_live_by_key_space_id.sql │ │ │ ├── key_migration_find_by_id.sql │ │ │ ├── key_migration_insert.sql │ │ │ ├── key_permission_delete_all_by_key_id.sql │ │ │ ├── key_permission_delete_by_key_and_permission_id.sql │ │ │ ├── key_permission_delete_many_by_key_and_permission_ids.sql │ │ │ ├── key_permission_delete_many_by_permission_id.sql │ │ │ ├── key_permission_insert.sql │ │ │ ├── key_role_delete_all_by_key_id.sql │ │ │ ├── key_role_delete_many_by_key_and_role_ids.sql │ │ │ ├── key_role_delete_many_by_key_id.sql │ │ │ ├── key_role_delete_many_by_role_id.sql │ │ │ ├── key_role_find_by_key_and_role_id.sql │ │ │ ├── key_role_insert.sql │ │ │ ├── key_soft_delete_by_id.sql │ │ │ ├── key_soft_delete_many_by_key_space_id.sql │ │ │ ├── key_space_find_by_id.sql │ │ │ ├── key_space_insert.sql │ │ │ ├── key_space_update_key_encryption.sql │ │ │ ├── key_space_upsert.sql │ │ │ ├── key_update.sql │ │ │ ├── key_update_credits_decrement.sql │ │ │ ├── key_update_credits_increment.sql │ │ │ ├── key_update_credits_refill.sql │ │ │ ├── key_update_credits_set.sql │ │ │ ├── key_update_hash_and_migration.sql │ │ │ ├── permission_delete_by_id.sql │ │ │ ├── permission_find_by_id.sql │ │ │ ├── permission_find_by_id_or_slug.sql │ │ │ ├── permission_find_by_name_and_workspace_id.sql │ │ │ ├── permission_find_by_slug_and_workspace_id.sql │ │ │ ├── permission_find_by_slugs.sql │ │ │ ├── permission_insert.sql │ │ │ ├── permission_list.sql │ │ │ ├── permission_list_by_key_id.sql │ │ │ ├── permission_list_by_role_id.sql │ │ │ ├── permission_list_direct_by_key_id.sql │ │ │ ├── project_find_by_id.sql │ │ │ ├── project_find_by_workspace_slug.sql │ │ │ ├── project_insert.sql │ │ │ ├── project_update_deployments.sql │ │ │ ├── project_update_depot_id.sql │ │ │ ├── quota_find_by_workspace_id.sql │ │ │ ├── quota_upsert.sql │ │ │ ├── ratelimit_delete.sql │ │ │ ├── ratelimit_delete_many_by_identity_id.sql │ │ │ ├── ratelimit_delete_many_by_ids.sql │ │ │ ├── ratelimit_list_by_key_id.sql │ │ │ ├── ratelimit_list_by_key_ids.sql │ │ │ ├── ratelimit_namespace_delete.sql │ │ │ ├── ratelimit_namespace_find.sql │ │ │ ├── ratelimit_namespace_find_by_id.sql │ │ │ ├── ratelimit_namespace_find_by_name.sql │ │ │ ├── ratelimit_namespace_insert.sql │ │ │ ├── ratelimit_namespace_soft_delete.sql │ │ │ ├── ratelimit_namespaces_find_many.sql │ │ │ ├── ratelimit_override_find_by_id.sql │ │ │ ├── ratelimit_override_find_by_identifier.sql │ │ │ ├── ratelimit_override_insert.sql │ │ │ ├── ratelimit_override_list_by_namespace_id.sql │ │ │ ├── ratelimit_override_soft_delete.sql │ │ │ ├── ratelimit_override_update.sql │ │ │ ├── ratelimit_update.sql │ │ │ ├── role_delete_by_id.sql │ │ │ ├── role_find_by_id.sql │ │ │ ├── role_find_by_id_or_name_with_perms.sql │ │ │ ├── role_find_by_name_and_workspace_id.sql │ │ │ ├── role_find_by_names.sql │ │ │ ├── role_find_many_by_id_or_name_with_perms.sql │ │ │ ├── role_find_many_by_name_with_perms.sql │ │ │ ├── role_insert.sql │ │ │ ├── role_list.sql │ │ │ ├── role_list_by_key_id.sql │ │ │ ├── role_permission_delete_many_by_permission_id.sql │ │ │ ├── role_permission_delete_many_by_role_id.sql │ │ │ ├── role_permission_find_by_role_and_permission_id.sql │ │ │ ├── role_permission_insert.sql │ │ │ ├── workspace_find_by_id.sql │ │ │ ├── workspace_hard_delete.sql │ │ │ ├── workspace_insert.sql │ │ │ ├── workspace_list.sql │ │ │ ├── workspace_soft_delete.sql │ │ │ ├── workspace_update_enabled.sql │ │ │ ├── workspace_update_plan.sql │ │ │ └── workspace_upsert.sql │ │ ├── quota_find_by_workspace_id.sql_generated.go │ │ ├── quota_upsert.sql_generated.go │ │ ├── ratelimit_delete.sql_generated.go │ │ ├── ratelimit_delete_many_by_identity_id.sql_generated.go │ │ ├── ratelimit_delete_many_by_ids.sql_generated.go │ │ ├── ratelimit_list_by_key_id.sql_generated.go │ │ ├── ratelimit_list_by_key_ids.sql_generated.go │ │ ├── ratelimit_namespace_delete.sql_generated.go │ │ ├── ratelimit_namespace_find.sql.go │ │ ├── ratelimit_namespace_find.sql_generated.go │ │ ├── ratelimit_namespace_find_by_id.sql_generated.go │ │ ├── ratelimit_namespace_find_by_name.sql_generated.go │ │ ├── ratelimit_namespace_insert.sql_generated.go │ │ ├── ratelimit_namespace_soft_delete.sql_generated.go │ │ ├── ratelimit_namespaces_find_many.sql_generated.go │ │ ├── ratelimit_override_find_by_id.sql_generated.go │ │ ├── ratelimit_override_find_by_identifier.sql_generated.go │ │ ├── ratelimit_override_insert.sql_generated.go │ │ ├── ratelimit_override_list_by_namespace_id.sql_generated.go │ │ ├── ratelimit_override_soft_delete.sql_generated.go │ │ ├── ratelimit_override_update.sql_generated.go │ │ ├── ratelimit_update.sql_generated.go │ │ ├── replica.go │ │ ├── retry.go │ │ ├── retry_test.go │ │ ├── role_delete_by_id.sql_generated.go │ │ ├── role_find_by_id.sql_generated.go │ │ ├── role_find_by_id_or_name_with_perms.sql_generated.go │ │ ├── role_find_by_name_and_workspace_id.sql_generated.go │ │ ├── role_find_by_names.sql_generated.go │ │ ├── role_find_many_by_id_or_name_with_perms.sql_generated.go │ │ ├── role_find_many_by_name_with_perms.sql_generated.go │ │ ├── role_insert.sql_generated.go │ │ ├── role_list.sql_generated.go │ │ ├── role_list_by_key_id.sql_generated.go │ │ ├── role_permission_delete_many_by_permission_id.sql_generated.go │ │ ├── role_permission_delete_many_by_role_id.sql_generated.go │ │ ├── role_permission_find_by_role_and_permission_id.sql_generated.go │ │ ├── role_permission_insert.sql_generated.go │ │ ├── schema.sql │ │ ├── sqlc.json │ │ ├── traced_tx.go │ │ ├── tx.go │ │ ├── types │ │ │ └── null_string.go │ │ ├── workspace_find_by_id.sql_generated.go │ │ ├── workspace_hard_delete.sql_generated.go │ │ ├── workspace_insert.sql_generated.go │ │ ├── workspace_list.sql_generated.go │ │ ├── workspace_soft_delete.sql_generated.go │ │ ├── workspace_update_enabled.sql_generated.go │ │ ├── workspace_update_plan.sql_generated.go │ │ └── workspace_upsert.sql_generated.go │ ├── debug │ │ ├── cacheheaders.go │ │ ├── cacheheaders_test.go │ │ ├── doc.go │ │ ├── header.go │ │ └── header_test.go │ ├── encryption │ │ ├── aes.go │ │ ├── aes_test.go │ │ ├── fuzz_test.go │ │ └── testdata │ │ │ └── fuzz │ │ │ └── FuzzEncryptDecrypt │ │ │ └── 0ee1120eeb412757 │ ├── events │ │ └── topic.go │ ├── eventstream │ │ ├── consumer.go │ │ ├── doc.go │ │ ├── eventstream_integration_test.go │ │ ├── interface.go │ │ ├── noop.go │ │ ├── producer.go │ │ └── topic.go │ ├── fault │ │ ├── code.go │ │ ├── code_test.go │ │ ├── doc.go │ │ ├── dst_test.go │ │ ├── example_test.go │ │ ├── flatten.go │ │ ├── flattening_demo_test.go │ │ ├── wrap.go │ │ ├── wrap_test.go │ │ ├── wrapped.go │ │ └── wrapped_test.go │ ├── git │ │ └── git.go │ ├── hash │ │ ├── doc.go │ │ ├── sha256.go │ │ └── sha256_test.go │ ├── match │ │ ├── doc.go │ │ ├── wildcard.go │ │ └── wildcard_test.go │ ├── otel │ │ ├── grafana.go │ │ ├── logging │ │ │ ├── doc.go │ │ │ ├── interface.go │ │ │ ├── multi.go │ │ │ ├── noop.go │ │ │ └── slog.go │ │ ├── schema.go │ │ ├── tracing │ │ │ └── trace.go │ │ └── util.go │ ├── prefixedapikey │ │ ├── LICENSE │ │ ├── cmd │ │ │ └── main.go │ │ ├── prefixedapikey.go │ │ └── prefixedapikey_test.go │ ├── prometheus │ │ ├── metrics │ │ │ ├── batch.go │ │ │ ├── buffer.go │ │ │ ├── cache.go │ │ │ ├── chproxy.go │ │ │ ├── circuitbreaker.go │ │ │ ├── database.go │ │ │ ├── http.go │ │ │ ├── keys.go │ │ │ ├── labels.go │ │ │ ├── panic.go │ │ │ ├── ratelimit.go │ │ │ └── usagelimiter.go │ │ └── server.go │ ├── ptr │ │ ├── deref.go │ │ └── pointer.go │ ├── rbac │ │ ├── doc.go │ │ ├── integration_test.go │ │ ├── lexer.go │ │ ├── lexer_test.go │ │ ├── parse_test.go │ │ ├── parser.go │ │ ├── permissions.go │ │ ├── query.go │ │ ├── rbac.go │ │ └── rbac_test.go │ ├── repeat │ │ ├── every.go │ │ └── every_test.go │ ├── retry │ │ ├── retry.go │ │ └── retry_test.go │ ├── shutdown │ │ ├── doc.go │ │ ├── shutdown.go │ │ └── shutdown_test.go │ ├── sim │ │ ├── events.go │ │ ├── rng.go │ │ ├── seed.go │ │ ├── sim_test.go │ │ └── simulation.go │ ├── spiffe │ │ └── client.go │ ├── system_errors │ │ └── errors.go │ ├── testutil │ │ ├── containers │ │ │ ├── containers.go │ │ │ └── doc.go │ │ ├── flags.go │ │ ├── http.go │ │ └── seed │ │ │ └── seed.go │ ├── tls │ │ ├── doc.go │ │ ├── tls.go │ │ └── tls_test.go │ ├── uid │ │ ├── benchmark_test.go │ │ ├── doc.go │ │ ├── uid.go │ │ └── uid_test.go │ ├── urn │ │ ├── resource.go │ │ ├── service.go │ │ └── urn.go │ ├── vault │ │ ├── create_dek.go │ │ ├── decrypt.go │ │ ├── encrypt.go │ │ ├── encrypt_bulk.go │ │ ├── integration │ │ │ ├── coldstart_test.go │ │ │ ├── migrate_deks_test.go │ │ │ ├── reencryption_test.go │ │ │ └── reusing_deks_test.go │ │ ├── keyring │ │ │ ├── create_key.go │ │ │ ├── decode_and_decrypt_key.go │ │ │ ├── encrypt_and_encode_key.go │ │ │ ├── get_key.go │ │ │ ├── get_latest_key.go │ │ │ ├── get_or_create_key.go │ │ │ ├── keyring.go │ │ │ └── roll_keys.go │ │ ├── keys │ │ │ ├── key.go │ │ │ └── master_key.go │ │ ├── reencrypt.go │ │ ├── roll_deks.go │ │ ├── service.go │ │ └── storage │ │ │ ├── interface.go │ │ │ ├── memory.go │ │ │ ├── middleware │ │ │ └── tracing.go │ │ │ └── s3.go │ ├── version │ │ └── version.go │ └── zen │ │ ├── README.md │ │ ├── auth.go │ │ ├── auth_test.go │ │ ├── context.go │ │ ├── doc.go │ │ ├── handler.go │ │ ├── instance.go │ │ ├── middleware.go │ │ ├── middleware_errors.go │ │ ├── middleware_logger.go │ │ ├── middleware_metrics.go │ │ ├── middleware_metrics_test.go │ │ ├── middleware_observability.go │ │ ├── middleware_openapi_validation.go │ │ ├── middleware_panic_recovery.go │ │ ├── middleware_timeout.go │ │ ├── middleware_timeout_test.go │ │ ├── request_util.go │ │ ├── route.go │ │ ├── route_test.go │ │ ├── server.go │ │ ├── server_tls_test.go │ │ ├── session.go │ │ ├── session_bind_body_test.go │ │ ├── session_bind_query_test.go │ │ ├── session_body_limit_test.go │ │ ├── session_body_read_error_test.go │ │ ├── validation │ │ ├── validator.go │ │ └── validator_test.go │ │ ├── writer_error.go │ │ └── writer_status.go ├── proto │ ├── cache │ │ └── v1 │ │ │ └── invalidation.proto │ ├── ctrl │ │ └── v1 │ │ │ ├── acme.proto │ │ │ ├── build.proto │ │ │ ├── deployment.proto │ │ │ ├── environment.proto │ │ │ ├── openapi.proto │ │ │ ├── project.proto │ │ │ └── service.proto │ ├── hydra │ │ └── v1 │ │ │ ├── certificate.proto │ │ │ ├── deployment.proto │ │ │ ├── environment.proto │ │ │ ├── project.proto │ │ │ └── routing.proto │ ├── krane │ │ └── v1 │ │ │ ├── deployment.proto │ │ │ └── gateway.proto │ └── vault │ │ └── v1 │ │ ├── object.proto │ │ └── service.proto ├── schema.json ├── scripts │ └── shard-test │ │ └── main.go ├── test-docker │ └── Dockerfile └── tools │ ├── README.md │ ├── go.mod │ └── go.sum ├── internal ├── billing │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── quota.ts │ │ ├── subscriptions.ts │ │ ├── tiers.test.ts │ │ └── tiers.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── checkly │ ├── .github │ │ └── workflow.yml │ ├── .gitignore │ ├── README.md │ ├── checkly.config.ts │ ├── package.json │ └── src │ │ ├── __checks__ │ │ ├── api │ │ │ ├── liveness.check.ts │ │ │ ├── ratelimit │ │ │ │ ├── group.ts │ │ │ │ └── v1.ratelimits.limit.check.ts │ │ │ └── v1.keys.verifyKey.check.ts │ │ └── heartbeats.check.ts │ │ ├── alert-channels.ts │ │ └── locations.ts ├── clickhouse │ ├── package.json │ ├── src │ │ ├── billing.ts │ │ ├── client │ │ │ ├── client.ts │ │ │ ├── error.ts │ │ │ ├── index.ts │ │ │ ├── interface.ts │ │ │ └── noop.ts │ │ ├── index.ts │ │ ├── insert_verifications.test.ts │ │ ├── keys │ │ │ ├── active_keys.ts │ │ │ └── keys.ts │ │ ├── latest_verifications.ts │ │ ├── logs-timeseries.test.ts │ │ ├── logs.ts │ │ ├── ratelimits.ts │ │ ├── ratelimits_billing.test.ts │ │ ├── requests.ts │ │ ├── success.ts │ │ ├── telemetry.ts │ │ ├── testutil.ts │ │ ├── util.ts │ │ ├── verification_outcomes_propagate_correctly.test.ts │ │ ├── verification_tags.test.ts │ │ ├── verifications.ts │ │ └── verifications_billing.test.ts │ └── vitest.config.ts ├── db │ ├── drizzle.config.ts │ ├── drizzle │ │ ├── 0000_dazzling_colonel_america.sql │ │ ├── 0001_workable_wildside.sql │ │ └── meta │ │ │ ├── 0000_snapshot.json │ │ │ ├── 0001_snapshot.json │ │ │ └── _journal.json │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── schema │ │ │ ├── acme_challenges.ts │ │ │ ├── acme_users.ts │ │ │ ├── apis.ts │ │ │ ├── audit_logs.ts │ │ │ ├── certificates.ts │ │ │ ├── clickhouse_workspace_settings.ts │ │ │ ├── custom_domains.ts │ │ │ ├── deployment_steps.ts │ │ │ ├── deployments.ts │ │ │ ├── environment_variables.ts │ │ │ ├── environments.ts │ │ │ ├── gateways.ts │ │ │ ├── identity.ts │ │ │ ├── index.ts │ │ │ ├── ingress_routes.ts │ │ │ ├── instances.ts │ │ │ ├── keyAuth.ts │ │ │ ├── key_migrations.ts │ │ │ ├── keys.ts │ │ │ ├── metal_hosts.ts │ │ │ ├── projects.ts │ │ │ ├── quota.ts │ │ │ ├── ratelimit.ts │ │ │ ├── rbac.ts │ │ │ ├── util │ │ │ │ ├── delete_protection.ts │ │ │ │ ├── embedded_encrypted.ts │ │ │ │ ├── lifecycle_dates.ts │ │ │ │ └── longblob.ts │ │ │ ├── vercel_integration.ts │ │ │ └── workspaces.ts │ │ └── types.ts │ └── tsconfig.json ├── encoding │ ├── package.json │ ├── src │ │ ├── base64.ts │ │ └── index.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── encryption │ ├── package.json │ ├── src │ │ ├── aes-gcm.ts │ │ ├── index.ts │ │ └── key.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── error │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── package.json │ ├── src │ │ ├── error-handling.ts │ │ ├── errors │ │ │ ├── base.ts │ │ │ ├── env-error.ts │ │ │ ├── fetch-error.ts │ │ │ └── schema-error.ts │ │ └── index.ts │ └── tsconfig.json ├── events │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── hash │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── sha256.test.ts │ │ └── sha256.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── icons │ ├── LICENSE │ ├── package.json │ └── src │ │ ├── Readme.txt │ │ ├── icons │ │ ├── adjust-contrast-3.tsx │ │ ├── arrow-dot-anti-clockwise.tsx │ │ ├── arrow-dotted-rotate-anticlockwise.tsx │ │ ├── arrow-opposite-direction-y.tsx │ │ ├── arrow-right.tsx │ │ ├── arrow-up-right.tsx │ │ ├── arrows-to-all-directions.tsx │ │ ├── arrows-to-center.tsx │ │ ├── ban.tsx │ │ ├── bars-filter.tsx │ │ ├── bolt.tsx │ │ ├── book-2.tsx │ │ ├── book-bookmark.tsx │ │ ├── book-open.tsx │ │ ├── bookmark.tsx │ │ ├── brackets-curly.tsx │ │ ├── bucket.tsx │ │ ├── calendar-clock.tsx │ │ ├── calendar-event.tsx │ │ ├── calendar.tsx │ │ ├── caret-down.tsx │ │ ├── caret-expand-y.tsx │ │ ├── caret-right-outline.tsx │ │ ├── caret-right.tsx │ │ ├── caret-up.tsx │ │ ├── chart-activity-2.tsx │ │ ├── chart-activity.tsx │ │ ├── chart-bar-axis-y.tsx │ │ ├── chart-pie.tsx │ │ ├── chart-usage.tsx │ │ ├── chats.tsx │ │ ├── check.tsx │ │ ├── chevron-down.tsx │ │ ├── chevron-expand-y.tsx │ │ ├── chevron-left.tsx │ │ ├── chevron-right.tsx │ │ ├── chevron-up.tsx │ │ ├── circle-caret-down.tsx │ │ ├── circle-caret-right.tsx │ │ ├── circle-check.tsx │ │ ├── circle-dotted.tsx │ │ ├── circle-half-dotted-clock.tsx │ │ ├── circle-info-sparkle.tsx │ │ ├── circle-info.tsx │ │ ├── circle-lock.tsx │ │ ├── circle-question.tsx │ │ ├── circle-warning.tsx │ │ ├── circle-xmark.tsx │ │ ├── circle.tsx │ │ ├── clipboard-check.tsx │ │ ├── clipboard.tsx │ │ ├── clock-rotate-clockwise.tsx │ │ ├── clock.tsx │ │ ├── clone.tsx │ │ ├── cloud-up.tsx │ │ ├── cloud.tsx │ │ ├── code-branch.tsx │ │ ├── code-commit.tsx │ │ ├── code.tsx │ │ ├── coins.tsx │ │ ├── connections.tsx │ │ ├── conversion.tsx │ │ ├── cube.tsx │ │ ├── dots.tsx │ │ ├── double-chevron-left.tsx │ │ ├── double-chevron-right.tsx │ │ ├── earth.tsx │ │ ├── envelope.tsx │ │ ├── external-link.tsx │ │ ├── eye-slash.tsx │ │ ├── eye.tsx │ │ ├── fingerprint.tsx │ │ ├── focus.tsx │ │ ├── folder-cloud.tsx │ │ ├── gauge.tsx │ │ ├── gear.tsx │ │ ├── github.tsx │ │ ├── grid-circle.tsx │ │ ├── grid.tsx │ │ ├── half-dotted-circle-play.tsx │ │ ├── hard-drive.tsx │ │ ├── heart.tsx │ │ ├── input-password-edit.tsx │ │ ├── input-password-settings.tsx │ │ ├── input-search.tsx │ │ ├── key-2.tsx │ │ ├── key.tsx │ │ ├── laptop-2.tsx │ │ ├── layers-2.tsx │ │ ├── layers-3.tsx │ │ ├── link-4.tsx │ │ ├── list-radio.tsx │ │ ├── location2.tsx │ │ ├── lock.tsx │ │ ├── magnifier.tsx │ │ ├── math-function.tsx │ │ ├── message-writing.tsx │ │ ├── minus.tsx │ │ ├── moon-stars.tsx │ │ ├── nodes.tsx │ │ ├── number-input.tsx │ │ ├── nut.tsx │ │ ├── page-2.tsx │ │ ├── paperclip-2.tsx │ │ ├── pen-writing-3.tsx │ │ ├── plus.tsx │ │ ├── progress-bar.tsx │ │ ├── pulse.tsx │ │ ├── refresh-3.tsx │ │ ├── share-up-right.tsx │ │ ├── shield-alert.tsx │ │ ├── shield-check.tsx │ │ ├── shield-key.tsx │ │ ├── shield.tsx │ │ ├── sidebar-left-hide.tsx │ │ ├── sidebar-left-show.tsx │ │ ├── sliders.tsx │ │ ├── sparkle-3.tsx │ │ ├── stack-perspective-2.tsx │ │ ├── storage.tsx │ │ ├── sun.tsx │ │ ├── tag.tsx │ │ ├── task-checked.tsx │ │ ├── task-unchecked.tsx │ │ ├── text-input.tsx │ │ ├── time-clock.tsx │ │ ├── trash.tsx │ │ ├── triangle-warning-2.tsx │ │ ├── triangle-warning.tsx │ │ ├── ufo.tsx │ │ ├── unlink.tsx │ │ ├── user-plus.tsx │ │ ├── user-search.tsx │ │ ├── user.tsx │ │ └── xmark.tsx │ │ ├── index.ts │ │ ├── props.ts │ │ └── template.tsx ├── id │ ├── package.json │ ├── src │ │ ├── generate.test.ts │ │ ├── generate.ts │ │ └── index.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── keys │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── util.ts │ │ ├── v1.test.ts │ │ └── v1.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── logs │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── metrics │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── proto │ └── package.json ├── rbac │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── permissions.test.ts │ │ ├── permissions.ts │ │ ├── queries.test.ts │ │ ├── queries.ts │ │ ├── rbac.test.ts │ │ ├── rbac.ts │ │ └── types.ts │ └── tsconfig.json ├── resend │ ├── emails │ │ ├── api_v1_migration.tsx │ │ ├── payment_issue.tsx │ │ ├── secret_scanning_key_detected.tsx │ │ └── welcome_email.tsx │ ├── package.json │ ├── src │ │ ├── client.tsx │ │ ├── components │ │ │ ├── layout.tsx │ │ │ └── signature.tsx │ │ ├── ensure-emails-render.spec.ts │ │ └── index.ts │ ├── tailwind.config.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── schema │ ├── package.json │ ├── src │ │ ├── auditlog.ts │ │ └── ratelimit-tinybird.ts │ └── tsconfig.json ├── tsconfig │ ├── README.md │ ├── base.json │ ├── nextjs.json │ ├── package.json │ └── react-library.json ├── ui │ ├── colors.css │ ├── components.json │ ├── css.ts │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── animated-loading-spinner.tsx │ │ │ ├── badge.tsx │ │ │ ├── buttons │ │ │ │ ├── button.tsx │ │ │ │ ├── copy-button.tsx │ │ │ │ ├── keyboard-button.tsx │ │ │ │ ├── refresh-button.tsx │ │ │ │ └── visible-button.tsx │ │ │ ├── card.tsx │ │ │ ├── circle-progress.tsx │ │ │ ├── code.tsx │ │ │ ├── date-time │ │ │ │ ├── components │ │ │ │ │ ├── actions.tsx │ │ │ │ │ ├── calendar.tsx │ │ │ │ │ └── time-split.tsx │ │ │ │ └── date-time.tsx │ │ │ ├── dialog │ │ │ │ ├── dialog-container.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── navigable-dialog.tsx │ │ │ │ └── parts │ │ │ │ │ └── dialog-parts.tsx │ │ │ ├── empty.tsx │ │ │ ├── form │ │ │ │ ├── checkbox.tsx │ │ │ │ ├── form-checkbox.tsx │ │ │ │ ├── form-helpers.tsx │ │ │ │ ├── form-input.tsx │ │ │ │ ├── form-tags.tsx │ │ │ │ ├── form-textarea.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── select.tsx │ │ │ │ └── textarea.tsx │ │ │ ├── id.tsx │ │ │ ├── info-tooltip.tsx │ │ │ ├── inline-link.tsx │ │ │ ├── llm-search │ │ │ │ ├── components │ │ │ │ │ ├── search-actions.tsx │ │ │ │ │ ├── search-example-tooltip.tsx │ │ │ │ │ ├── search-icon.tsx │ │ │ │ │ └── search-input.tsx │ │ │ │ ├── hooks │ │ │ │ │ ├── use-search-strategy.test.tsx │ │ │ │ │ └── use-search-strategy.ts │ │ │ │ └── index.tsx │ │ │ ├── loading.tsx │ │ │ ├── logs │ │ │ │ └── control-cloud │ │ │ │ │ ├── control-pill.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── utils.ts │ │ │ ├── separator.tsx │ │ │ ├── settings-card.tsx │ │ │ ├── timestamp-info.tsx │ │ │ ├── toaster.tsx │ │ │ └── tooltip.tsx │ │ ├── hooks │ │ │ ├── use-keyboard-shortcut.test.tsx │ │ │ ├── use-keyboard-shortcut.tsx │ │ │ └── use-persisted-form.tsx │ │ ├── index.ts │ │ ├── lib │ │ │ └── utils.ts │ │ └── validation │ │ │ ├── filter.types.ts │ │ │ └── utils │ │ │ ├── nuqs-parsers.ts │ │ │ ├── structured-output-schema-generator.ts │ │ │ ├── transform-structured-output-filter-format.ts │ │ │ └── type-guards.ts │ ├── tailwind.config.js │ └── tsconfig.json ├── validation │ ├── README.md │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── vault │ ├── package.json │ └── src │ │ └── index.ts ├── vercel │ ├── package.json │ ├── src │ │ ├── client.ts │ │ └── index.ts │ └── tsconfig.json └── worker-logging │ ├── package.json │ ├── src │ ├── console.ts │ ├── index.ts │ └── interface.ts │ └── tsconfig.json ├── knip.ts ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── tools ├── artillery │ ├── .dockerignore │ ├── .gitignore │ ├── .identifiers.csv │ ├── Dockerfile │ ├── README.md │ ├── aws.yaml │ ├── create-keys.ts │ ├── fly.toml │ ├── keys.verifyKey.yaml │ ├── leak.yaml │ ├── llm.yaml │ ├── main.ts │ ├── prompts.csv │ ├── r53.yaml │ ├── ratelimit.limit.yaml │ ├── ratelimits.limit.yaml │ ├── run.bash │ ├── server.yaml │ ├── timeout.yaml │ └── tinybird-proxy.yaml ├── gha-fetch-digest │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── cmd │ │ ├── main.go │ │ └── main_test.go │ ├── go.mod │ └── go.sum ├── k6 │ ├── Makefile │ ├── load.js │ └── package.json ├── local │ ├── README.md │ ├── package.json │ ├── src │ │ ├── cmd │ │ │ ├── api.ts │ │ │ ├── dashboard.ts │ │ │ ├── seed.ts │ │ │ └── seed │ │ │ │ ├── apis.ts │ │ │ │ ├── batch-helper.ts │ │ │ │ ├── batch-operations.ts │ │ │ │ ├── event-generator.ts │ │ │ │ ├── logs.ts │ │ │ │ ├── ratelimit.ts │ │ │ │ └── utils.ts │ │ ├── db.ts │ │ ├── docker.ts │ │ ├── env.ts │ │ ├── main.ts │ │ ├── seed.ts │ │ └── util.ts │ └── tsconfig.json └── migrate │ ├── .env.example │ ├── auditlog-import.ts │ ├── axiom.ts │ ├── ch_copy.ts │ ├── ch_logs.ts │ ├── debug_billing.ts │ ├── environment-migrate.ts │ ├── migrate_subscription.ts │ ├── package.json │ ├── ratelimit-migrate.ts │ ├── refill-migrate.ts │ ├── seed_quotas.ts │ ├── stripe.ts │ ├── timestamps.sql │ ├── tinybird-export.ts │ ├── tsconfig.json │ └── v1_deprecation.ts ├── turbo.json └── vitest.workspace.json /.changeset/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.changeset/README.md -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.changeset/config.json -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/ISSUE_TEMPLATE/bug_report.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/doc_report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/ISSUE_TEMPLATE/doc_report.yml -------------------------------------------------------------------------------- /.github/actions/setup-go/action.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/actions/setup-go/action.yaml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/autofix.ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/autofix.ci.yaml -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/build.yaml -------------------------------------------------------------------------------- /.github/workflows/check_quotas.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/check_quotas.yml -------------------------------------------------------------------------------- /.github/workflows/deploy.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/deploy.yaml -------------------------------------------------------------------------------- /.github/workflows/deploy_trigger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/deploy_trigger.yaml -------------------------------------------------------------------------------- /.github/workflows/job_lint_go.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/job_lint_go.yaml -------------------------------------------------------------------------------- /.github/workflows/pr.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/pr.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/Makefile -------------------------------------------------------------------------------- /QUICKSTART-DEPLOY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/QUICKSTART-DEPLOY.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/README.md -------------------------------------------------------------------------------- /apps/agent/.golangci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/.golangci.yaml -------------------------------------------------------------------------------- /apps/agent/.goreleaser.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/.goreleaser.yaml -------------------------------------------------------------------------------- /apps/agent/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/Dockerfile -------------------------------------------------------------------------------- /apps/agent/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/Makefile -------------------------------------------------------------------------------- /apps/agent/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/README.md -------------------------------------------------------------------------------- /apps/agent/bruno/Liveness.bru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/bruno/Liveness.bru -------------------------------------------------------------------------------- /apps/agent/bruno/bruno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/bruno/bruno.json -------------------------------------------------------------------------------- /apps/agent/buf.gen.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/buf.gen.yaml -------------------------------------------------------------------------------- /apps/agent/buf.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/buf.yaml -------------------------------------------------------------------------------- /apps/agent/cmd/agent/agent.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/cmd/agent/agent.go -------------------------------------------------------------------------------- /apps/agent/cmd/agent/setup.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/cmd/agent/setup.go -------------------------------------------------------------------------------- /apps/agent/cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/cmd/main.go -------------------------------------------------------------------------------- /apps/agent/config.docker.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/config.docker.json -------------------------------------------------------------------------------- /apps/agent/config.production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/config.production.json -------------------------------------------------------------------------------- /apps/agent/config.staging.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/config.staging.json -------------------------------------------------------------------------------- /apps/agent/fly.production.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/fly.production.toml -------------------------------------------------------------------------------- /apps/agent/fly.staging.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/fly.staging.toml -------------------------------------------------------------------------------- /apps/agent/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/go.mod -------------------------------------------------------------------------------- /apps/agent/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/go.sum -------------------------------------------------------------------------------- /apps/agent/pkg/api/agent_auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/api/agent_auth.go -------------------------------------------------------------------------------- /apps/agent/pkg/api/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/api/interface.go -------------------------------------------------------------------------------- /apps/agent/pkg/api/mw_logging.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/api/mw_logging.go -------------------------------------------------------------------------------- /apps/agent/pkg/api/mw_metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/api/mw_metrics.go -------------------------------------------------------------------------------- /apps/agent/pkg/api/mw_tracing.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/api/mw_tracing.go -------------------------------------------------------------------------------- /apps/agent/pkg/api/routes/route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/api/routes/route.go -------------------------------------------------------------------------------- /apps/agent/pkg/api/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/api/server.go -------------------------------------------------------------------------------- /apps/agent/pkg/batch/consume.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/batch/consume.go -------------------------------------------------------------------------------- /apps/agent/pkg/batch/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/batch/metrics.go -------------------------------------------------------------------------------- /apps/agent/pkg/batch/process.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/batch/process.go -------------------------------------------------------------------------------- /apps/agent/pkg/cache/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cache/cache.go -------------------------------------------------------------------------------- /apps/agent/pkg/cache/cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cache/cache_test.go -------------------------------------------------------------------------------- /apps/agent/pkg/cache/entry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cache/entry.go -------------------------------------------------------------------------------- /apps/agent/pkg/cache/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cache/interface.go -------------------------------------------------------------------------------- /apps/agent/pkg/cache/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cache/middleware.go -------------------------------------------------------------------------------- /apps/agent/pkg/cache/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cache/noop.go -------------------------------------------------------------------------------- /apps/agent/pkg/cache/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cache/util.go -------------------------------------------------------------------------------- /apps/agent/pkg/clickhouse/flush.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/clickhouse/flush.go -------------------------------------------------------------------------------- /apps/agent/pkg/clickhouse/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/clickhouse/noop.go -------------------------------------------------------------------------------- /apps/agent/pkg/clock/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/clock/interface.go -------------------------------------------------------------------------------- /apps/agent/pkg/clock/real_clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/clock/real_clock.go -------------------------------------------------------------------------------- /apps/agent/pkg/clock/test_clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/clock/test_clock.go -------------------------------------------------------------------------------- /apps/agent/pkg/cluster/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cluster/cluster.go -------------------------------------------------------------------------------- /apps/agent/pkg/cluster/node.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/cluster/node.go -------------------------------------------------------------------------------- /apps/agent/pkg/config/agent.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/config/agent.go -------------------------------------------------------------------------------- /apps/agent/pkg/config/json.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/config/json.go -------------------------------------------------------------------------------- /apps/agent/pkg/config/json_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/config/json_test.go -------------------------------------------------------------------------------- /apps/agent/pkg/connect/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/connect/cluster.go -------------------------------------------------------------------------------- /apps/agent/pkg/connect/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/connect/service.go -------------------------------------------------------------------------------- /apps/agent/pkg/encryption/aes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/encryption/aes.go -------------------------------------------------------------------------------- /apps/agent/pkg/env/env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/env/env.go -------------------------------------------------------------------------------- /apps/agent/pkg/env/env_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/env/env_test.go -------------------------------------------------------------------------------- /apps/agent/pkg/events/topic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/events/topic.go -------------------------------------------------------------------------------- /apps/agent/pkg/gossip/cluster.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/gossip/cluster.go -------------------------------------------------------------------------------- /apps/agent/pkg/gossip/connect.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/gossip/connect.go -------------------------------------------------------------------------------- /apps/agent/pkg/gossip/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/gossip/interface.go -------------------------------------------------------------------------------- /apps/agent/pkg/gossip/rpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/gossip/rpc.go -------------------------------------------------------------------------------- /apps/agent/pkg/logging/axiom.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/logging/axiom.go -------------------------------------------------------------------------------- /apps/agent/pkg/logging/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/logging/logger.go -------------------------------------------------------------------------------- /apps/agent/pkg/membership/serf.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/membership/serf.go -------------------------------------------------------------------------------- /apps/agent/pkg/metrics/axiom.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/metrics/axiom.go -------------------------------------------------------------------------------- /apps/agent/pkg/metrics/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/metrics/metrics.go -------------------------------------------------------------------------------- /apps/agent/pkg/metrics/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/metrics/noop.go -------------------------------------------------------------------------------- /apps/agent/pkg/mutex/traced.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/mutex/traced.go -------------------------------------------------------------------------------- /apps/agent/pkg/openapi/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/openapi/config.yaml -------------------------------------------------------------------------------- /apps/agent/pkg/openapi/gen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/openapi/gen.go -------------------------------------------------------------------------------- /apps/agent/pkg/openapi/spec.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/openapi/spec.go -------------------------------------------------------------------------------- /apps/agent/pkg/port/free.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/port/free.go -------------------------------------------------------------------------------- /apps/agent/pkg/repeat/every.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/repeat/every.go -------------------------------------------------------------------------------- /apps/agent/pkg/ring/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/ring/metrics.go -------------------------------------------------------------------------------- /apps/agent/pkg/ring/ring.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/ring/ring.go -------------------------------------------------------------------------------- /apps/agent/pkg/testutil/attack.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/testutil/attack.go -------------------------------------------------------------------------------- /apps/agent/pkg/tracing/axiom.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/tracing/axiom.go -------------------------------------------------------------------------------- /apps/agent/pkg/tracing/schema.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/tracing/schema.go -------------------------------------------------------------------------------- /apps/agent/pkg/tracing/trace.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/tracing/trace.go -------------------------------------------------------------------------------- /apps/agent/pkg/tracing/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/tracing/util.go -------------------------------------------------------------------------------- /apps/agent/pkg/uid/hash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/uid/hash.go -------------------------------------------------------------------------------- /apps/agent/pkg/uid/uid.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/uid/uid.go -------------------------------------------------------------------------------- /apps/agent/pkg/uid/uid_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/uid/uid_test.go -------------------------------------------------------------------------------- /apps/agent/pkg/util/compare.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/util/compare.go -------------------------------------------------------------------------------- /apps/agent/pkg/util/convert.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/util/convert.go -------------------------------------------------------------------------------- /apps/agent/pkg/util/pointer.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | func Pointer[T any](t T) *T { 4 | return &t 5 | 6 | } 7 | -------------------------------------------------------------------------------- /apps/agent/pkg/util/random.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/util/random.go -------------------------------------------------------------------------------- /apps/agent/pkg/util/retry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/util/retry.go -------------------------------------------------------------------------------- /apps/agent/pkg/version/version.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/pkg/version/version.go -------------------------------------------------------------------------------- /apps/agent/schema.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/schema.json -------------------------------------------------------------------------------- /apps/agent/scripts/deploy.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/scripts/deploy.bash -------------------------------------------------------------------------------- /apps/agent/scripts/heap.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/scripts/heap.bash -------------------------------------------------------------------------------- /apps/agent/scripts/profile.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/agent/scripts/profile.bash -------------------------------------------------------------------------------- /apps/api/.dev.vars.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/.dev.vars.example -------------------------------------------------------------------------------- /apps/api/.gitignore: -------------------------------------------------------------------------------- 1 | .wrangler 2 | .vitest -------------------------------------------------------------------------------- /apps/api/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/CHANGELOG.md -------------------------------------------------------------------------------- /apps/api/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/Dockerfile -------------------------------------------------------------------------------- /apps/api/Dockerfile.dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/Dockerfile.dev -------------------------------------------------------------------------------- /apps/api/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/package.json -------------------------------------------------------------------------------- /apps/api/src/pkg/analytics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/analytics.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/audit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/audit.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/auth/root_key.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/auth/root_key.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/cache/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/cache/index.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/db.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/env.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/errors/http.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/errors/http.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/errors/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/errors/index.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/hono/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/hono/app.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/hono/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/hono/env.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/keys/service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/keys/service.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/metrics/axiom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/metrics/axiom.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/metrics/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/metrics/index.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/metrics/noop.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/metrics/noop.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/ratelimit/noop.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/ratelimit/noop.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/testutil/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/testutil/env.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/testutil/load.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/testutil/load.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/types/maybe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/types/maybe.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/util/retry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/util/retry.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/util/wildcard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/util/wildcard.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/util/zod-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/util/zod-error.ts -------------------------------------------------------------------------------- /apps/api/src/pkg/vault.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/pkg/vault.ts -------------------------------------------------------------------------------- /apps/api/src/routes/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/routes/schema.ts -------------------------------------------------------------------------------- /apps/api/src/routes/v1_liveness.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/routes/v1_liveness.ts -------------------------------------------------------------------------------- /apps/api/src/worker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/src/worker.ts -------------------------------------------------------------------------------- /apps/api/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/tsconfig.json -------------------------------------------------------------------------------- /apps/api/vitest.benchmark.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/vitest.benchmark.ts -------------------------------------------------------------------------------- /apps/api/vitest.integration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/vitest.integration.ts -------------------------------------------------------------------------------- /apps/api/vitest.unit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/vitest.unit.ts -------------------------------------------------------------------------------- /apps/api/worker.capnp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/worker.capnp -------------------------------------------------------------------------------- /apps/api/wrangler.custom.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/wrangler.custom.toml -------------------------------------------------------------------------------- /apps/api/wrangler.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/api/wrangler.toml -------------------------------------------------------------------------------- /apps/dashboard/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/.env.example -------------------------------------------------------------------------------- /apps/dashboard/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/.gitignore -------------------------------------------------------------------------------- /apps/dashboard/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/CHANGELOG.md -------------------------------------------------------------------------------- /apps/dashboard/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/Dockerfile -------------------------------------------------------------------------------- /apps/dashboard/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/README.md -------------------------------------------------------------------------------- /apps/dashboard/app/(app)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/(app)/page.tsx -------------------------------------------------------------------------------- /apps/dashboard/app/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/actions.ts -------------------------------------------------------------------------------- /apps/dashboard/app/auth/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/auth/actions.ts -------------------------------------------------------------------------------- /apps/dashboard/app/auth/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/auth/layout.tsx -------------------------------------------------------------------------------- /apps/dashboard/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/favicon.ico -------------------------------------------------------------------------------- /apps/dashboard/app/join/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/join/route.ts -------------------------------------------------------------------------------- /apps/dashboard/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/layout.tsx -------------------------------------------------------------------------------- /apps/dashboard/app/new/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/app/new/page.tsx -------------------------------------------------------------------------------- /apps/dashboard/app/robots.txt: -------------------------------------------------------------------------------- 1 | User-Agent: * 2 | Disallow: / -------------------------------------------------------------------------------- /apps/dashboard/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/components.json -------------------------------------------------------------------------------- /apps/dashboard/images/app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/images/app.png -------------------------------------------------------------------------------- /apps/dashboard/images/laptop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/images/laptop.jpg -------------------------------------------------------------------------------- /apps/dashboard/images/unkey.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/images/unkey.svg -------------------------------------------------------------------------------- /apps/dashboard/lib/audit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/audit.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/auth.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/auth/cookies.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/auth/cookies.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/auth/local.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/auth/local.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/auth/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/auth/server.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/auth/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/auth/types.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/auth/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/auth/utils.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/auth/workos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/auth/workos.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/cache.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/clerk.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/clerk.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/clickhouse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/clickhouse.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/db.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/env.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/fmt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/fmt.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/format.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/format.tsx -------------------------------------------------------------------------------- /apps/dashboard/lib/quotas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/quotas.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/shorten-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/shorten-id.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/stripe.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/trpc/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/trpc/client.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/trpc/context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/trpc/context.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/trpc/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/trpc/server.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/trpc/trpc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/trpc/trpc.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/types.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/utils.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/utils/cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/utils/cache.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/utils/trpc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/utils/trpc.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/vault.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/vault.ts -------------------------------------------------------------------------------- /apps/dashboard/lib/zod-helper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/lib/zod-helper.ts -------------------------------------------------------------------------------- /apps/dashboard/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/middleware.ts -------------------------------------------------------------------------------- /apps/dashboard/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/next.config.js -------------------------------------------------------------------------------- /apps/dashboard/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/package.json -------------------------------------------------------------------------------- /apps/dashboard/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/postcss.config.js -------------------------------------------------------------------------------- /apps/dashboard/public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/public/next.svg -------------------------------------------------------------------------------- /apps/dashboard/public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/public/vercel.svg -------------------------------------------------------------------------------- /apps/dashboard/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/tailwind.config.js -------------------------------------------------------------------------------- /apps/dashboard/trpc.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/trpc.config.ts -------------------------------------------------------------------------------- /apps/dashboard/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/tsconfig.json -------------------------------------------------------------------------------- /apps/dashboard/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/dashboard/vitest.config.ts -------------------------------------------------------------------------------- /apps/docs/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/CHANGELOG.md -------------------------------------------------------------------------------- /apps/docs/README.md: -------------------------------------------------------------------------------- 1 | # Unkey Docs 2 | -------------------------------------------------------------------------------- /apps/docs/ai-code-gen/cursor.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/ai-code-gen/cursor.mdx -------------------------------------------------------------------------------- /apps/docs/ai-code-gen/overview.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/ai-code-gen/overview.mdx -------------------------------------------------------------------------------- /apps/docs/ai-code-gen/windsurf.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/ai-code-gen/windsurf.mdx -------------------------------------------------------------------------------- /apps/docs/analytics/overview.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/analytics/overview.mdx -------------------------------------------------------------------------------- /apps/docs/api-reference/v2/rpc.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/api-reference/v2/rpc.mdx -------------------------------------------------------------------------------- /apps/docs/apis/features/refill.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/apis/features/refill.mdx -------------------------------------------------------------------------------- /apps/docs/apis/introduction.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/apis/introduction.mdx -------------------------------------------------------------------------------- /apps/docs/audit-log/audit-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/audit-log/audit-log.png -------------------------------------------------------------------------------- /apps/docs/audit-log/types.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/audit-log/types.mdx -------------------------------------------------------------------------------- /apps/docs/docs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/docs.json -------------------------------------------------------------------------------- /apps/docs/errors/overview.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/errors/overview.mdx -------------------------------------------------------------------------------- /apps/docs/glossary.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/glossary.mdx -------------------------------------------------------------------------------- /apps/docs/images/audit-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/images/audit-log.png -------------------------------------------------------------------------------- /apps/docs/images/choose-unkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/images/choose-unkey.png -------------------------------------------------------------------------------- /apps/docs/images/example-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/images/example-key.png -------------------------------------------------------------------------------- /apps/docs/images/ip-whitelist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/images/ip-whitelist.png -------------------------------------------------------------------------------- /apps/docs/images/reroll-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/images/reroll-key.png -------------------------------------------------------------------------------- /apps/docs/images/select-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/images/select-api.png -------------------------------------------------------------------------------- /apps/docs/images/sign-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/images/sign-up.png -------------------------------------------------------------------------------- /apps/docs/integrations/vercel.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/integrations/vercel.mdx -------------------------------------------------------------------------------- /apps/docs/introduction.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/introduction.mdx -------------------------------------------------------------------------------- /apps/docs/libraries/go/api.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/libraries/go/api.mdx -------------------------------------------------------------------------------- /apps/docs/libraries/py/api.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/libraries/py/api.mdx -------------------------------------------------------------------------------- /apps/docs/libraries/ts/api.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/libraries/ts/api.mdx -------------------------------------------------------------------------------- /apps/docs/libraries/ts/hono.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/libraries/ts/hono.mdx -------------------------------------------------------------------------------- /apps/docs/libraries/ts/nextjs.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/libraries/ts/nextjs.mdx -------------------------------------------------------------------------------- /apps/docs/migrations/keys.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/migrations/keys.mdx -------------------------------------------------------------------------------- /apps/docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/package.json -------------------------------------------------------------------------------- /apps/docs/quickstart/apis/bun.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/quickstart/apis/bun.mdx -------------------------------------------------------------------------------- /apps/docs/quickstart/apis/hono.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/quickstart/apis/hono.mdx -------------------------------------------------------------------------------- /apps/docs/ratelimiting/modes.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/ratelimiting/modes.mdx -------------------------------------------------------------------------------- /apps/docs/security/overview.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/security/overview.mdx -------------------------------------------------------------------------------- /apps/docs/security/root-keys.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/security/root-keys.mdx -------------------------------------------------------------------------------- /apps/docs/unkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/docs/unkey.png -------------------------------------------------------------------------------- /apps/engineering/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/.gitignore -------------------------------------------------------------------------------- /apps/engineering/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/README.md -------------------------------------------------------------------------------- /apps/engineering/app/global.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/app/global.css -------------------------------------------------------------------------------- /apps/engineering/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/app/layout.tsx -------------------------------------------------------------------------------- /apps/engineering/app/source.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/app/source.ts -------------------------------------------------------------------------------- /apps/engineering/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/next-env.d.ts -------------------------------------------------------------------------------- /apps/engineering/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/next.config.mjs -------------------------------------------------------------------------------- /apps/engineering/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/package.json -------------------------------------------------------------------------------- /apps/engineering/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/postcss.config.js -------------------------------------------------------------------------------- /apps/engineering/source.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/source.config.ts -------------------------------------------------------------------------------- /apps/engineering/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/engineering/tsconfig.json -------------------------------------------------------------------------------- /apps/logdrain/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/logdrain/.gitignore -------------------------------------------------------------------------------- /apps/logdrain/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/logdrain/README.md -------------------------------------------------------------------------------- /apps/logdrain/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/logdrain/package.json -------------------------------------------------------------------------------- /apps/logdrain/src/worker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/logdrain/src/worker.ts -------------------------------------------------------------------------------- /apps/logdrain/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/logdrain/tsconfig.json -------------------------------------------------------------------------------- /apps/logdrain/wrangler.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/logdrain/wrangler.toml -------------------------------------------------------------------------------- /apps/planetfall/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/planetfall/next-env.d.ts -------------------------------------------------------------------------------- /apps/workflows/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/.gitignore -------------------------------------------------------------------------------- /apps/workflows/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/LICENSE -------------------------------------------------------------------------------- /apps/workflows/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/README.md -------------------------------------------------------------------------------- /apps/workflows/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/next-env.d.ts -------------------------------------------------------------------------------- /apps/workflows/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/package.json -------------------------------------------------------------------------------- /apps/workflows/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/src/index.ts -------------------------------------------------------------------------------- /apps/workflows/src/lib/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/src/lib/db.ts -------------------------------------------------------------------------------- /apps/workflows/src/lib/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/src/lib/env.ts -------------------------------------------------------------------------------- /apps/workflows/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/tsconfig.json -------------------------------------------------------------------------------- /apps/workflows/wrangler.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/apps/workflows/wrangler.toml -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/biome.json -------------------------------------------------------------------------------- /buf.gen.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/buf.gen.yaml -------------------------------------------------------------------------------- /buf.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/buf.yaml -------------------------------------------------------------------------------- /checkly.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/checkly.config.ts -------------------------------------------------------------------------------- /deployment/04-seed-workspace.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/04-seed-workspace.sql -------------------------------------------------------------------------------- /deployment/05-seed-chronark.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/05-seed-chronark.sql -------------------------------------------------------------------------------- /deployment/Dockerfile.clickhouse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/Dockerfile.clickhouse -------------------------------------------------------------------------------- /deployment/Dockerfile.mysql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/Dockerfile.mysql -------------------------------------------------------------------------------- /deployment/config/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/config/prometheus.yml -------------------------------------------------------------------------------- /deployment/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/docker-compose.yaml -------------------------------------------------------------------------------- /deployment/init-clickhouse.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/init-clickhouse.sh -------------------------------------------------------------------------------- /deployment/init-databases.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/init-databases.sql -------------------------------------------------------------------------------- /deployment/nginx.apiv2.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/nginx.apiv2.conf -------------------------------------------------------------------------------- /deployment/setup-build-backend.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/setup-build-backend.sh -------------------------------------------------------------------------------- /deployment/setup-wildcard-dns.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/deployment/setup-wildcard-dns.sh -------------------------------------------------------------------------------- /go/.gitignore: -------------------------------------------------------------------------------- 1 | unkey 2 | # Added by goreleaser init: 3 | dist/ 4 | -------------------------------------------------------------------------------- /go/.golangci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/.golangci.yaml -------------------------------------------------------------------------------- /go/.goreleaser.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/.goreleaser.yaml -------------------------------------------------------------------------------- /go/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/Dockerfile -------------------------------------------------------------------------------- /go/Dockerfile.tilt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/Dockerfile.tilt -------------------------------------------------------------------------------- /go/GO_DOCUMENTATION_GUIDELINES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/GO_DOCUMENTATION_GUIDELINES.md -------------------------------------------------------------------------------- /go/K8S_DEVELOPMENT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/K8S_DEVELOPMENT.md -------------------------------------------------------------------------------- /go/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/Makefile -------------------------------------------------------------------------------- /go/Tiltfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/Tiltfile -------------------------------------------------------------------------------- /go/apps/api/cancel_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/cancel_test.go -------------------------------------------------------------------------------- /go/apps/api/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/config.go -------------------------------------------------------------------------------- /go/apps/api/integration/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/integration/README.md -------------------------------------------------------------------------------- /go/apps/api/integration/harness.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/integration/harness.go -------------------------------------------------------------------------------- /go/apps/api/integration/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/integration/http.go -------------------------------------------------------------------------------- /go/apps/api/openapi/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/openapi/README.md -------------------------------------------------------------------------------- /go/apps/api/openapi/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/openapi/config.yaml -------------------------------------------------------------------------------- /go/apps/api/openapi/gen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/openapi/gen.go -------------------------------------------------------------------------------- /go/apps/api/openapi/generate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/openapi/generate.go -------------------------------------------------------------------------------- /go/apps/api/openapi/overlay.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/openapi/overlay.yaml -------------------------------------------------------------------------------- /go/apps/api/openapi/spec.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/openapi/spec.go -------------------------------------------------------------------------------- /go/apps/api/routes/register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/routes/register.go -------------------------------------------------------------------------------- /go/apps/api/routes/services.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/routes/services.go -------------------------------------------------------------------------------- /go/apps/api/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/api/run.go -------------------------------------------------------------------------------- /go/apps/ctrl/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ctrl/.gitignore -------------------------------------------------------------------------------- /go/apps/ctrl/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ctrl/config.go -------------------------------------------------------------------------------- /go/apps/ctrl/middleware/auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ctrl/middleware/auth.go -------------------------------------------------------------------------------- /go/apps/ctrl/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ctrl/run.go -------------------------------------------------------------------------------- /go/apps/ctrl/services/acme/pem.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ctrl/services/acme/pem.go -------------------------------------------------------------------------------- /go/apps/ctrl/services/acme/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ctrl/services/acme/user.go -------------------------------------------------------------------------------- /go/apps/gateway/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/gateway/config.go -------------------------------------------------------------------------------- /go/apps/gateway/routes/register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/gateway/routes/register.go -------------------------------------------------------------------------------- /go/apps/gateway/routes/services.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/gateway/routes/services.go -------------------------------------------------------------------------------- /go/apps/gateway/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/gateway/run.go -------------------------------------------------------------------------------- /go/apps/ingress/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ingress/config.go -------------------------------------------------------------------------------- /go/apps/ingress/routes/register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ingress/routes/register.go -------------------------------------------------------------------------------- /go/apps/ingress/routes/services.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ingress/routes/services.go -------------------------------------------------------------------------------- /go/apps/ingress/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/ingress/run.go -------------------------------------------------------------------------------- /go/apps/krane/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/krane/config.go -------------------------------------------------------------------------------- /go/apps/krane/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/krane/doc.go -------------------------------------------------------------------------------- /go/apps/krane/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/apps/krane/run.go -------------------------------------------------------------------------------- /go/benchmarks/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/benchmarks/README.md -------------------------------------------------------------------------------- /go/benchmarks/keyverify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/benchmarks/keyverify.js -------------------------------------------------------------------------------- /go/benchmarks/ratelimit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/benchmarks/ratelimit.js -------------------------------------------------------------------------------- /go/buf.gen.connect.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/buf.gen.connect.yaml -------------------------------------------------------------------------------- /go/buf.gen.restate.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/buf.gen.restate.yaml -------------------------------------------------------------------------------- /go/buf.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/buf.lock -------------------------------------------------------------------------------- /go/buf.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/buf.yaml -------------------------------------------------------------------------------- /go/cmd/api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/api/main.go -------------------------------------------------------------------------------- /go/cmd/ctrl/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/ctrl/main.go -------------------------------------------------------------------------------- /go/cmd/deploy/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/deploy/config.go -------------------------------------------------------------------------------- /go/cmd/deploy/control_plane.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/deploy/control_plane.go -------------------------------------------------------------------------------- /go/cmd/deploy/init.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/deploy/init.go -------------------------------------------------------------------------------- /go/cmd/deploy/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/deploy/main.go -------------------------------------------------------------------------------- /go/cmd/deploy/ui.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/deploy/ui.go -------------------------------------------------------------------------------- /go/cmd/dev/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/dev/main.go -------------------------------------------------------------------------------- /go/cmd/dev/seed/ingress.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/dev/seed/ingress.go -------------------------------------------------------------------------------- /go/cmd/dev/seed/local.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/dev/seed/local.go -------------------------------------------------------------------------------- /go/cmd/dev/seed/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/dev/seed/run.go -------------------------------------------------------------------------------- /go/cmd/dev/seed/verifications.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/dev/seed/verifications.go -------------------------------------------------------------------------------- /go/cmd/gateway/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/gateway/main.go -------------------------------------------------------------------------------- /go/cmd/healthcheck/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/healthcheck/main.go -------------------------------------------------------------------------------- /go/cmd/ingress/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/ingress/main.go -------------------------------------------------------------------------------- /go/cmd/krane/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/krane/main.go -------------------------------------------------------------------------------- /go/cmd/quotacheck/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/quotacheck/main.go -------------------------------------------------------------------------------- /go/cmd/run/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/run/main.go -------------------------------------------------------------------------------- /go/cmd/version/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/cmd/version/main.go -------------------------------------------------------------------------------- /go/demo_api/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/demo_api/Dockerfile -------------------------------------------------------------------------------- /go/demo_api/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/demo_api/go.mod -------------------------------------------------------------------------------- /go/demo_api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/demo_api/main.go -------------------------------------------------------------------------------- /go/deploy/pkg/tls/PERFORMANCE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/deploy/pkg/tls/PERFORMANCE.md -------------------------------------------------------------------------------- /go/deploy/pkg/tls/provider.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/deploy/pkg/tls/provider.go -------------------------------------------------------------------------------- /go/gen/proto/ctrl/v1/acme.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/gen/proto/ctrl/v1/acme.pb.go -------------------------------------------------------------------------------- /go/gen/proto/ctrl/v1/build.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/gen/proto/ctrl/v1/build.pb.go -------------------------------------------------------------------------------- /go/gen/proto/ctrl/v1/openapi.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/gen/proto/ctrl/v1/openapi.pb.go -------------------------------------------------------------------------------- /go/gen/proto/ctrl/v1/project.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/gen/proto/ctrl/v1/project.pb.go -------------------------------------------------------------------------------- /go/gen/proto/ctrl/v1/service.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/gen/proto/ctrl/v1/service.pb.go -------------------------------------------------------------------------------- /go/gen/proto/vault/v1/object.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/gen/proto/vault/v1/object.pb.go -------------------------------------------------------------------------------- /go/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/go.mod -------------------------------------------------------------------------------- /go/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/go.sum -------------------------------------------------------------------------------- /go/goreleaser.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/goreleaser.Dockerfile -------------------------------------------------------------------------------- /go/internal/services/caches/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/internal/services/caches/doc.go -------------------------------------------------------------------------------- /go/internal/services/caches/op.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/internal/services/caches/op.go -------------------------------------------------------------------------------- /go/internal/services/keys/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/internal/services/keys/doc.go -------------------------------------------------------------------------------- /go/internal/services/keys/get.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/internal/services/keys/get.go -------------------------------------------------------------------------------- /go/k8s/manifests/api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/api.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/clickhouse.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/clickhouse.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/ctrl.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/ctrl.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/dashboard.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/dashboard.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/gw.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/gw.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/krane.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/krane.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/mysql.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/mysql.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/namespace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/namespace.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/planetscale.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/planetscale.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/rbac.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/rbac.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/redis.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/redis.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/restate.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/restate.yaml -------------------------------------------------------------------------------- /go/k8s/manifests/s3.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/k8s/manifests/s3.yaml -------------------------------------------------------------------------------- /go/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/main.go -------------------------------------------------------------------------------- /go/pkg/array/chunk.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/chunk.go -------------------------------------------------------------------------------- /go/pkg/array/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/doc.go -------------------------------------------------------------------------------- /go/pkg/array/fill.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/fill.go -------------------------------------------------------------------------------- /go/pkg/array/fill_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/fill_test.go -------------------------------------------------------------------------------- /go/pkg/array/map.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/map.go -------------------------------------------------------------------------------- /go/pkg/array/map_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/map_test.go -------------------------------------------------------------------------------- /go/pkg/array/random.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/random.go -------------------------------------------------------------------------------- /go/pkg/array/random_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/random_test.go -------------------------------------------------------------------------------- /go/pkg/array/reduce.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/reduce.go -------------------------------------------------------------------------------- /go/pkg/array/reduce_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/array/reduce_test.go -------------------------------------------------------------------------------- /go/pkg/assert/all.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/all.go -------------------------------------------------------------------------------- /go/pkg/assert/all_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/all_test.go -------------------------------------------------------------------------------- /go/pkg/assert/contains.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/contains.go -------------------------------------------------------------------------------- /go/pkg/assert/contains_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/contains_test.go -------------------------------------------------------------------------------- /go/pkg/assert/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/doc.go -------------------------------------------------------------------------------- /go/pkg/assert/empty.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/empty.go -------------------------------------------------------------------------------- /go/pkg/assert/empty_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/empty_test.go -------------------------------------------------------------------------------- /go/pkg/assert/equal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/equal.go -------------------------------------------------------------------------------- /go/pkg/assert/equal_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/equal_test.go -------------------------------------------------------------------------------- /go/pkg/assert/error_codes_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/error_codes_test.go -------------------------------------------------------------------------------- /go/pkg/assert/false.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/false.go -------------------------------------------------------------------------------- /go/pkg/assert/false_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/false_test.go -------------------------------------------------------------------------------- /go/pkg/assert/greater.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/greater.go -------------------------------------------------------------------------------- /go/pkg/assert/greater_or_equal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/greater_or_equal.go -------------------------------------------------------------------------------- /go/pkg/assert/greater_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/greater_test.go -------------------------------------------------------------------------------- /go/pkg/assert/in_range.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/in_range.go -------------------------------------------------------------------------------- /go/pkg/assert/in_range_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/in_range_test.go -------------------------------------------------------------------------------- /go/pkg/assert/less.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/less.go -------------------------------------------------------------------------------- /go/pkg/assert/less_or_equal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/less_or_equal.go -------------------------------------------------------------------------------- /go/pkg/assert/less_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/less_test.go -------------------------------------------------------------------------------- /go/pkg/assert/nil.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/nil.go -------------------------------------------------------------------------------- /go/pkg/assert/nil_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/nil_test.go -------------------------------------------------------------------------------- /go/pkg/assert/not_empty.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_empty.go -------------------------------------------------------------------------------- /go/pkg/assert/not_empty_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_empty_test.go -------------------------------------------------------------------------------- /go/pkg/assert/not_equal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_equal.go -------------------------------------------------------------------------------- /go/pkg/assert/not_equal_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_equal_test.go -------------------------------------------------------------------------------- /go/pkg/assert/not_nil.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_nil.go -------------------------------------------------------------------------------- /go/pkg/assert/not_nil_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_nil_test.go -------------------------------------------------------------------------------- /go/pkg/assert/not_zero.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_zero.go -------------------------------------------------------------------------------- /go/pkg/assert/not_zero_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/not_zero_test.go -------------------------------------------------------------------------------- /go/pkg/assert/some.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/some.go -------------------------------------------------------------------------------- /go/pkg/assert/some_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/some_test.go -------------------------------------------------------------------------------- /go/pkg/assert/true.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/true.go -------------------------------------------------------------------------------- /go/pkg/assert/true_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/assert/true_test.go -------------------------------------------------------------------------------- /go/pkg/attack/attack.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/attack/attack.go -------------------------------------------------------------------------------- /go/pkg/auditlog/actors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/auditlog/actors.go -------------------------------------------------------------------------------- /go/pkg/auditlog/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/auditlog/doc.go -------------------------------------------------------------------------------- /go/pkg/auditlog/events.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/auditlog/events.go -------------------------------------------------------------------------------- /go/pkg/auditlog/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/auditlog/log.go -------------------------------------------------------------------------------- /go/pkg/auditlog/target.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/auditlog/target.go -------------------------------------------------------------------------------- /go/pkg/aws/ecs/private_dns_name.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/aws/ecs/private_dns_name.go -------------------------------------------------------------------------------- /go/pkg/base58/alphabet.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/base58/alphabet.go -------------------------------------------------------------------------------- /go/pkg/base58/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/base58/doc.go -------------------------------------------------------------------------------- /go/pkg/base58/encode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/base58/encode.go -------------------------------------------------------------------------------- /go/pkg/base58/encode_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/base58/encode_test.go -------------------------------------------------------------------------------- /go/pkg/batch/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/batch/doc.go -------------------------------------------------------------------------------- /go/pkg/batch/process.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/batch/process.go -------------------------------------------------------------------------------- /go/pkg/batchrand/batchrand.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/batchrand/batchrand.go -------------------------------------------------------------------------------- /go/pkg/batchrand/batchrand_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/batchrand/batchrand_test.go -------------------------------------------------------------------------------- /go/pkg/buffer/buffer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/buffer/buffer.go -------------------------------------------------------------------------------- /go/pkg/buffer/buffer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/buffer/buffer_test.go -------------------------------------------------------------------------------- /go/pkg/buffer/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/buffer/doc.go -------------------------------------------------------------------------------- /go/pkg/builder/mock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/builder/mock.go -------------------------------------------------------------------------------- /go/pkg/cache/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/cache.go -------------------------------------------------------------------------------- /go/pkg/cache/cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/cache_test.go -------------------------------------------------------------------------------- /go/pkg/cache/clustering/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/clustering/noop.go -------------------------------------------------------------------------------- /go/pkg/cache/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/doc.go -------------------------------------------------------------------------------- /go/pkg/cache/entry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/entry.go -------------------------------------------------------------------------------- /go/pkg/cache/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/interface.go -------------------------------------------------------------------------------- /go/pkg/cache/many_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/many_test.go -------------------------------------------------------------------------------- /go/pkg/cache/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/middleware.go -------------------------------------------------------------------------------- /go/pkg/cache/middleware/tracing.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/middleware/tracing.go -------------------------------------------------------------------------------- /go/pkg/cache/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/noop.go -------------------------------------------------------------------------------- /go/pkg/cache/scoped_key.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/scoped_key.go -------------------------------------------------------------------------------- /go/pkg/cache/simulation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/simulation_test.go -------------------------------------------------------------------------------- /go/pkg/cache/swr_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cache/swr_test.go -------------------------------------------------------------------------------- /go/pkg/circuitbreaker/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/circuitbreaker/doc.go -------------------------------------------------------------------------------- /go/pkg/circuitbreaker/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/circuitbreaker/interface.go -------------------------------------------------------------------------------- /go/pkg/circuitbreaker/lib.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/circuitbreaker/lib.go -------------------------------------------------------------------------------- /go/pkg/circuitbreaker/lib_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/circuitbreaker/lib_test.go -------------------------------------------------------------------------------- /go/pkg/cli/command.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/command.go -------------------------------------------------------------------------------- /go/pkg/cli/docs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/docs.go -------------------------------------------------------------------------------- /go/pkg/cli/docs_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/docs_handler.go -------------------------------------------------------------------------------- /go/pkg/cli/docs_template.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/docs_template.go -------------------------------------------------------------------------------- /go/pkg/cli/flag.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/flag.go -------------------------------------------------------------------------------- /go/pkg/cli/flag_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/flag_test.go -------------------------------------------------------------------------------- /go/pkg/cli/help.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/help.go -------------------------------------------------------------------------------- /go/pkg/cli/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/cli/parser.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/README.md -------------------------------------------------------------------------------- /go/pkg/clickhouse/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/client.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/doc.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/errors.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/errors_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/errors_test.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/flush.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/flush.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/interface.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/noop.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/schema/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/schema/types.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/select.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/select.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/testutil_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/testutil_test.go -------------------------------------------------------------------------------- /go/pkg/clickhouse/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clickhouse/user.go -------------------------------------------------------------------------------- /go/pkg/clock/cached_clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/cached_clock.go -------------------------------------------------------------------------------- /go/pkg/clock/cached_clock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/cached_clock_test.go -------------------------------------------------------------------------------- /go/pkg/clock/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/doc.go -------------------------------------------------------------------------------- /go/pkg/clock/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/interface.go -------------------------------------------------------------------------------- /go/pkg/clock/real_clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/real_clock.go -------------------------------------------------------------------------------- /go/pkg/clock/real_clock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/real_clock_test.go -------------------------------------------------------------------------------- /go/pkg/clock/test_clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/test_clock.go -------------------------------------------------------------------------------- /go/pkg/clock/test_clock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/clock/test_clock_test.go -------------------------------------------------------------------------------- /go/pkg/codes/codes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/codes.go -------------------------------------------------------------------------------- /go/pkg/codes/constants_gen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/constants_gen.go -------------------------------------------------------------------------------- /go/pkg/codes/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/doc.go -------------------------------------------------------------------------------- /go/pkg/codes/generate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/generate.go -------------------------------------------------------------------------------- /go/pkg/codes/generate_run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/generate_run.go -------------------------------------------------------------------------------- /go/pkg/codes/nil.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/nil.go -------------------------------------------------------------------------------- /go/pkg/codes/unkey_application.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/unkey_application.go -------------------------------------------------------------------------------- /go/pkg/codes/unkey_auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/unkey_auth.go -------------------------------------------------------------------------------- /go/pkg/codes/unkey_data.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/unkey_data.go -------------------------------------------------------------------------------- /go/pkg/codes/unkey_gateway.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/unkey_gateway.go -------------------------------------------------------------------------------- /go/pkg/codes/unkey_ingress.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/unkey_ingress.go -------------------------------------------------------------------------------- /go/pkg/codes/user_request.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/codes/user_request.go -------------------------------------------------------------------------------- /go/pkg/counter/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/counter/doc.go -------------------------------------------------------------------------------- /go/pkg/counter/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/counter/interface.go -------------------------------------------------------------------------------- /go/pkg/counter/redis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/counter/redis.go -------------------------------------------------------------------------------- /go/pkg/counter/redis_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/counter/redis_test.go -------------------------------------------------------------------------------- /go/pkg/ctxutil/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/ctxutil/context.go -------------------------------------------------------------------------------- /go/pkg/ctxutil/context_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/ctxutil/context_test.go -------------------------------------------------------------------------------- /go/pkg/ctxutil/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/ctxutil/doc.go -------------------------------------------------------------------------------- /go/pkg/db/NAMING_STANDARDS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/NAMING_STANDARDS.md -------------------------------------------------------------------------------- /go/pkg/db/cached_key_data.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/cached_key_data.go -------------------------------------------------------------------------------- /go/pkg/db/custom_types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/custom_types.go -------------------------------------------------------------------------------- /go/pkg/db/database.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/database.go -------------------------------------------------------------------------------- /go/pkg/db/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/doc.go -------------------------------------------------------------------------------- /go/pkg/db/generate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/generate.go -------------------------------------------------------------------------------- /go/pkg/db/handle_err_deadlock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/handle_err_deadlock.go -------------------------------------------------------------------------------- /go/pkg/db/handle_err_no_rows.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/handle_err_no_rows.go -------------------------------------------------------------------------------- /go/pkg/db/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/interface.go -------------------------------------------------------------------------------- /go/pkg/db/key_data.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/key_data.go -------------------------------------------------------------------------------- /go/pkg/db/key_data_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/key_data_test.go -------------------------------------------------------------------------------- /go/pkg/db/models_generated.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/models_generated.go -------------------------------------------------------------------------------- /go/pkg/db/querier_generated.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/querier_generated.go -------------------------------------------------------------------------------- /go/pkg/db/queries.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/queries.go -------------------------------------------------------------------------------- /go/pkg/db/queries/api_find_by_id.sql: -------------------------------------------------------------------------------- 1 | -- name: FindApiByID :one 2 | SELECT * FROM apis WHERE id = ?; 3 | -------------------------------------------------------------------------------- /go/pkg/db/queries/api_insert.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/queries/api_insert.sql -------------------------------------------------------------------------------- /go/pkg/db/queries/key_insert.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/queries/key_insert.sql -------------------------------------------------------------------------------- /go/pkg/db/queries/key_update.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/queries/key_update.sql -------------------------------------------------------------------------------- /go/pkg/db/queries/quota_upsert.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/queries/quota_upsert.sql -------------------------------------------------------------------------------- /go/pkg/db/queries/role_insert.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/queries/role_insert.sql -------------------------------------------------------------------------------- /go/pkg/db/queries/role_list.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/queries/role_list.sql -------------------------------------------------------------------------------- /go/pkg/db/replica.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/replica.go -------------------------------------------------------------------------------- /go/pkg/db/retry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/retry.go -------------------------------------------------------------------------------- /go/pkg/db/retry_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/retry_test.go -------------------------------------------------------------------------------- /go/pkg/db/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/schema.sql -------------------------------------------------------------------------------- /go/pkg/db/sqlc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/sqlc.json -------------------------------------------------------------------------------- /go/pkg/db/traced_tx.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/traced_tx.go -------------------------------------------------------------------------------- /go/pkg/db/tx.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/tx.go -------------------------------------------------------------------------------- /go/pkg/db/types/null_string.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/db/types/null_string.go -------------------------------------------------------------------------------- /go/pkg/debug/cacheheaders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/debug/cacheheaders.go -------------------------------------------------------------------------------- /go/pkg/debug/cacheheaders_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/debug/cacheheaders_test.go -------------------------------------------------------------------------------- /go/pkg/debug/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/debug/doc.go -------------------------------------------------------------------------------- /go/pkg/debug/header.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/debug/header.go -------------------------------------------------------------------------------- /go/pkg/debug/header_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/debug/header_test.go -------------------------------------------------------------------------------- /go/pkg/encryption/aes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/encryption/aes.go -------------------------------------------------------------------------------- /go/pkg/encryption/aes_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/encryption/aes_test.go -------------------------------------------------------------------------------- /go/pkg/encryption/fuzz_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/encryption/fuzz_test.go -------------------------------------------------------------------------------- /go/pkg/events/topic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/events/topic.go -------------------------------------------------------------------------------- /go/pkg/eventstream/consumer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/eventstream/consumer.go -------------------------------------------------------------------------------- /go/pkg/eventstream/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/eventstream/doc.go -------------------------------------------------------------------------------- /go/pkg/eventstream/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/eventstream/interface.go -------------------------------------------------------------------------------- /go/pkg/eventstream/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/eventstream/noop.go -------------------------------------------------------------------------------- /go/pkg/eventstream/producer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/eventstream/producer.go -------------------------------------------------------------------------------- /go/pkg/eventstream/topic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/eventstream/topic.go -------------------------------------------------------------------------------- /go/pkg/fault/code.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/code.go -------------------------------------------------------------------------------- /go/pkg/fault/code_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/code_test.go -------------------------------------------------------------------------------- /go/pkg/fault/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/doc.go -------------------------------------------------------------------------------- /go/pkg/fault/dst_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/dst_test.go -------------------------------------------------------------------------------- /go/pkg/fault/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/example_test.go -------------------------------------------------------------------------------- /go/pkg/fault/flatten.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/flatten.go -------------------------------------------------------------------------------- /go/pkg/fault/wrap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/wrap.go -------------------------------------------------------------------------------- /go/pkg/fault/wrap_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/wrap_test.go -------------------------------------------------------------------------------- /go/pkg/fault/wrapped.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/wrapped.go -------------------------------------------------------------------------------- /go/pkg/fault/wrapped_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/fault/wrapped_test.go -------------------------------------------------------------------------------- /go/pkg/git/git.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/git/git.go -------------------------------------------------------------------------------- /go/pkg/hash/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/hash/doc.go -------------------------------------------------------------------------------- /go/pkg/hash/sha256.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/hash/sha256.go -------------------------------------------------------------------------------- /go/pkg/hash/sha256_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/hash/sha256_test.go -------------------------------------------------------------------------------- /go/pkg/match/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/match/doc.go -------------------------------------------------------------------------------- /go/pkg/match/wildcard.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/match/wildcard.go -------------------------------------------------------------------------------- /go/pkg/match/wildcard_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/match/wildcard_test.go -------------------------------------------------------------------------------- /go/pkg/otel/grafana.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/grafana.go -------------------------------------------------------------------------------- /go/pkg/otel/logging/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/logging/doc.go -------------------------------------------------------------------------------- /go/pkg/otel/logging/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/logging/interface.go -------------------------------------------------------------------------------- /go/pkg/otel/logging/multi.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/logging/multi.go -------------------------------------------------------------------------------- /go/pkg/otel/logging/noop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/logging/noop.go -------------------------------------------------------------------------------- /go/pkg/otel/logging/slog.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/logging/slog.go -------------------------------------------------------------------------------- /go/pkg/otel/schema.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/schema.go -------------------------------------------------------------------------------- /go/pkg/otel/tracing/trace.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/tracing/trace.go -------------------------------------------------------------------------------- /go/pkg/otel/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/otel/util.go -------------------------------------------------------------------------------- /go/pkg/prefixedapikey/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prefixedapikey/LICENSE -------------------------------------------------------------------------------- /go/pkg/prefixedapikey/cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prefixedapikey/cmd/main.go -------------------------------------------------------------------------------- /go/pkg/prometheus/metrics/batch.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prometheus/metrics/batch.go -------------------------------------------------------------------------------- /go/pkg/prometheus/metrics/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prometheus/metrics/cache.go -------------------------------------------------------------------------------- /go/pkg/prometheus/metrics/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prometheus/metrics/http.go -------------------------------------------------------------------------------- /go/pkg/prometheus/metrics/keys.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prometheus/metrics/keys.go -------------------------------------------------------------------------------- /go/pkg/prometheus/metrics/panic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prometheus/metrics/panic.go -------------------------------------------------------------------------------- /go/pkg/prometheus/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/prometheus/server.go -------------------------------------------------------------------------------- /go/pkg/ptr/deref.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/ptr/deref.go -------------------------------------------------------------------------------- /go/pkg/ptr/pointer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/ptr/pointer.go -------------------------------------------------------------------------------- /go/pkg/rbac/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/doc.go -------------------------------------------------------------------------------- /go/pkg/rbac/integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/integration_test.go -------------------------------------------------------------------------------- /go/pkg/rbac/lexer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/lexer.go -------------------------------------------------------------------------------- /go/pkg/rbac/lexer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/lexer_test.go -------------------------------------------------------------------------------- /go/pkg/rbac/parse_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/parse_test.go -------------------------------------------------------------------------------- /go/pkg/rbac/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/parser.go -------------------------------------------------------------------------------- /go/pkg/rbac/permissions.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/permissions.go -------------------------------------------------------------------------------- /go/pkg/rbac/query.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/query.go -------------------------------------------------------------------------------- /go/pkg/rbac/rbac.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/rbac.go -------------------------------------------------------------------------------- /go/pkg/rbac/rbac_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/rbac/rbac_test.go -------------------------------------------------------------------------------- /go/pkg/repeat/every.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/repeat/every.go -------------------------------------------------------------------------------- /go/pkg/repeat/every_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/repeat/every_test.go -------------------------------------------------------------------------------- /go/pkg/retry/retry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/retry/retry.go -------------------------------------------------------------------------------- /go/pkg/retry/retry_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/retry/retry_test.go -------------------------------------------------------------------------------- /go/pkg/shutdown/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/shutdown/doc.go -------------------------------------------------------------------------------- /go/pkg/shutdown/shutdown.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/shutdown/shutdown.go -------------------------------------------------------------------------------- /go/pkg/shutdown/shutdown_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/shutdown/shutdown_test.go -------------------------------------------------------------------------------- /go/pkg/sim/events.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/sim/events.go -------------------------------------------------------------------------------- /go/pkg/sim/rng.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/sim/rng.go -------------------------------------------------------------------------------- /go/pkg/sim/seed.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/sim/seed.go -------------------------------------------------------------------------------- /go/pkg/sim/sim_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/sim/sim_test.go -------------------------------------------------------------------------------- /go/pkg/sim/simulation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/sim/simulation.go -------------------------------------------------------------------------------- /go/pkg/spiffe/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/spiffe/client.go -------------------------------------------------------------------------------- /go/pkg/system_errors/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/system_errors/errors.go -------------------------------------------------------------------------------- /go/pkg/testutil/containers/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/testutil/containers/doc.go -------------------------------------------------------------------------------- /go/pkg/testutil/flags.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/testutil/flags.go -------------------------------------------------------------------------------- /go/pkg/testutil/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/testutil/http.go -------------------------------------------------------------------------------- /go/pkg/testutil/seed/seed.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/testutil/seed/seed.go -------------------------------------------------------------------------------- /go/pkg/tls/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/tls/doc.go -------------------------------------------------------------------------------- /go/pkg/tls/tls.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/tls/tls.go -------------------------------------------------------------------------------- /go/pkg/tls/tls_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/tls/tls_test.go -------------------------------------------------------------------------------- /go/pkg/uid/benchmark_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/uid/benchmark_test.go -------------------------------------------------------------------------------- /go/pkg/uid/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/uid/doc.go -------------------------------------------------------------------------------- /go/pkg/uid/uid.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/uid/uid.go -------------------------------------------------------------------------------- /go/pkg/uid/uid_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/uid/uid_test.go -------------------------------------------------------------------------------- /go/pkg/urn/resource.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/urn/resource.go -------------------------------------------------------------------------------- /go/pkg/urn/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/urn/service.go -------------------------------------------------------------------------------- /go/pkg/urn/urn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/urn/urn.go -------------------------------------------------------------------------------- /go/pkg/vault/create_dek.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/create_dek.go -------------------------------------------------------------------------------- /go/pkg/vault/decrypt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/decrypt.go -------------------------------------------------------------------------------- /go/pkg/vault/encrypt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/encrypt.go -------------------------------------------------------------------------------- /go/pkg/vault/encrypt_bulk.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/encrypt_bulk.go -------------------------------------------------------------------------------- /go/pkg/vault/keyring/create_key.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/keyring/create_key.go -------------------------------------------------------------------------------- /go/pkg/vault/keyring/get_key.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/keyring/get_key.go -------------------------------------------------------------------------------- /go/pkg/vault/keyring/keyring.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/keyring/keyring.go -------------------------------------------------------------------------------- /go/pkg/vault/keyring/roll_keys.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/keyring/roll_keys.go -------------------------------------------------------------------------------- /go/pkg/vault/keys/key.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/keys/key.go -------------------------------------------------------------------------------- /go/pkg/vault/keys/master_key.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/keys/master_key.go -------------------------------------------------------------------------------- /go/pkg/vault/reencrypt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/reencrypt.go -------------------------------------------------------------------------------- /go/pkg/vault/roll_deks.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/roll_deks.go -------------------------------------------------------------------------------- /go/pkg/vault/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/service.go -------------------------------------------------------------------------------- /go/pkg/vault/storage/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/storage/interface.go -------------------------------------------------------------------------------- /go/pkg/vault/storage/memory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/storage/memory.go -------------------------------------------------------------------------------- /go/pkg/vault/storage/s3.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/vault/storage/s3.go -------------------------------------------------------------------------------- /go/pkg/version/version.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/version/version.go -------------------------------------------------------------------------------- /go/pkg/zen/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/README.md -------------------------------------------------------------------------------- /go/pkg/zen/auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/auth.go -------------------------------------------------------------------------------- /go/pkg/zen/auth_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/auth_test.go -------------------------------------------------------------------------------- /go/pkg/zen/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/context.go -------------------------------------------------------------------------------- /go/pkg/zen/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/doc.go -------------------------------------------------------------------------------- /go/pkg/zen/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/handler.go -------------------------------------------------------------------------------- /go/pkg/zen/instance.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/instance.go -------------------------------------------------------------------------------- /go/pkg/zen/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/middleware.go -------------------------------------------------------------------------------- /go/pkg/zen/middleware_errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/middleware_errors.go -------------------------------------------------------------------------------- /go/pkg/zen/middleware_logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/middleware_logger.go -------------------------------------------------------------------------------- /go/pkg/zen/middleware_metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/middleware_metrics.go -------------------------------------------------------------------------------- /go/pkg/zen/middleware_timeout.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/middleware_timeout.go -------------------------------------------------------------------------------- /go/pkg/zen/request_util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/request_util.go -------------------------------------------------------------------------------- /go/pkg/zen/route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/route.go -------------------------------------------------------------------------------- /go/pkg/zen/route_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/route_test.go -------------------------------------------------------------------------------- /go/pkg/zen/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/server.go -------------------------------------------------------------------------------- /go/pkg/zen/server_tls_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/server_tls_test.go -------------------------------------------------------------------------------- /go/pkg/zen/session.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/session.go -------------------------------------------------------------------------------- /go/pkg/zen/validation/validator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/validation/validator.go -------------------------------------------------------------------------------- /go/pkg/zen/writer_error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/writer_error.go -------------------------------------------------------------------------------- /go/pkg/zen/writer_status.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/pkg/zen/writer_status.go -------------------------------------------------------------------------------- /go/proto/ctrl/v1/acme.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/ctrl/v1/acme.proto -------------------------------------------------------------------------------- /go/proto/ctrl/v1/build.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/ctrl/v1/build.proto -------------------------------------------------------------------------------- /go/proto/ctrl/v1/deployment.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/ctrl/v1/deployment.proto -------------------------------------------------------------------------------- /go/proto/ctrl/v1/environment.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/ctrl/v1/environment.proto -------------------------------------------------------------------------------- /go/proto/ctrl/v1/openapi.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/ctrl/v1/openapi.proto -------------------------------------------------------------------------------- /go/proto/ctrl/v1/project.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/ctrl/v1/project.proto -------------------------------------------------------------------------------- /go/proto/ctrl/v1/service.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/ctrl/v1/service.proto -------------------------------------------------------------------------------- /go/proto/hydra/v1/deployment.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/hydra/v1/deployment.proto -------------------------------------------------------------------------------- /go/proto/hydra/v1/project.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/hydra/v1/project.proto -------------------------------------------------------------------------------- /go/proto/hydra/v1/routing.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/hydra/v1/routing.proto -------------------------------------------------------------------------------- /go/proto/krane/v1/deployment.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/krane/v1/deployment.proto -------------------------------------------------------------------------------- /go/proto/krane/v1/gateway.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/krane/v1/gateway.proto -------------------------------------------------------------------------------- /go/proto/vault/v1/object.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/vault/v1/object.proto -------------------------------------------------------------------------------- /go/proto/vault/v1/service.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/proto/vault/v1/service.proto -------------------------------------------------------------------------------- /go/schema.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/schema.json -------------------------------------------------------------------------------- /go/scripts/shard-test/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/scripts/shard-test/main.go -------------------------------------------------------------------------------- /go/test-docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/test-docker/Dockerfile -------------------------------------------------------------------------------- /go/tools/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/tools/README.md -------------------------------------------------------------------------------- /go/tools/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/tools/go.mod -------------------------------------------------------------------------------- /go/tools/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/go/tools/go.sum -------------------------------------------------------------------------------- /internal/billing/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/billing/package.json -------------------------------------------------------------------------------- /internal/billing/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/billing/src/index.ts -------------------------------------------------------------------------------- /internal/billing/src/quota.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/billing/src/quota.ts -------------------------------------------------------------------------------- /internal/billing/src/tiers.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/billing/src/tiers.test.ts -------------------------------------------------------------------------------- /internal/billing/src/tiers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/billing/src/tiers.ts -------------------------------------------------------------------------------- /internal/billing/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/billing/tsconfig.json -------------------------------------------------------------------------------- /internal/billing/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/billing/vitest.config.ts -------------------------------------------------------------------------------- /internal/checkly/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store -------------------------------------------------------------------------------- /internal/checkly/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/checkly/README.md -------------------------------------------------------------------------------- /internal/checkly/checkly.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/checkly/checkly.config.ts -------------------------------------------------------------------------------- /internal/checkly/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/checkly/package.json -------------------------------------------------------------------------------- /internal/checkly/src/locations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/checkly/src/locations.ts -------------------------------------------------------------------------------- /internal/clickhouse/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/clickhouse/package.json -------------------------------------------------------------------------------- /internal/clickhouse/src/billing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/clickhouse/src/billing.ts -------------------------------------------------------------------------------- /internal/clickhouse/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/clickhouse/src/index.ts -------------------------------------------------------------------------------- /internal/clickhouse/src/logs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/clickhouse/src/logs.ts -------------------------------------------------------------------------------- /internal/clickhouse/src/success.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/clickhouse/src/success.ts -------------------------------------------------------------------------------- /internal/clickhouse/src/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/clickhouse/src/util.ts -------------------------------------------------------------------------------- /internal/db/drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/drizzle.config.ts -------------------------------------------------------------------------------- /internal/db/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/package.json -------------------------------------------------------------------------------- /internal/db/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/index.ts -------------------------------------------------------------------------------- /internal/db/src/schema/apis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/apis.ts -------------------------------------------------------------------------------- /internal/db/src/schema/gateways.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/gateways.ts -------------------------------------------------------------------------------- /internal/db/src/schema/identity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/identity.ts -------------------------------------------------------------------------------- /internal/db/src/schema/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/index.ts -------------------------------------------------------------------------------- /internal/db/src/schema/keyAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/keyAuth.ts -------------------------------------------------------------------------------- /internal/db/src/schema/keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/keys.ts -------------------------------------------------------------------------------- /internal/db/src/schema/projects.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/projects.ts -------------------------------------------------------------------------------- /internal/db/src/schema/quota.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/quota.ts -------------------------------------------------------------------------------- /internal/db/src/schema/rbac.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/schema/rbac.ts -------------------------------------------------------------------------------- /internal/db/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/src/types.ts -------------------------------------------------------------------------------- /internal/db/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/db/tsconfig.json -------------------------------------------------------------------------------- /internal/encoding/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encoding/package.json -------------------------------------------------------------------------------- /internal/encoding/src/base64.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encoding/src/base64.ts -------------------------------------------------------------------------------- /internal/encoding/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./base64"; 2 | -------------------------------------------------------------------------------- /internal/encoding/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encoding/tsconfig.json -------------------------------------------------------------------------------- /internal/encoding/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encoding/vitest.config.ts -------------------------------------------------------------------------------- /internal/encryption/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encryption/package.json -------------------------------------------------------------------------------- /internal/encryption/src/aes-gcm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encryption/src/aes-gcm.ts -------------------------------------------------------------------------------- /internal/encryption/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encryption/src/index.ts -------------------------------------------------------------------------------- /internal/encryption/src/key.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encryption/src/key.ts -------------------------------------------------------------------------------- /internal/encryption/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/encryption/tsconfig.json -------------------------------------------------------------------------------- /internal/error/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/error/CHANGELOG.md -------------------------------------------------------------------------------- /internal/error/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/error/LICENSE.md -------------------------------------------------------------------------------- /internal/error/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/error/package.json -------------------------------------------------------------------------------- /internal/error/src/errors/base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/error/src/errors/base.ts -------------------------------------------------------------------------------- /internal/error/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/error/src/index.ts -------------------------------------------------------------------------------- /internal/error/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/error/tsconfig.json -------------------------------------------------------------------------------- /internal/events/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/events/package.json -------------------------------------------------------------------------------- /internal/events/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/events/src/index.ts -------------------------------------------------------------------------------- /internal/events/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/events/tsconfig.json -------------------------------------------------------------------------------- /internal/hash/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/hash/package.json -------------------------------------------------------------------------------- /internal/hash/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./sha256"; 2 | -------------------------------------------------------------------------------- /internal/hash/src/sha256.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/hash/src/sha256.test.ts -------------------------------------------------------------------------------- /internal/hash/src/sha256.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/hash/src/sha256.ts -------------------------------------------------------------------------------- /internal/hash/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/hash/tsconfig.json -------------------------------------------------------------------------------- /internal/hash/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/hash/vitest.config.ts -------------------------------------------------------------------------------- /internal/icons/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/LICENSE -------------------------------------------------------------------------------- /internal/icons/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/package.json -------------------------------------------------------------------------------- /internal/icons/src/Readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/Readme.txt -------------------------------------------------------------------------------- /internal/icons/src/icons/ban.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/ban.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/bolt.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/bolt.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/chats.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/chats.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/check.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/check.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/clock.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/clock.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/clone.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/clone.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/cloud.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/cloud.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/code.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/code.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/coins.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/coins.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/cube.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/cube.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/dots.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/dots.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/earth.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/earth.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/eye.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/eye.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/focus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/focus.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/gauge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/gauge.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/gear.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/gear.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/grid.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/grid.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/heart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/heart.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/key-2.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/key-2.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/key.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/key.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/lock.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/lock.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/minus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/minus.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/nodes.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/nodes.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/nut.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/nut.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/plus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/plus.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/pulse.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/pulse.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/sun.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/sun.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/tag.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/tag.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/trash.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/trash.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/ufo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/ufo.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/user.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/user.tsx -------------------------------------------------------------------------------- /internal/icons/src/icons/xmark.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/icons/xmark.tsx -------------------------------------------------------------------------------- /internal/icons/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/index.ts -------------------------------------------------------------------------------- /internal/icons/src/props.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/props.ts -------------------------------------------------------------------------------- /internal/icons/src/template.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/icons/src/template.tsx -------------------------------------------------------------------------------- /internal/id/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/id/package.json -------------------------------------------------------------------------------- /internal/id/src/generate.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/id/src/generate.test.ts -------------------------------------------------------------------------------- /internal/id/src/generate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/id/src/generate.ts -------------------------------------------------------------------------------- /internal/id/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./generate"; 2 | -------------------------------------------------------------------------------- /internal/id/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/id/tsconfig.json -------------------------------------------------------------------------------- /internal/id/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/id/vitest.config.ts -------------------------------------------------------------------------------- /internal/keys/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/keys/package.json -------------------------------------------------------------------------------- /internal/keys/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/keys/src/index.ts -------------------------------------------------------------------------------- /internal/keys/src/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/keys/src/util.ts -------------------------------------------------------------------------------- /internal/keys/src/v1.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/keys/src/v1.test.ts -------------------------------------------------------------------------------- /internal/keys/src/v1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/keys/src/v1.ts -------------------------------------------------------------------------------- /internal/keys/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/keys/tsconfig.json -------------------------------------------------------------------------------- /internal/keys/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/keys/vitest.config.ts -------------------------------------------------------------------------------- /internal/logs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/logs/package.json -------------------------------------------------------------------------------- /internal/logs/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/logs/src/index.ts -------------------------------------------------------------------------------- /internal/logs/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/logs/tsconfig.json -------------------------------------------------------------------------------- /internal/metrics/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/metrics/package.json -------------------------------------------------------------------------------- /internal/metrics/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/metrics/src/index.ts -------------------------------------------------------------------------------- /internal/metrics/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/metrics/tsconfig.json -------------------------------------------------------------------------------- /internal/proto/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/proto/package.json -------------------------------------------------------------------------------- /internal/rbac/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/CHANGELOG.md -------------------------------------------------------------------------------- /internal/rbac/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/LICENSE.md -------------------------------------------------------------------------------- /internal/rbac/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/package.json -------------------------------------------------------------------------------- /internal/rbac/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/src/index.ts -------------------------------------------------------------------------------- /internal/rbac/src/permissions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/src/permissions.ts -------------------------------------------------------------------------------- /internal/rbac/src/queries.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/src/queries.test.ts -------------------------------------------------------------------------------- /internal/rbac/src/queries.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/src/queries.ts -------------------------------------------------------------------------------- /internal/rbac/src/rbac.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/src/rbac.test.ts -------------------------------------------------------------------------------- /internal/rbac/src/rbac.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/src/rbac.ts -------------------------------------------------------------------------------- /internal/rbac/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/src/types.ts -------------------------------------------------------------------------------- /internal/rbac/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/rbac/tsconfig.json -------------------------------------------------------------------------------- /internal/resend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/resend/package.json -------------------------------------------------------------------------------- /internal/resend/src/client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/resend/src/client.tsx -------------------------------------------------------------------------------- /internal/resend/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./client"; 2 | -------------------------------------------------------------------------------- /internal/resend/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/resend/tailwind.config.ts -------------------------------------------------------------------------------- /internal/resend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/resend/tsconfig.json -------------------------------------------------------------------------------- /internal/resend/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/resend/vitest.config.ts -------------------------------------------------------------------------------- /internal/schema/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/schema/package.json -------------------------------------------------------------------------------- /internal/schema/src/auditlog.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/schema/src/auditlog.ts -------------------------------------------------------------------------------- /internal/schema/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/schema/tsconfig.json -------------------------------------------------------------------------------- /internal/tsconfig/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/tsconfig/README.md -------------------------------------------------------------------------------- /internal/tsconfig/base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/tsconfig/base.json -------------------------------------------------------------------------------- /internal/tsconfig/nextjs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/tsconfig/nextjs.json -------------------------------------------------------------------------------- /internal/tsconfig/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/tsconfig/package.json -------------------------------------------------------------------------------- /internal/ui/colors.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/colors.css -------------------------------------------------------------------------------- /internal/ui/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/components.json -------------------------------------------------------------------------------- /internal/ui/css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/css.ts -------------------------------------------------------------------------------- /internal/ui/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/package.json -------------------------------------------------------------------------------- /internal/ui/src/components/id.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/src/components/id.tsx -------------------------------------------------------------------------------- /internal/ui/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/src/index.ts -------------------------------------------------------------------------------- /internal/ui/src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/src/lib/utils.ts -------------------------------------------------------------------------------- /internal/ui/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/tailwind.config.js -------------------------------------------------------------------------------- /internal/ui/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/ui/tsconfig.json -------------------------------------------------------------------------------- /internal/validation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/validation/README.md -------------------------------------------------------------------------------- /internal/validation/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/validation/package.json -------------------------------------------------------------------------------- /internal/validation/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/validation/src/index.ts -------------------------------------------------------------------------------- /internal/validation/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/validation/tsconfig.json -------------------------------------------------------------------------------- /internal/vault/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/vault/package.json -------------------------------------------------------------------------------- /internal/vault/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/vault/src/index.ts -------------------------------------------------------------------------------- /internal/vercel/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/vercel/package.json -------------------------------------------------------------------------------- /internal/vercel/src/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/vercel/src/client.ts -------------------------------------------------------------------------------- /internal/vercel/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./client"; 2 | -------------------------------------------------------------------------------- /internal/vercel/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/internal/vercel/tsconfig.json -------------------------------------------------------------------------------- /knip.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/knip.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /tools/artillery/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/.dockerignore -------------------------------------------------------------------------------- /tools/artillery/.gitignore: -------------------------------------------------------------------------------- 1 | .keys.csv -------------------------------------------------------------------------------- /tools/artillery/.identifiers.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/.identifiers.csv -------------------------------------------------------------------------------- /tools/artillery/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/Dockerfile -------------------------------------------------------------------------------- /tools/artillery/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/README.md -------------------------------------------------------------------------------- /tools/artillery/aws.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/aws.yaml -------------------------------------------------------------------------------- /tools/artillery/create-keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/create-keys.ts -------------------------------------------------------------------------------- /tools/artillery/fly.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/fly.toml -------------------------------------------------------------------------------- /tools/artillery/leak.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/leak.yaml -------------------------------------------------------------------------------- /tools/artillery/llm.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/llm.yaml -------------------------------------------------------------------------------- /tools/artillery/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/main.ts -------------------------------------------------------------------------------- /tools/artillery/prompts.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/prompts.csv -------------------------------------------------------------------------------- /tools/artillery/r53.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/r53.yaml -------------------------------------------------------------------------------- /tools/artillery/run.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/run.bash -------------------------------------------------------------------------------- /tools/artillery/server.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/server.yaml -------------------------------------------------------------------------------- /tools/artillery/timeout.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/artillery/timeout.yaml -------------------------------------------------------------------------------- /tools/gha-fetch-digest/.gitignore: -------------------------------------------------------------------------------- 1 | gha-fetch-digest 2 | -------------------------------------------------------------------------------- /tools/gha-fetch-digest/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/gha-fetch-digest/Makefile -------------------------------------------------------------------------------- /tools/gha-fetch-digest/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/gha-fetch-digest/README.md -------------------------------------------------------------------------------- /tools/gha-fetch-digest/cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/gha-fetch-digest/cmd/main.go -------------------------------------------------------------------------------- /tools/gha-fetch-digest/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/gha-fetch-digest/go.mod -------------------------------------------------------------------------------- /tools/gha-fetch-digest/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/gha-fetch-digest/go.sum -------------------------------------------------------------------------------- /tools/k6/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/k6/Makefile -------------------------------------------------------------------------------- /tools/k6/load.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/k6/load.js -------------------------------------------------------------------------------- /tools/k6/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/k6/package.json -------------------------------------------------------------------------------- /tools/local/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/README.md -------------------------------------------------------------------------------- /tools/local/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/package.json -------------------------------------------------------------------------------- /tools/local/src/cmd/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/cmd/api.ts -------------------------------------------------------------------------------- /tools/local/src/cmd/dashboard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/cmd/dashboard.ts -------------------------------------------------------------------------------- /tools/local/src/cmd/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/cmd/seed.ts -------------------------------------------------------------------------------- /tools/local/src/cmd/seed/apis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/cmd/seed/apis.ts -------------------------------------------------------------------------------- /tools/local/src/cmd/seed/logs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/cmd/seed/logs.ts -------------------------------------------------------------------------------- /tools/local/src/cmd/seed/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/cmd/seed/utils.ts -------------------------------------------------------------------------------- /tools/local/src/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/db.ts -------------------------------------------------------------------------------- /tools/local/src/docker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/docker.ts -------------------------------------------------------------------------------- /tools/local/src/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/env.ts -------------------------------------------------------------------------------- /tools/local/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/main.ts -------------------------------------------------------------------------------- /tools/local/src/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/seed.ts -------------------------------------------------------------------------------- /tools/local/src/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/src/util.ts -------------------------------------------------------------------------------- /tools/local/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/local/tsconfig.json -------------------------------------------------------------------------------- /tools/migrate/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/.env.example -------------------------------------------------------------------------------- /tools/migrate/auditlog-import.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/auditlog-import.ts -------------------------------------------------------------------------------- /tools/migrate/axiom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/axiom.ts -------------------------------------------------------------------------------- /tools/migrate/ch_copy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/ch_copy.ts -------------------------------------------------------------------------------- /tools/migrate/ch_logs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/ch_logs.ts -------------------------------------------------------------------------------- /tools/migrate/debug_billing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/debug_billing.ts -------------------------------------------------------------------------------- /tools/migrate/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/package.json -------------------------------------------------------------------------------- /tools/migrate/ratelimit-migrate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/ratelimit-migrate.ts -------------------------------------------------------------------------------- /tools/migrate/refill-migrate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/refill-migrate.ts -------------------------------------------------------------------------------- /tools/migrate/seed_quotas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/seed_quotas.ts -------------------------------------------------------------------------------- /tools/migrate/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/stripe.ts -------------------------------------------------------------------------------- /tools/migrate/timestamps.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/timestamps.sql -------------------------------------------------------------------------------- /tools/migrate/tinybird-export.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/tinybird-export.ts -------------------------------------------------------------------------------- /tools/migrate/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/tsconfig.json -------------------------------------------------------------------------------- /tools/migrate/v1_deprecation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/tools/migrate/v1_deprecation.ts -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/turbo.json -------------------------------------------------------------------------------- /vitest.workspace.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unkeyed/unkey/HEAD/vitest.workspace.json --------------------------------------------------------------------------------