# Run API + Registry locally ## Registry `config.secret.json` ```diff 35 ⋮ │ "PG_DATABASE": "postgres://localhost:5432/snykregistry", ⋮ 35 │ "PG_DATABASE": "postgres://postgres:b57ddf9396c64639@localhost:5432/snykregistry", 96 ⋮ 96 │ "AUTHORIZATION_SERVICE": { 97 ⋮ │ "secret": "ZGVmYXVsdC1zaGFyZWQtc2VjcmV0Cg==" ⋮ 97 │ "secret": "CKz+PmQNRcncxS/VQUzJyNS8y6I/LE2YLeaN8VfybzE=" 98 ⋮ 98 │ } ``` `config.local.json` ```json { "REGISTRY_WORKER_INTERNAL_HOST": "http://localhost:8000", "GITHUB_AGENT_URL": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@github-agent.dev.snyk.io", "//* GITHUB_AGENT_URL": "http://localhost:27000", "CSV_SERVICE": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@csv-service.dev.snyk.io", "//* CSV_SERVICE": "http://localhost:26000", "REPORTING": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@reporting.dev.snyk.io", "//* REPORTING": "http://localhost:25000", "PG_DATABASE": "postgres://postgres:b57ddf9396c64639@localhost:5432/snykregistry", "REDIS_CACHE_URL": "redis://localhost/", "IMPORT_REDIS_URL": "redis://localhost/5", "REDIS_AGENTS_CLIENT_URL": "redis://localhost/2", "PROJECT_RECURRING_TEST_JOBS": { "redisCacheUrl": "redis://localhost/4" }, "INTERNAL_API": { "enabled": true, "secret": "CKz+PmQNRcncxS/VQUzJyNS8y6I/LE2YLeaN8VfybzE=" }, "GLOBAL_SOURCES": { "gitlab": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@gitlab-agent.dev.snyk.io", "//* uri": "http://localhost:26000" }, "aws-lambda": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@aws-lambda-agent.dev.snyk.io", "//* uri": "http://localhost:19000" }, "azure-functions": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@azure-functions-agent.dev.snyk.io" }, "azure-repos": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@azure-repos-agent.dev.snyk.io" }, "bitbucket-server": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@bitbucket-server-agent.dev.snyk.io", "//* uri": "http://localhost:22000" }, "bitbucket-cloud": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@bitbucket-cloud-agent.dev.snyk.io" }, "github-enterprise": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@ghe-agent.dev.snyk.io" }, "cloud-foundry": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@loud-foundry-agent.dev.snyk.io" }, "pivotal": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@pivotal-agent.dev.snyk.io" }, "ibm-cloud": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@bluemix-agent.dev.snyk.io" }, "docker-hub": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@docker-registry-agent.dev.snyk.io" }, "ecr": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@docker-registry-agent.dev.snyk.io" }, "acr": { "uri": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@docker-registry-agent.dev.snyk.io" } }, "PACKAGE_ORACLE": { "url": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@package-oracle.dev.snyk.io", "//* url": "http://localhost:24000" }, "//* GO_DEPS_URL": "http://localhost:17300", "PHOENIX": { "url": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@phoenix.dev.snyk.io", "//* url": "http://localhost:9000", "reqTimeoutMs": 300000, "reqRetries": 3, "reqRetrySleepMs": 500 }, "DEEPCODE": { "newUrl": "https://api.deepcoded.com", "endpoint": "https://${SNYK_INTERNAL_PROXY_CREDENTIALS}@code-infra-codeapi.dev.snyk.io" }, "AUTHENTICATION_SERVICE": { "hostname": "http://localhost:3846" }, "SALESFORCE": { "enabled": false }, "AUTH0_MANAGEMENT": { "domain": "snyk-local.auth0.com", "clientId": "cWAMuBvjPEeJb8YjpBXIpxbs1HR63N3N", "clientSecret": "<Redacted, Go get it from https://manage.auth0.com/dashboard/us/snyk-local/applications/cWAMuBvjPEeJb8YjpBXIpxbs1HR63N3N/settings>", "audience": "https://snyk-local.auth0.com/api/v2/", "registryAppClientId": "LCfhHqdB3ZGZzbulGREt6EqhSjNopmXn", "enabledConnectionClients": [ "LCfhHqdB3ZGZzbulGREt6EqhSjNopmXn" ] }, "LOGGING": { "name": "dev-registry", "level": "debug", "requests": true, "muteKeys": [], "sensitiveKeys": [] }, "AUTHORIZATION_SERVICE": { "enabled": true, "secret": "CKz+PmQNRcncxS/VQUzJyNS8y6I/LE2YLeaN8VfybzE=" }, "API_GATEWAY_VERIFICATION_KEYS": { "ea2f9fee-a5ef-4676-ab05-b3d4cfbc318f": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqAe+5dlyxMKeK05RqFOP\nrT/JsVom/niWHd8Qmj7xDJg0Cpv5jjFumR6TAU/JVxV7YApylE1npqE3R6wfavhF\nmPeK8nx3NnpSsMk31baSr1h+VhhZlX9EhdtOacPv3MzmChqqarMMaH6AjPUkIaAe\nhE9g6pORfqALlfpazcnAJyPfNcZB9KpCNdWdPhbTElfhfICtHY1VRVc/KDd4Pua7\nsQuLxBCSgIWvKkRrDAkb/ERhNScFEOK8SRtNMyPm7iQc4cral9+DJEDleErUwqGF\nsaEk61YuySLUfi1PmKx9Oc5UNEWEX0XPSLTlACmsqmbguXOGuctHwjzJIVTCON67\naQIDAQAB\n-----END PUBLIC KEY-----" } } ``` # Cloud API config.dev.json ``` { "listenAddr": ":8080", "useOpenAPIValidator": false, "orgAPI": { "baseUrl": "http://host.docker.internal:8000/api/internal", "version": "2022-02-11~experimental" }, "migrationsPath": "/migrations", "postgresDbUrl": "postgres://postgres:b57ddf9396c64639@host.docker.internal:5432/cloud?sslmode=disable" } ``` docker-compose-db.yaml ``` version: "3.1" services: postgres_db: container_name: postgres_db build: context: . dockerfile: Dockerfile.db environment: POSTGRES_USER: ${CLOUD_DB_ROOT_USERNAME} POSTGRES_PASSWORD: ${CLOUD_DB_ROOT_PASSWORD} POSTGRES_DB: ${CLOUD_DB_NAME} ports: - 5432:5432 command: -c ssl=on -c ssl_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem -c ssl_key_file=/etc/ssl/private/ssl-cert-snakeoil.key volumes: - ./volumes/postgresql:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U ${CLOUD_DB_ROOT_USERNAME}"] interval: 5s timeout: 5s retries: 12 redis: image: redis:alpine3.16 ports: - 6379:6379 volumes: - ./volumes/redis:/data ``` helm/values/local.yaml ``` polaris-ingress: enabled: false postgres: enabled: false polarisPostgres: enabled: false cerberus: config: logger: level: trace output: pretty filters: request: authz: client: baseUrl: "http://host.docker.internal:8000/api/internal/authz" tokenPath: "/etc/secrets/authorization-service-secret" tokenType: "Bearer" version: "2021-07-19~experimental" ```