🍣 Itsudeno is a scriptable IT automation system written in TypeScript and running on Deno. It can be used to easily deploy and configure applications, services and networks on target hosts.
Repository
Current version released
3 years ago
Versions
🍣 Itsudeno
Itsudeno is a scriptable IT automation system written in TypeScript and running on Deno. It can be used to easily deploy and configure applications, services and networks on target hosts.
🍱 Features
- 🥢 Pick between YAML and TypeScript syntaxes
- 🥡 Powerful modules to create users, files, configurations, install packages, make API calls, execute scripts, etc.
- Built to be idempotent, cross-platform, previewable and combinable
- Choose between a wide range of module executors and module reporters
- 🍡 Store hosts in inventories and secrets in vaults
- Query hosts with hostname, groups, ip and traits (properties discovered at runtime)
- 🍜 Control Itsudeno with different interfaces, like CLI, API, web app, etc.
- 🍥 Take advantage of TypeScript, JavaScript and Deno runtime!
- Never be limited by templating systems anymore, all languages features are exposed
- Controller can be run on any operating system (provided it supports Deno runtime)
- Compile your tasks into packaged executables
- Easily import and create third-party components thanks to EcmaScript dynamic imports
- 🥮 Components documentation are auto-generated and always up-to-date
⚠️ This project is in active development and some features advertised above may not be implemented yet. Progress can be tracked here
🍥 Hello Itsudeno!
🍙 Using YAML
- _: Use Itsudeno with YAML
loop🫂
- Hello
- Bonjour
- 你好
- こんにちは
log:
message: ${hello}! Current time is ${new Date()}
🍘 Using TypeScript
import * as it from "https://deno.land/x/itsudeno";
for (const hello of ["Hello", "Bonjour", "你好", "こんにちは"]) {
await it.modules.log({
_: `Use Itsudeno with TypeScript`,
message:`${hello}! Current time is ${new Date()}`
});
}
🍶 Try it know!
deno run --allow-all --unstable --no-check --import-map https://deno.land/x/itsudeno/imports.json https://deno.land/x/itsudeno/mod.ts run https://deno.land/x/itsudeno/docs/examples/hello.yml
--no-check
is currently needed because of recent changes in web crypto APIs (it will be fixed in future releases)
🦑 Contributions and license
- To report a bug, fill an issue describing it.
- To suggest new features or request help, check out discussions instead.
- To contribute, submit a pull request.
GNU General Public License v3.0
Copyright (c) 2021-present Simon Lecoq (lowlighter)