cli/src/sl-config.tsblame
View source
0d9d7231import { join } from "node:path";
0d9d7232import { homedir } from "node:os";
0d9d7233
0d9d7234interface RepoConfig {
0d9d7235 name: string;
0d9d7236 owner_name: string;
0d9d7237 default_branch: string;
0d9d7238}
0d9d7239
0d9d72310export function buildSlConfig(repo: RepoConfig, hub: string): string {
0d9d72311 const tlsDir = join(homedir(), ".grove", "tls");
0d9d72312 return `[paths]
e17b21213default = mononoke://${hub.replace(/^https?:\/\//, "").replace(/\/$/, "")}:8443/${repo.name}
0d9d72314
0d9d72315[remotefilelog]
0d9d72316reponame = ${repo.name}
0d9d72317
0d9d72318[grove]
0d9d72319owner = ${repo.owner_name}
0d9d72320
0d9d72321[auth]
0d9d72322grove.prefix = ${hub}
0d9d72323grove.cert = ${tlsDir}/client.crt
0d9d72324grove.key = ${tlsDir}/client.key
0d9d72325grove.cacerts = ${tlsDir}/ca.crt
0d9d72326
0d9d72327grove-mononoke.prefix = mononoke://grove.host
0d9d72328grove-mononoke.cert = ${tlsDir}/client.crt
0d9d72329grove-mononoke.key = ${tlsDir}/client.key
0d9d72330grove-mononoke.cacerts = ${tlsDir}/ca.crt
0d9d72331
0d9d72332[edenapi]
0d9d72333url = ${hub.replace(/\/$/, "")}:8443/edenapi/
0d9d72334
0d9d72335[clone]
0d9d72336use-commit-graph = true
0d9d72337
0d9d72338[remotenames]
0d9d72339selectivepulldefault = ${repo.default_branch}
0d9d72340
0d9d72341[push]
0d9d72342edenapi = true
0d9d72343to = ${repo.default_branch}
0d9d72344`;
0d9d72345}