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
c3624c221[web]
c3624c222cacerts = ${tlsDir}/ca.crt
c3624c223
0d9d72324[auth]
0d9d72325grove.prefix = ${hub}
0d9d72326grove.cert = ${tlsDir}/client.crt
0d9d72327grove.key = ${tlsDir}/client.key
0d9d72328grove.cacerts = ${tlsDir}/ca.crt
0d9d72329
0d9d72330grove-mononoke.prefix = mononoke://grove.host
0d9d72331grove-mononoke.cert = ${tlsDir}/client.crt
0d9d72332grove-mononoke.key = ${tlsDir}/client.key
0d9d72333grove-mononoke.cacerts = ${tlsDir}/ca.crt
0d9d72334
0d9d72335[edenapi]
0d9d72336url = ${hub.replace(/\/$/, "")}:8443/edenapi/
0d9d72337
0d9d72338[clone]
0d9d72339use-commit-graph = true
0d9d72340
0d9d72341[remotenames]
0d9d72342selectivepulldefault = ${repo.default_branch}
0d9d72343
0d9d72344[push]
0d9d72345edenapi = true
0d9d72346to = ${repo.default_branch}
0d9d72347`;
0d9d72348}