This commit adds the ability to filter containers by their labels in the
Docker integration. The new functionality allows users to specify
container labels in the configuration, instead of container names, to
allow for dynamic container name resolution.
This is particularly useful in environments where container names may
change frequently or are not defined in advance.
Fixes#193
Signed-off-by: Georgios Ntoutsos <gntouts@nubificus.co.uk>
* feat: wip `nix`
Add initial code to be used when working with `nix` and `NixOS`.
* a Nix flake
* building a package
* a NixOS module
* feat: build `hp_agent` with `nix`
* feat: add `hp_agent` as a flake output
* feat: nix: start `headplane` after `headscale`
* feat: do not rely on `git` for versioning
It causes lots of pain when building with `nix` for a local `flake.nix`.
Not sure if it's a good general solution:
* now it requires a manual step of updating `./version` on each release.
* we're losing commit hash abbreviation, like `0.5.3-5-gbe5a291`
I guess, this can be fixed by installing git-pre-commit-hook, but even
then it'd be wrong, because the output of `git describe --tags --always`
won't be the same before and after commit.
* feat: include `hp_agent` to the NixOS module
* fix: version error message
* fix: use relative path imports in `nix`
* fix: NixOS module: generate `/etc/headplane/config.yaml` from `services.headplane.settings`
* fix: NixOS module: allow passing `bool` in `services.headplane.settings.*`
* fix: NixOS module: fix `/etc/headplane/config.yaml` generation
* docs: add Nix/NixOS docs
* feat: nix: read version from `package.json`
* fix: nix: fix `agent` env vars configuration
* feat: nix: add `services.headplane.agent.debug` option
* fix: delete unnecessary `version` file
* fix: nix: remove unnecessary `sed` substitutions
A left over from previous versions.
See: https://github.com/tale/headplane/issues/95#issue-2807487849
* feat: nix: do not hardcode `headplane-agent` configuration environment variables
To make the module more flexible and to reduce the dependency on the
config API.
* docs: improve `Nix` documentation
* Reflect recent changes.
* Link `Nix` in README
* feat: nix: setup Nix CI
* feat: nix: CI without depending on flakehub.com
* chore: begin bundling all deps into the server
* fix: loosen headscale config validation
* fix: navigate back to machines page on node deletion
* fix: slice off trailing slash if present on headscale url
* feat: switch to a central singleton handler
This also adds support for Headscale TLS installations
* fix: shamefully-hoist dependencies
* fix: handle localized number fields
* fix: revert dependency bundling for now
* chore: cleanup and remove from readme for now
---------
Co-authored-by: Aarnav Tale <aarnavtale@icloud.com>
This includes setting a custom redirect URI, handling errors, and using a better library.
As an API decision I've also disabled per session API keys as it clutters up too much.