komodo Documentation

A tool to build and deploy software on many servers ๐ŸฆŽ

11,752 stars Rust Rust 1 file ยท ~1,727 tokens
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy komodo on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name komodo -p 80:80 --restart always moghtech/komodo:latest

File: README.md

Komodo ๐ŸฆŽ

A tool to build and deploy software across many servers.

๐ŸฆŽ See the docs

๐ŸฆŽ Try the Demo - Login: demo : demo

๐ŸฆŽ See the Build Server - Login: komodo : komodo

๐ŸฆŽ Join the Discord

About

The Komodo dragon is the largest living member of the Monitor family of lizards.

There is no limit to the number of servers you can connect, and there will never be. There is no limit to what API you can use for automation, and there never will be.

Disclaimer

Warning. This is open source software (GPL-V3), and while we make a best effort to ensure releases are stable and bug-free,
there are no warranties. Use at your own risk.

Screenshots

Light Theme

Dark Theme


File: Readme.md

Komodo ๐ŸฆŽ

A tool to build and deploy software across many servers.

๐ŸฆŽ See the docs

๐ŸฆŽ Try the Demo - Login: demo : demo

๐ŸฆŽ See the Build Server - Login: komodo : komodo

๐ŸฆŽ Join the Discord

About

The Komodo dragon is the largest living member of the Monitor family of lizards.

There is no limit to the number of servers you can connect, and there will never be. There is no limit to what API you can use for automation, and there never will be.

Disclaimer

Warning. This is open source software (GPL-V3), and while we make a best effort to ensure releases are stable and bug-free,
there are no warranties. Use at your own risk.

Screenshots

Light Theme

Dark Theme


File: readme.md

Komodo ๐ŸฆŽ

A tool to build and deploy software across many servers.

๐ŸฆŽ See the docs

๐ŸฆŽ Try the Demo - Login: demo : demo

๐ŸฆŽ See the Build Server - Login: komodo : komodo

๐ŸฆŽ Join the Discord

About

The Komodo dragon is the largest living member of the Monitor family of lizards.

There is no limit to the number of servers you can connect, and there will never be. There is no limit to what API you can use for automation, and there never will be.

Disclaimer

Warning. This is open source software (GPL-V3), and while we make a best effort to ensure releases are stable and bug-free,
there are no warranties. Use at your own risk.

Screenshots

Light Theme

Dark Theme


File: bin/cli/README.md

Komodo CLI

Komodo CLI is a tool to execute actions on your Komodo instance from shell scripts.

Install

sh
cargo install komodo_cli

Note: On Ubuntu, also requires apt install build-essential pkg-config libssl-dev.

Usage

Credentials

Configure a file ~/.config/komodo/creds.toml file with contents:

toml
url = "https://your.komodo.address"
key = "YOUR-API-KEY"
secret = "YOUR-API-SECRET"

Note. You can specify a different creds file by using --creds ./other/path.toml.
You can also bypass using any file and pass the information using --url, --key, --secret:

sh
komodo --url "https://your.komodo.address" --key "YOUR-API-KEY" --secret "YOUR-API-SECRET" ...

Run Executions

sh
# Triggers an example build
komodo execute run-build test_build

Manual

komodo --help

md
Command line tool to execute Komodo actions

Usage: komodo [OPTIONS] <COMMAND>

Commands:
  execute  Runs an execution
  help     Print this message or the help of the given subcommand(s)

Options:
      --creds <CREDS>    The path to a creds file [default: /Users/max/.config/komodo/creds.toml]
      --url         Pass url in args instead of creds file
      --key <KEY>        Pass api key in args instead of creds file
      --secret <SECRET>  Pass api secret in args instead of creds file
  -y, --yes              Always continue on user confirmation prompts
  -h, --help             Print help (see more with '--help')
  -V, --version          Print version

komodo execute --help

text
/* Detailed source-code truncated for AI context efficiency. */

--yes

You can use --yes to avoid any human prompt to continue, for use in automated environments.


File: client/core/ts/README.md

Komodo

A system to build and deploy software across many servers. https://komo.do

sh
npm install komodo_client

or

sh
yarn add komodo_client
ts
import { KomodoClient, Types } from "komodo_client";

const komodo = KomodoClient("https://demo.komo.do", {
  type: "api-key",
  params: {
    key: "your_key",
    secret: "your secret",
  },
});

// Inferred as Types.StackListItem[]
const stacks = await komodo.read("ListStacks", {});

// Inferred as Types.Stack
const stack = await komodo.read("GetStack", {
  stack: stacks[0].name,
});

File: client/core/rs/README.md

Komodo

A system to build and deploy software across many servers. https://komo.do

Docs: https://docs.rs/komodo_client/latest/komodo_client.

This is a client library for the Komodo Core API.
It contains:

  • Definitions for the application api
    and entities.
  • A client
    to interact with the Komodo Core API.
  • Information on configuring Komodo
    Core and
    Periphery.

Client Configuration

The client includes a convenenience method to parse the Komodo API url and credentials from the environment:

  • KOMODO_ADDRESS
  • KOMODO_API_KEY
  • KOMODO_API_SECRET

Client Example

rust
dotenvy::dotenv().ok();

let client = KomodoClient::new_from_env()?;

// Get all the deployments
let deployments = client.read(ListDeployments::default()).await?;

println!("{deployments:#?}");

let update = client.execute(RunBuild { build: "test-build".to_string() }).await?: