hosty
Version:
A code based opinionated way to self-host and manage web apps.
36 lines • 1.05 kB
TypeScript
export type Host = {
name: string;
ansible_connection?: 'local' | 'docker' | 'ssh';
ansible_host?: string;
ansible_user?: string;
ansible_port?: number;
ansible_password?: string;
ansible_ssh_private_key_file?: string;
};
export type CommonTaskAttrs = {
become?: boolean;
register?: string;
when?: string;
changed_when?: boolean;
ignore_errors?: boolean;
notify?: string;
with_fileglob?: string | string[];
};
export type Task<ModuleName extends string, ModuleAttrs> = {
name: string;
} & {
[key in ModuleName]: ModuleAttrs;
} & CommonTaskAttrs;
export type Handler<ModuleName extends string, ModuleAttrs> = Task<ModuleName, ModuleAttrs>;
export type AnyTask = Task<string, {}>;
export type AnyHandler = Handler<string, {}>;
export type Tasks = AnyTask[];
export type Block = Task<'block', Tasks>;
export type Step = {
hosts: string;
tasks: AnyTask[];
gather_facts?: boolean;
handlers?: AnyHandler[];
};
export type Playbook = Step[];
//# sourceMappingURL=types.d.ts.map