Skip to content

iQua/herdr-flakes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flakes for Herdr

This plugin mirrors your Flakes runs into your local Herdr session. Each mirrored active run becomes a workspace and each mirrored active task becomes a tab, so you can see the current run at a glance and steer supported tasks through the pane composer.

The plugin is deliberately small. Its manifest and Node shims launch the implementation already shipped by the Flakes CLI; no Flakes application code is bundled here.

Prerequisites

  • Herdr 0.7.4 or newer on macOS or Linux.

  • The Flakes CLI installed and available on PATH:

    npm install -g @baochunli/flakes
  • A local Flakes login:

    flakes auth login

If flakes is not on PATH, put its absolute path in a file named flakes-path inside the plugin config directory. The shims check that file first, then FLAKES_BIN, then PATH.

Install

Link this directory while developing:

herdr plugin link .

After publishing the directory as a standalone GitHub repository, install it with:

herdr plugin install iQua/herdr-flakes

Configure

The mirror reads config.toml from HERDR_PLUGIN_CONFIG_DIR. You can find that directory with herdr plugin config-dir flakes. All settings are optional; these are the defaults:

[mirror]
poll_seconds = 2
projects = ["*"]
max_runs = 20
notifications = true
  • poll_seconds controls the active-run polling interval. It must be positive; the daemon backs off while idle.
  • projects is either ["*"] or a non-empty list of project keys. Do not mix "*" with explicit keys.
  • max_runs is the positive maximum number of active runs to mirror.
  • notifications enables Herdr notifications for mirror transitions.

Restart the mirror after changing the configuration.

Start and stop

Run the Flakes: start mirror Herdr action. It launches flakes herdr daemon as a detached local process, so closing a pane does not stop the mirror. Use Flakes: stop mirror to stop it and Flakes: mirror status (or the Flakes status overlay) for an on-demand health check.

You can also run the daemon directly from a shell in your Herdr session:

flakes herdr daemon

The CLI owns the daemon PID file and mirror state under HERDR_PLUGIN_STATE_DIR; the plugin shims do not maintain a second copy.

Security model

Herdr plugins run unsandboxed as the current user. This plugin only starts the local Flakes CLI and passes through Herdr's plugin environment. The CLI reads your existing flakes auth login credential from its own local credential store; the plugin does not read, copy, or pass a credential into Herdr.

The mirror daemon and its shims run on the operator's local machine. The plugin adds no process or credential to your Flakes hosts or sandboxes; those continue to run through the normal Flakes control plane.

About

Flakes plugin for Herdr — mirror and steer your Flakes runs in your local Herdr session

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors