Skip to content

Commit 8b65a1d

Browse files
Fix fallback tokens (#242)
1 parent c892268 commit 8b65a1d

File tree

5 files changed

+35
-10
lines changed

5 files changed

+35
-10
lines changed

.env.development

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ SOURCEBOT_LOG_LEVEL="debug" # valid values: info, debug, warn, error
6161
SOURCEBOT_TELEMETRY_DISABLED=true # Disables telemetry collection
6262

6363
# Code-host fallback tokens
64-
# FALLBACK_GITHUB_TOKEN=""
65-
# FALLBACK_GITLAB_TOKEN=""
66-
# FALLBACK_GITEA_TOKEN=""
64+
# FALLBACK_GITHUB_CLOUD_TOKEN=""
65+
# FALLBACK_GITLAB_CLOUD_TOKEN=""
66+
# FALLBACK_GITEA_CLOUD_TOKEN=""
6767

6868
# Controls the number of concurrent indexing jobs that can run at once
6969
# INDEX_CONCURRENCY_MULTIPLE=

packages/backend/src/env.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ export const env = createEnv({
2929

3030
POSTHOG_PAPIK: z.string().optional(),
3131

32-
FALLBACK_GITHUB_TOKEN: z.string().optional(),
33-
FALLBACK_GITLAB_TOKEN: z.string().optional(),
34-
FALLBACK_GITEA_TOKEN: z.string().optional(),
32+
FALLBACK_GITHUB_CLOUD_TOKEN: z.string().optional(),
33+
FALLBACK_GITLAB_CLOUD_TOKEN: z.string().optional(),
34+
FALLBACK_GITEA_CLOUD_TOKEN: z.string().optional(),
3535

3636
REDIS_URL: z.string().url().default("redis://localhost:6379"),
3737

packages/backend/src/gitea.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,18 @@ import * as Sentry from "@sentry/node";
1010
import { env } from './env.js';
1111

1212
const logger = createLogger('Gitea');
13+
const GITEA_CLOUD_HOSTNAME = "gitea.com";
1314

1415
export const getGiteaReposFromConfig = async (config: GiteaConnectionConfig, orgId: number, db: PrismaClient) => {
15-
const token = config.token ? await getTokenFromConfig(config.token, orgId, db, logger) : env.FALLBACK_GITEA_TOKEN;
16+
const hostname = config.url ?
17+
new URL(config.url).hostname :
18+
GITEA_CLOUD_HOSTNAME;
19+
20+
const token = config.token ?
21+
await getTokenFromConfig(config.token, orgId, db, logger) :
22+
hostname === GITEA_CLOUD_HOSTNAME ?
23+
env.FALLBACK_GITEA_CLOUD_TOKEN :
24+
undefined;
1625

1726
const api = giteaApi(config.url ?? 'https://gitea.com', {
1827
token: token,

packages/backend/src/github.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import * as Sentry from "@sentry/node";
1010
import { env } from "./env.js";
1111

1212
const logger = createLogger("GitHub");
13+
const GITHUB_CLOUD_HOSTNAME = "github.com";
1314

1415
export type OctokitRepository = {
1516
name: string,
@@ -40,7 +41,15 @@ const isHttpError = (error: unknown, status: number): boolean => {
4041
}
4142

4243
export const getGitHubReposFromConfig = async (config: GithubConnectionConfig, orgId: number, db: PrismaClient, signal: AbortSignal) => {
43-
const token = config.token ? await getTokenFromConfig(config.token, orgId, db, logger) : env.FALLBACK_GITHUB_TOKEN;
44+
const hostname = config.url ?
45+
new URL(config.url).hostname :
46+
GITHUB_CLOUD_HOSTNAME;
47+
48+
const token = config.token ?
49+
await getTokenFromConfig(config.token, orgId, db, logger) :
50+
hostname === GITHUB_CLOUD_HOSTNAME ?
51+
env.FALLBACK_GITHUB_CLOUD_TOKEN :
52+
undefined;
4453

4554
const octokit = new Octokit({
4655
auth: token,

packages/backend/src/gitlab.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,15 @@ const logger = createLogger("GitLab");
1212
export const GITLAB_CLOUD_HOSTNAME = "gitlab.com";
1313

1414
export const getGitLabReposFromConfig = async (config: GitlabConnectionConfig, orgId: number, db: PrismaClient) => {
15-
const token = config.token ? await getTokenFromConfig(config.token, orgId, db, logger) : env.FALLBACK_GITLAB_TOKEN;
15+
const hostname = config.url ?
16+
new URL(config.url).hostname :
17+
GITLAB_CLOUD_HOSTNAME;
18+
19+
const token = config.token ?
20+
await getTokenFromConfig(config.token, orgId, db, logger) :
21+
hostname === GITLAB_CLOUD_HOSTNAME ?
22+
env.FALLBACK_GITLAB_CLOUD_TOKEN :
23+
undefined;
1624

1725
const api = new Gitlab({
1826
...(token ? {
@@ -22,7 +30,6 @@ export const getGitLabReposFromConfig = async (config: GitlabConnectionConfig, o
2230
host: config.url,
2331
} : {}),
2432
});
25-
const hostname = config.url ? new URL(config.url).hostname : GITLAB_CLOUD_HOSTNAME;
2633

2734
let allRepos: ProjectSchema[] = [];
2835
let notFound: {

0 commit comments

Comments
 (0)