sources: - name: okuna handler: graphql: endpoint: '{env.OKUNA_URL}' operationHeaders: Accept-Language: "{context.headers['accept-language']}" sentry-trace: "{context.headers['sentry-trace']}" X-Holi-User-ID: "{context.headers['x-holi-user-id']}" X-Holi-User-Email: "{context.headers['x-holi-user-email']}" X-Disable-Sentry: "{context.headers['x-disable-sentry']}" - name: app-donations handler: graphql: endpoint: '{env.DONATIONS_API_URL}' operationHeaders: Accept-Language: "{context.headers['accept-language']}" sentry-trace: "{context.headers['sentry-trace']}" transforms: # Prefix for types - prefix: mode: wrap value: AppDonations_ includeRootOperations: false includeTypes: true # Prefix for operations - prefix: mode: wrap value: appDonations_ includeRootOperations: true includeTypes: false - name: app-goodnews handler: graphql: endpoint: '{env.GOODNEWS_API_URL}' operationHeaders: Accept-Language: "{context.headers['accept-language']}" sentry-trace: "{context.headers['sentry-trace']}" transforms: # Prefix for types - prefix: mode: wrap value: AppGoodNews_ includeRootOperations: false includeTypes: true # Prefix for operations - prefix: mode: wrap value: appGoodNews_ includeRootOperations: true includeTypes: false - name: app-volunteering handler: graphql: endpoint: '{env.VOLUNTEERING_API_URL}' operationHeaders: Accept-Language: "{context.headers['accept-language']}" sentry-trace: "{context.headers['sentry-trace']}" transforms: # Prefix for types - prefix: mode: wrap value: AppVolunteering_ includeRootOperations: false includeTypes: true # Prefix for operations - prefix: mode: wrap value: appVolunteering_ includeRootOperations: true includeTypes: false - name: geo handler: graphql: endpoint: '{env.GEO_API_URL}' operationHeaders: Accept-Language: "{context.headers['accept-language']}" sentry-trace: "{context.headers['sentry-trace']}" transforms: # Prefix for types - prefix: mode: wrap value: Geo_ includeRootOperations: false includeTypes: true # Prefix for operations - prefix: mode: wrap value: geo_ includeRootOperations: true includeTypes: false logger: './logger' cache: redis: host: '{env.REDIS_HOST}' port: '{env.REDIS_PORT}' password: '{env.REDIS_PASSWORD}' url: 'redis://:{env.REDIS_PASSWORD}@{env.REDIS_HOST}:{env.REDIS_PORT}/{env.REDIS_DB}' plugins: - responseCache: cacheKey: "{operationName}-{documentString|hash}-{variableValues.offset}-{variableValues.limit}-{variableValues.geolocation.properties.name}-{variableValues.topicIds|hash}-{variableValues.skillIds|hash}" ttl: 0 ttlPerCoordinate: # cache operation containing Query.discoverSpaces selection for 10 minutes - coordinate: Query.discoverSpaces ttl: 600000 serve: browser: false