fix: fix dns lookup for dnsrr

This commit is contained in:
tdurieux
2024-04-05 14:48:40 +01:00
parent de56021e48
commit 80101f83aa
4 changed files with 18 additions and 3 deletions

View File

@@ -24,7 +24,7 @@ services:
interval: 10s
timeout: 10s
retries: 5
links:
depends_on:
- mongodb
- redis
- streamer
@@ -34,9 +34,9 @@ services:
restart: always
image: tdurieux/anonymous_github:v2
deploy:
mode: replicated
qmode: replicated
replicas: 4
endpoint_mode: vip
endpoint_mode: dnsrr
entrypoint: ["node", "./build/streamer/index.js"]
env_file:
- ./.env

1
package-lock.json generated
View File

@@ -25,6 +25,7 @@
"@smithy/node-http-handler": "^2.5.0",
"archiver": "^5.3.2",
"bullmq": "^2.4.0",
"cacheable-lookup": "^5.0.3",
"compression": "^1.7.4",
"connect-redis": "^7.0.1",
"crypto-js": "^4.2.0",

View File

@@ -46,6 +46,7 @@
"@smithy/node-http-handler": "^2.5.0",
"archiver": "^5.3.2",
"bullmq": "^2.4.0",
"cacheable-lookup": "^5.0.3",
"compression": "^1.7.4",
"connect-redis": "^7.0.1",
"crypto-js": "^4.2.0",

View File

@@ -3,6 +3,7 @@ import { Response } from "express";
import { Readable } from "stream";
import { trace } from "@opentelemetry/api";
import { lookup } from "mime-types";
import CacheableLookup from "cacheable-lookup";
import Repository from "./Repository";
import { RepositoryStatus, Tree, TreeElement, TreeFile } from "./types";
@@ -227,9 +228,16 @@ export default class AnonymizedFile {
span.end();
});
}
const cacheableLookup = new CacheableLookup();
const ipHost = await cacheableLookup.lookupAsync("streamer");
// use the streamer service
return got.stream(join(config.STREAMER_ENTRYPOINT, "api"), {
method: "POST",
lookup: cacheableLookup.lookup,
host: ipHost.address,
dnsCache: cacheableLookup,
json: {
token: await this.repository.getToken(),
repoFullName: this.repository.model.source.repositoryName,
@@ -274,9 +282,14 @@ export default class AnonymizedFile {
this.sha(),
this.repository.getToken(),
]);
const cacheableLookup = new CacheableLookup();
const ipHost = await cacheableLookup.lookupAsync("streamer");
got
.stream(join(config.STREAMER_ENTRYPOINT, "api"), {
method: "POST",
lookup: cacheableLookup.lookup,
host: ipHost.address,
dnsCache: cacheableLookup,
json: {
sha,
token,