GithubHelp home page GithubHelp logo

itdeno's Introduction

๐Ÿฃ 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.

๐Ÿ™ Using YAML

- _: Set file content
  file.content:
    path: /tmp/itsudeno.example
    content: Hello! Current time is ${new Date()}

- _: Configure firewalls
  loop:chain: [ INPUT, OUTPUT, FORWARD ]
  net.firewall:
    chain: ${chain}
    policy: DROP

- _: Install packages
  packages.apt:
    name: net-tools
    state: latest

๐Ÿ˜ Using TypeScript

import * as it from "https://deno.land/x/itsudeno";

await it.tasks(({_, vault, tools}) => {
  for (const user of ["foo", "bar", "baz"]) {
    await _(`Create users and save passwords into default vault`)
      .os.user({
        user,
        password: await vault.get(`${user}_password`, await tools.mkpasswd())
      });
  }

  await _("Wait for user input")
    .wait.user({
      message: "Itsudeno successfully configured your machine, ready?",
      type: "confirm",
    });
});

๐Ÿฑ Features

  • ๐Ÿฅข Pick between YAML and TypeScript syntaxes
  • ๐Ÿฅก Powerful modules to create users, files, configurations, install packages, make API calls, execute scripts, etc.
  • ๐Ÿก 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

๐Ÿฅ Try it know!

deno 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

๐Ÿฆ‘ 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)

itdeno's People

Contributors

zbndm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.