mirror of
https://github.com/moghtech/komodo.git
synced 2026-05-01 07:36:16 -05:00
* rust client improvements and docs * sync rust client * version 1.16.4 * UI support YAML / TOML utils, typed Deno namespace * add ResourcesToml to typeshare * add YAML and TOML convenience * make the types available globally * preload container with @std/yaml and @std/toml, clean up genned files * add deno setup to alpine dockerfile
51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
# API and Clients
|
|
|
|
Komodo Core exposes an RPC-like HTTP API to read data, write configuration, and execute actions.
|
|
There are typesafe clients available in
|
|
[**Rust**](/docs/api#rust-client) and [**Typescript**](/docs/api#typescript-client).
|
|
|
|
The full API documentation is [**available here**](https://docs.rs/komodo_client/latest/komodo_client/api/index.html).
|
|
|
|
## Rust Client
|
|
|
|
The Rust client is published to crates.io at [komodo_client](https://crates.io/crates/komodo_client).
|
|
|
|
```rust
|
|
let komodo = KomodoClient::new("https://demo.komo.do", "your_key", "your_secret")
|
|
.with_healthcheck()
|
|
.await?;
|
|
|
|
let stacks = komodo.read(ListStacks::default()).await?;
|
|
|
|
let update = komodo
|
|
.execute(DeployStack {
|
|
stack: stacks[0].name.clone(),
|
|
stop_time: None
|
|
})
|
|
.await?;
|
|
```
|
|
|
|
## Typescript Client
|
|
|
|
The Typescript client is published to NPM at [komodo_client](https://www.npmjs.com/package/komodo_client).
|
|
|
|
```ts
|
|
import { KomodoClient, Types } from "komodo_client";
|
|
|
|
const komodo = KomodoClient("https://demo.komo.do", {
|
|
type: "api-key",
|
|
params: {
|
|
api_key: "your_key",
|
|
secret: "your secret",
|
|
},
|
|
});
|
|
|
|
// Inferred as Types.StackListItem[]
|
|
const stacks = await komodo.read("ListStacks", {});
|
|
|
|
// Inferred as Types.Update
|
|
const update = await komodo.execute("DeployStack", {
|
|
stack: stacks[0].name,
|
|
});
|
|
```
|