## File: README.md

# Komodo 🦎

A tool to build and deploy software across many servers. 

🦎 [See the docs](https://komo.do)

🦎 [Try the Demo](https://demo.komo.do) - Login: `demo` : `demo`

🦎 [See the Build Server](https://build.mogh.tech)  - Login: `komodo` : `komodo`

🦎 [Join the Discord](https://discord.gg/DRqE8Fvg5c)

## About

The Komodo dragon is the largest living member of the [*Monitor* family of lizards](https://en.wikipedia.org/wiki/Monitor_lizard).

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.

## Links

- [periphery setup](https://github.com/moghtech/komodo/blob/main/scripts/readme.md)
- [roadmap](https://github.com/moghtech/komodo/blob/main/roadmap.md)

## Screenshots

### Light Theme










### Dark Theme

---

## File: Readme.md

# Komodo 🦎

A tool to build and deploy software across many servers. 

🦎 [See the docs](https://komo.do)

🦎 [Try the Demo](https://demo.komo.do) - Login: `demo` : `demo`

🦎 [See the Build Server](https://build.mogh.tech)  - Login: `komodo` : `komodo`

🦎 [Join the Discord](https://discord.gg/DRqE8Fvg5c)

## About

The Komodo dragon is the largest living member of the [*Monitor* family of lizards](https://en.wikipedia.org/wiki/Monitor_lizard).

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.

## Links

- [periphery setup](https://github.com/moghtech/komodo/blob/main/scripts/readme.md)
- [roadmap](https://github.com/moghtech/komodo/blob/main/roadmap.md)

## Screenshots

### Light Theme










### Dark Theme

---

## File: readme.md

# Komodo 🦎

A tool to build and deploy software across many servers. 

🦎 [See the docs](https://komo.do)

🦎 [Try the Demo](https://demo.komo.do) - Login: `demo` : `demo`

🦎 [See the Build Server](https://build.mogh.tech)  - Login: `komodo` : `komodo`

🦎 [Join the Discord](https://discord.gg/DRqE8Fvg5c)

## About

The Komodo dragon is the largest living member of the [*Monitor* family of lizards](https://en.wikipedia.org/wiki/Monitor_lizard).

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.

## Links

- [periphery setup](https://github.com/moghtech/komodo/blob/main/scripts/readme.md)
- [roadmap](https://github.com/moghtech/komodo/blob/main/roadmap.md)

## 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`
```
/* 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](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](https://komo.do)

Docs: [https://docs.rs/komodo_client/latest/komodo_client](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](https://docs.rs/komodo_client/latest/komodo_client/api/index.html)
	and [entities](https://docs.rs/komodo_client/latest/komodo_client/entities/index.html).
- A [client](https://docs.rs/komodo_client/latest/komodo_client/struct.KomodoClient.html)
	to interact with the Komodo Core API.
- Information on configuring Komodo
	[Core](https://docs.rs/komodo_client/latest/komodo_client/entities/config/core/index.html) and
	[Periphery](https://docs.rs/komodo_client/latest/komodo_client/entities/config/periphery/index.html).

## 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?:
```