Commit graph

25 commits

Author SHA1 Message Date
Gergely Nagy
074a033a02
docs: Link to the monitoring HOWTO from config
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-06 21:52:05 +01:00
Gergely Nagy
4b91d25a88
metrics: Add a process_start_time_seconds gauge
The new metric is there to help gauge iocaine's uptime, without relying
on an external collector like `systemd_exporter`.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-06 21:50:53 +01:00
Gergely Nagy
2bdfa92d3e
Implement per-host templates
Fixes #7.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-06 17:04:11 +01:00
Gergely Nagy
5be1a9169e
docs: Add a HOWTO about monitoring
Some checks failed
build / binary (push) Has been cancelled
build / binary-static (x86_64-linux) (push) Has been cancelled
build / container (push) Has been cancelled
build / clippy (push) Has been cancelled
documentation / documentation (push) Has been cancelled
lint / linting (push) Has been cancelled
documentation / notification (push) Has been cancelled
Also added the latest dashboard export, as an example.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-05 11:26:49 +01:00
Gergely Nagy
0b1ee4fe42
Metrics reimagined
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-05 09:50:07 +01:00
Gergely Nagy
5b43f0e585
docs: Minor formatting fix
Some checks are pending
build / binary (push) Waiting to run
build / binary-static (x86_64-linux) (push) Waiting to run
build / container (push) Waiting to run
build / clippy (push) Waiting to run
documentation / documentation (push) Waiting to run
documentation / notification (push) Blocked by required conditions
lint / linting (push) Waiting to run
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-05 03:33:11 +01:00
Gergely Nagy
3126882a35
Implement Prometheus-compatible, optional metrics
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-05 02:36:13 +01:00
Gergely Nagy
099cefb927
ci: Prepare for cross-building binaries
Some checks are pending
build / binary (push) Waiting to run
build / binary-static (x86_64-linux) (push) Waiting to run
build / container (push) Waiting to run
build / clippy (push) Waiting to run
documentation / documentation (push) Waiting to run
documentation / notification (push) Blocked by required conditions
lint / linting (push) Waiting to run
Include the system name in the cross-built binary file, and put it under
`iocaine-binaries/latest`, rather than `iocaine/${{ version }}`, to
match how the container image is tagged. Releases will have their own
version.

Documentation updated to point to the new place.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-02-04 08:47:57 +01:00
Gergely Nagy
22166e0e7c
docs: Further updates & fixes to the nginx docs
Some checks failed
lint / linting (push) Waiting to run
documentation / documentation (push) Has been cancelled
documentation / notification (push) Has been cancelled
Thanks to @redshiftltd for test driving the nginx setup, and providing
very valuable feedback & the updated configurations.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-29 19:24:33 +01:00
Gergely Nagy
2050158c5a
docs: Mention the auto-built binaries
Some checks are pending
build / binary (push) Waiting to run
build / binary-static (push) Waiting to run
build / container (push) Waiting to run
build / clippy (push) Waiting to run
documentation / documentation (push) Waiting to run
documentation / notification (push) Blocked by required conditions
lint / linting (push) Waiting to run
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-29 08:49:10 +01:00
Gergely Nagy
ea9972dbfc
docs: Fix the nginx rewrite
With the previous nginx configuration, all requests that matched
`$badagent` were rewrote to `/ai`, without the original URL anywhere.
This resulted in `iocaine` only seeing `/ai`, and thus, every page ended
up being rendered the same.

The rewrite should take the original request URI into account, which is
what this patch does.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-29 07:44:34 +01:00
Gergely Nagy
f486b99984
Improved documentation
Some checks are pending
build / build (push) Waiting to run
build / clippy (push) Waiting to run
documentation / documentation (push) Waiting to run
documentation / notification (push) Blocked by required conditions
lint / linting (push) Waiting to run
Added a few words about compiling Iocaine, added a docker example with a
TOML configuration file (vs the existing environment variable-based
example), and collected a mistake describing the shape of
`IOCAINE__SOURCES__MARKOV`.

These together should largely address #2.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-29 01:14:58 +01:00
Gergely Nagy
ae8b06a4d5
Make templating actually useful
This rebuilds the templating so that the *content* is no longer
pre-generated, only the parameters. It is up to the template (and some
newly implemented helper functions) to construct the output from those.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-29 00:20:21 +01:00
Gergely Nagy
5d60b84300
Make the generated HTML templatable
Use Handlebars to generate the HTML output, to make it easier to change.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-28 08:50:22 +01:00
Gergely Nagy
b66a60ab30
docs: Another for the See Also list
Some checks are pending
documentation / documentation (push) Waiting to run
documentation / notification (push) Blocked by required conditions
lint / linting (push) Waiting to run
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-27 08:53:54 +01:00
Gergely Nagy
8877bc2112
docs: Explain the name
Some checks failed
documentation / documentation (push) Has been cancelled
lint / linting (push) Has been cancelled
documentation / notification (push) Has been cancelled
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-25 18:12:00 +01:00
Gergely Nagy
e8c9bc0056
docs: Sort the sections properly
How? -> Configuration -> Deploying

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-25 11:44:15 +01:00
Gergely Nagy
e3306e7998
Slight environment variable adjustment
When configuring iocaine via environment variables, sections and
settings were separated by two underlines, but the `IOCAINE_` prefix
only had one. This felt weird, so now iocaine supports an `IOCAINE__`
prefix too, and keeps recognizing the old one too.

Documentation and examples updated to use the new naming. No mention of
the backwards compatibility - I'll just silently support that.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-25 02:16:06 +01:00
Gergely Nagy
c0c3210af8
docs: Another tool added to the See Also list!
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-25 02:12:19 +01:00
Gergely Nagy
0fa091e74c
docs: Fix a title
Oops.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-25 01:48:44 +01:00
Gergely Nagy
8b961c9e8f
docs: Color adjustments
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-25 01:47:34 +01:00
Gergely Nagy
f5d4985f39
Move documentation to a dedicated site
Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-25 01:31:38 +01:00
Gergely Nagy
764cf9afd0
Add an "initial_seed" option
The initial seed is used by the RNG, and the intended use is to allow
modifying the generated output without otherwise modifying the
configuration, while still being a static, controllable seed that can be
shared between instances if need be.

Thanks to @buherator@infosec.place for the idea!

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-19 19:16:04 +01:00
Gergely Nagy
fe7cf44f26
Another round of documentation updates
Moved the reverse proxy examples out of the README, into
`docs/deploying.md`. Also wrote the reverse proxy section for the
deployment docs.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-17 01:28:17 +01:00
Gergely Nagy
7b2e472e35
Major documentation update
This adds plenty of documentation: describing what iocaine is, how it
does what it does, and how to deploy it in various scenarios.

Not complete yet, but reasonably detailed nevertheless.

Signed-off-by: Gergely Nagy <me@gergo.csillger.hu>
2025-01-16 23:44:57 +01:00