@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
95 lines • 3.56 kB
TypeScript
import type { InputOptions } from "../../interfaces/InputOptions";
import type { GitProviderDomain, GitProviderType } from "../../interfaces/SystemTypes";
/**
* Generate SSH URL of the git repository
* @param provider
* @example `github`
* @param repoSlug - Include username/org slug, exclude ".git" at the end
* @example `digitopvn/diginext13`
* @returns
*/
export declare function generateRepoSSH(provider: GitProviderType | string, repoSlug: string): string;
/**
* Generate SSH URL of the git repository
* @param repoSlug - Include username/org slug, exclude ".git" at the end
* @example `digitopvn/diginext13`
* @returns
*/
export declare function generateRepoURL(provider: GitProviderType | string, repoSlug: string): string;
/**
* Generate SSH URL of the git repository
* @param repoSlug - Include username/org slug, exclude ".git" at the end
* @example `digitopvn/diginext13`
* @returns
*/
export declare const getRepoURLFromRepoSSH: typeof generateRepoURL;
export declare const login: (options?: InputOptions) => Promise<boolean>;
export declare const logout: () => Promise<void>;
export interface InitializeGitRemoteOptions extends Pick<InputOptions, "repoSSH" | "targetDirectory" | "username"> {
/**
* App's working directory
*/
dir: string;
}
/**
* @deprecated
* Setup "main" branch and "dev/*" branch
*/
export declare function initializeGitRemote(options: InitializeGitRemoteOptions): Promise<boolean>;
/**
* Get user profile object
*/
export declare const getUserProfile: (options?: InputOptions) => Promise<import("./github").GithubProfile & import("./github").GithubApiFailResponse>;
export declare const setupRepositoryPermissions: (options?: InputOptions) => Promise<void>;
export declare const getListRepositories: (options?: InputOptions) => Promise<void>;
export declare const createNewPullRequest: (options?: InputOptions) => Promise<any[]>;
export declare const addKeysToKnownHosts: (data: {
gitDomain: string;
publicIdRsaFile: string;
privateIdRsaFile: string;
}) => Promise<{
gitDomain: string;
publicIdRsaFile: string;
privateIdRsaFile: string;
sshConfigPath: string;
knownHostsPath: string;
}>;
export declare const writeCustomSSHKeys: (params: {
gitDomain: GitProviderDomain;
privateKey: string;
publicKey?: string;
force?: boolean;
}) => Promise<{
gitDomain: "bitbucket.org" | "github.com";
privateIdRsaFile: string;
publicIdRsaFile: string;
}>;
export declare const generateSSH: (options?: InputOptions) => Promise<string>;
export declare const sshKeysExisted: (options?: {
publicIdRsaFile: string;
privateIdRsaFile: string;
}) => Promise<boolean>;
export declare const getSshKeys: (options?: {
publicIdRsaFile: string;
privateIdRsaFile: string;
}) => Promise<{
privateKey: string;
publicKey: string;
}>;
export declare const getPublicKey: (filePath?: string) => Promise<{
publicKey: string;
}>;
export declare const sshKeyContainPassphase: (options?: {
sshFile: string;
}) => boolean;
export declare const verifySSH: (options?: InputOptions) => Promise<any>;
/**
* Check if the client machine can access to the git provider publicly.
*/
export declare const checkGitProviderAccess: (gitProvider: GitProviderType) => Promise<boolean>;
/**
* Check if the client machine can access to the PRIVATE git repository.
*/
export declare const checkGitRepoAccess: (repoSSH: string) => Promise<boolean>;
export declare function execGit(options: any): Promise<any>;
//# sourceMappingURL=index.d.ts.map