{"id":32119017,"url":"https://github.com/lowlighter/itsudeno","last_synced_at":"2025-10-20T17:55:02.810Z","repository":{"id":62422216,"uuid":"395451742","full_name":"lowlighter/itsudeno","owner":"lowlighter","description":"🍣 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.","archived":true,"fork":false,"pushed_at":"2022-12-01T04:33:02.000Z","size":594,"stargazers_count":18,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T17:54:53.019Z","etag":null,"topics":["automation","configuration","deno","deployment","itsudeno","typescript"],"latest_commit_sha":null,"homepage":"https://lecoq.io/itsudeno/docs","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lowlighter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"lowlighter"}},"created_at":"2021-08-12T21:49:35.000Z","updated_at":"2024-06-05T01:30:56.000Z","dependencies_parsed_at":"2023-01-23T02:30:33.088Z","dependency_job_id":null,"html_url":"https://github.com/lowlighter/itsudeno","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/lowlighter/itsudeno","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fitsudeno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fitsudeno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fitsudeno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fitsudeno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lowlighter","download_url":"https://codeload.github.com/lowlighter/itsudeno/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fitsudeno/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280135884,"owners_count":26278444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","configuration","deno","deployment","itsudeno","typescript"],"created_at":"2025-10-20T17:55:01.189Z","updated_at":"2025-10-20T17:55:02.794Z","avatar_url":"https://github.com/lowlighter.png","language":"TypeScript","funding_links":["https://github.com/sponsors/lowlighter"],"categories":[],"sub_categories":[],"readme":"# 🍣 Itsudeno\n\n*Itsudeno* is a scriptable IT automation system written in [TypeScript](https://github.com/Microsoft/TypeScript) and running on [Deno](https://github.com/denoland/deno).\nIt can be used to easily deploy and configure applications, services and networks on target hosts.\n\n### 🍙 Using YAML\n\n```yml\n- _: Set file content\n  file.content:\n    path: /tmp/itsudeno.example\n    content: Hello! Current time is ${new Date()}\n\n- _: Configure firewalls\n  loop:chain: [ INPUT, OUTPUT, FORWARD ]\n  net.firewall:\n    chain: ${chain}\n    policy: DROP\n\n- _: Install packages\n  packages.apt:\n    name: net-tools\n    state: latest\n```\n\n### 🍘 Using TypeScript\n\n```ts\nimport * as it from \"https://deno.land/x/itsudeno\";\n\nawait it.tasks(({_, vault, tools}) =\u003e {\n  for (const user of [\"foo\", \"bar\", \"baz\"]) {\n    await _(`Create users and save passwords into default vault`)\n      .os.user({\n        user,\n        password: await vault.get(`${user}_password`, await tools.mkpasswd())\n      });\n  }\n\n  await _(\"Wait for user input\")\n    .wait.user({\n      message: \"Itsudeno successfully configured your machine, ready?\",\n      type: \"confirm\",\n    });\n});\n\n```\n\n## 🍱 Features\n\n- [x] 🥢 Pick between [YAML and TypeScript](https://itsudeno.land/syntaxes) syntaxes\n- [x] 🥡 [Powerful modules](https://itsudeno.land/modules) to create users, files, configurations, install packages, make API calls, execute scripts, etc.\n  - [x] Built to be idempotent, cross-platform, previewable and combinable\n  - [x] Choose between a wide range of [module executors](https://itsudeno.land/executors) and [module reporters](https://itsudeno.land/reporters)\n- [x] 🍡 Store [hosts in inventories](https://itsudeno.land/inventories) and [secrets in vaults](https://itsudeno.land/vaults)\n  - [ ] Query hosts with hostname, groups, ip and traits (properties discovered at runtime)\n- [ ] 🍜 Control *Itsudeno* with [different interfaces](https://itsudeno.land/interfaces), like CLI, API, web app, etc.\n- [x] 🍥 Take advantage of [TypeScript](https://github.com/microsoft/TypeScript), JavaScript and [Deno runtime](https://github.com/denoland/deno)!\n  - [x] Never be limited by templating systems anymore, all languages features are exposed\n  - [x] Controller can be run on any operating system (provided it supports Deno runtime)\n  - [x] Compile your tasks into [packaged executables](https://deno.land/manual/tools/compiler)\n  - [ ] Easily import and create third-party components thanks to EcmaScript dynamic imports\n- [x] 🥮 [Components documentation](https://itsudeno.land) are auto-generated and always up-to-date\n\n\u003e ⚠️ This project is in active development and some features advertised above may not be implemented yet. Progress can be tracked [here](https://github.com/lowlighter/itsudeno/discussions/3)\n\n### 🍥 Try it know!\n\n```\ndeno run --allow-all --unstable --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\n```\n\n## 🦑 Contributions and license\n\n* To report a bug, fill an [issue](https://github.com/lowlighter/itsudeno/issues) describing it.\n* To suggest new features or request help, check out [discussions](https://github.com/lowlighter/itsudeno/discussions) instead.\n* To contribute, submit a [pull request](https://github.com/lowlighter/itsudeno/pulls).\n\n```\nGNU General Public License v3.0\nCopyright (c) 2021-present Simon Lecoq (lowlighter)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowlighter%2Fitsudeno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flowlighter%2Fitsudeno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowlighter%2Fitsudeno/lists"}