homerunner-client
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

homerunner-client

A JS library for interfacing with Complement's homerunner application.

See matrix-org/complement for details on how that works.

The library is environment variable aware, and will use the following URLs in order when communicating with homerunner:

  1. The URL provided to Homerunner.Client in the constructor.
  2. HOMERUNNER_URL, if provided as an environment variable.
  3. http://localhost:{process.env.HOMERUNNER_PORT}, if HOMERUNNER_PORT is provided as an environment variable.
  4. http://localhost:54321

Usage

You can install the package with npm install homerunner-client or yarn add homerunner-client.

Example

Below is a simple example of how to use the library. Consult the type definitions for more advanced usage.

const client = new Homerunner.Client();

const blueprint1 = await client.create("my-blueprint");
// or
const blueprint2 = await client.create({
	base_image_uri: "complement-dendrite",
	blueprint: {
		Name: "my-custom-blueprint",
		Homeservers: [{
			Name: "hs1",
			Users: [{
				Localpart: "alice",
				DisplayName: "Alice",
			}]
		}]
	}
});
// or
const blueprint3 = await client.create({
	base_image_uri: "complement-dendrite",
	blueprint_name: "federation_one_to_one_room"
})

// Do some testing....

await client.destroy("my-blueprint");
await client.destroy("my-custom-blueprint");
await client.destroy("federation_one_to_one_room");

Dependencies (0)

    Dev Dependencies (16)

    Package Sidebar

    Install

    npm i homerunner-client

    Weekly Downloads

    27

    Version

    1.0.0

    License

    Apache-2.0

    Unpacked Size

    14 kB

    Total Files

    11

    Last publish

    Collaborators

    • halfshot