Files
herolib/lib
despiegk 3547f04a79 Merge branch 'development_heropods' into development_nile_installers
* development_heropods: (21 commits)
  test: Ignore virt/heropods/network_test.v in CI
  feat: implement container keep-alive feature
  test: Add comprehensive heropods network and container tests
  refactor: Refactor Mycelium configuration and dependencies
  feat: Add Mycelium IPv6 overlay networking
  test: Replace hero binary checks with network test
  feat: Add iptables FORWARD rules for bridge
  Revert "feat: Add `pods` command for container management"
  feat: Add `pods` command for container management
  chore: Enable execution of cmd_run
  feat: Add `run` command for Heroscript execution
  feat: Separate initialization and configuration
  refactor: Remove hero binary installation from rootfs
  refactor: Integrate logger and refactor network operations
  feat: Implement container networking and improve lifecycle
  feat: Auto-install hero binary in containers
  feat: Add container management actions for heropods
  feat: Add heropods library to plbook
  refactor: Rename heropods variable and method
  refactor: Rename container factory to heropods
  ...
2025-11-25 18:39:08 +01:00
..
...
2025-11-25 18:38:21 +01:00
...
2025-11-25 06:13:56 +01:00
2025-11-17 15:11:55 +02:00
...
2025-11-22 11:58:46 +02:00
..
2025-11-22 18:32:19 +01:00
2025-11-25 14:55:00 +01:00
...
2025-11-23 06:38:12 +01:00
...
2025-10-21 08:49:11 +02:00
...
2025-11-14 08:51:32 +02:00
2025-10-12 12:30:19 +03:00

herolib

Is an opinionated library as used by threefold mainly to automate cloud environments, its still very much work in progress and we welcome any contribution.

Please check also our cookbook which might give some ideas how to use it.

Get started with hero

curl -sL https://raw.githubusercontent.com/incubaid/herolib/development/scripts/install_hero.sh | bash

Get started with herolib

the following script will install vlang and herolib (report bugs please)

curl https://raw.githubusercontent.com/incubaid/herolib/development/scripts/installer.sh > /tmp/install.sh
bash /tmp/install.sh

optional requirements

  • ssh key loaded for access to github

alternative with manual git checkout & v install

requirements

  • v installed
  • ssh key loaded for access to github
mkdir -p ~/code/github/incubaid
cd ~/code/github/incubaid
git clone git@github.com:incubaid/herolib.git
cd herolib
# checkout a branch with most recent changes
# git checkout development 
bash install.sh

Install Hero

hero is our "hero" tool to execute heroscript, deal with git, ...

hero will be installed in

  • /usr/local/bin for linux
  • ~/hero/bin for osx
curl https://raw.githubusercontent.com/incubaid/herolib/development/scripts/install_hero.sh > /tmp/hero_install.sh
bash /tmp/hero_install.sh
#to debug
bash -x /tmp/hero_install.sh
#maybe you want to copy to your system bin dir
cp ~/hero/bin/hero /usr/local/bin
#to use hero make sure you restart your shell or you do (if osx)
source ~/.zprofile 
#check how to use, can also do on each of the subcommands
hero -help

requirements

  • ssh key loaded for access to github

generating docs yourself

#cd in this directory
cd ~/code/github/incubaid/herolib
bash doc.sh

build hero

  • linux as done by github actions, nothing to do
  • osx: ``