Commit Graph

138 Commits

Author SHA1 Message Date
renovate[bot]
8459b80451 chore(deps): Update module golang.org/x/sync to v0.19.0 (#148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-08 23:36:46 +00:00
renovate[bot]
7508715397 chore(deps): Update module github.com/spf13/cobra to v1.10.2 (#147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 07:28:42 +00:00
renovate[bot]
659ef04d3f chore(deps): Update module github.com/olekukonko/tablewriter to v1.1.2 (#146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 17:10:23 +00:00
renovate[bot]
3b8362a640 chore(deps): Update actions/setup-go action to v6 (#131) 2025-11-26 22:22:12 +00:00
renovate[bot]
0ae498cfd2 chore(deps): Update amannn/action-semantic-pull-request action to v6 (#117) 2025-11-26 08:49:23 +00:00
renovate[bot]
2e75867a2c chore(deps): Update actions/labeler action to v6 (#129) 2025-11-26 08:43:49 +00:00
renovate[bot]
da33d0767a chore(deps): Update GitHub Artifact Actions (#112) 2025-11-26 08:38:32 +00:00
renovate[bot]
940b8851f3 chore(deps): Update github.com/sierrasoftworks/humane-errors-go digest to 6b4ca9d (#116) 2025-11-26 08:32:54 +00:00
renovate[bot]
9d37e4d0e0 chore(deps): Update golangci/golangci-lint-action action to v9 (#140) 2025-11-26 08:27:18 +00:00
renovate[bot]
ee845c96da chore(deps): Update actions/checkout action to v6 (#145) 2025-11-26 09:22:19 +01:00
renovate[bot]
682d15abe1 chore(deps): Update module go.uber.org/zap to v1.27.1 (#144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 05:54:51 +00:00
renovate[bot]
c891384ed3 chore(deps): Update module google.golang.org/grpc to v1.77.0 (#143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-18 22:44:40 +00:00
renovate[bot]
731de17934 chore(deps): Update module github.com/olekukonko/tablewriter to v1.1.1 (#142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-09 14:32:55 +00:00
renovate[bot]
20af75e36a chore(deps): Update module golang.org/x/sync to v0.18.0 (#141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 18:40:21 +00:00
renovate[bot]
bca920c510 chore(deps): Update module github.com/grpc-ecosystem/go-grpc-middleware/v2 to v2.3.3 (#139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-05 01:51:40 +00:00
renovate[bot]
4610f83e56 chore(deps): Update module google.golang.org/grpc to v1.76.0 (#138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-07 05:07:26 +00:00
renovate[bot]
10839c5bf6 chore(deps): Update module google.golang.org/protobuf to v1.36.10 (#137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-02 14:46:11 +00:00
renovate[bot]
c6c7166a87 chore(deps): Update module github.com/olekukonko/tablewriter to v1.1.0 (#136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 21:15:11 +00:00
renovate[bot]
19c58fda60 chore(deps): Update module golang.org/x/sync to v0.17.0 (#135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 01:57:37 +00:00
renovate[bot]
551c3b50ba chore(deps): Update module github.com/spf13/viper to v1.21.0 (#134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 20:42:31 +00:00
renovate[bot]
4f56e1a568 chore(deps): Update module github.com/spf13/cobra to v1.10.1 (#133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 17:28:42 +00:00
renovate[bot]
de8ca4c27b chore(deps): Update module google.golang.org/protobuf to v1.36.9 (#132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 13:38:55 +00:00
renovate[bot]
339b6881f2 chore(deps): Update module google.golang.org/grpc to v1.75.1 (#130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 09:07:40 +00:00
renovate[bot]
7e2cb1d9c3 chore(deps): Update module github.com/spf13/pflag to v1.0.10 (#128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 04:27:33 +00:00
renovate[bot]
c30a64acd9 chore(deps): Update module github.com/spechtlabs/go-otel-utils/otelzap to v0.0.15 (#127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 01:15:17 +00:00
renovate[bot]
055fcb98b2 chore(deps): Update module github.com/spechtlabs/go-otel-utils/otelprovider to v0.0.15 (#126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 21:52:32 +00:00
renovate[bot]
a4e4e468d1 chore(deps): Update module github.com/prometheus/client_golang to v1.23.2 (#125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 17:25:50 +00:00
renovate[bot]
a710b17abf chore(deps): Update module github.com/stretchr/testify to v1.11.1 (#124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 23:30:10 +00:00
renovate[bot]
eaf26cabd2 chore(deps): Update module github.com/stretchr/testify to v1.11.0 (#123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-25 05:34:52 +00:00
renovate[bot]
b0da67eaae chore(deps): Update module github.com/spechtlabs/go-otel-utils/otelzap to v0.0.13 (#122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-25 00:49:46 +00:00
renovate[bot]
0cfdb935b5 chore(deps): Update module github.com/spechtlabs/go-otel-utils/otelprovider to v0.0.13 (#121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 20:50:37 +00:00
renovate[bot]
2679c21423 chore(deps): Update module google.golang.org/protobuf to v1.36.8 (#120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 00:54:35 +00:00
renovate[bot]
4f3bea45fe chore(deps): Update module tinygo.org/x/drivers to v0.33.0 (#119)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 01:54:31 +00:00
renovate[bot]
a2f06d99ec chore(deps): Update module google.golang.org/protobuf to v1.36.7 (#113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-07 17:23:04 +00:00
renovate[bot]
24cb5f0d4a chore(deps): Update module github.com/prometheus/client_golang to v1.23.0 (#111)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 00:39:48 +00:00
renovate[bot]
19805dd5ae chore(deps): Update module github.com/olekukonko/tablewriter to v1.0.9 (#110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 23:27:58 +00:00
github-actions[bot]
354c7b62c6 chore(main): release 0.11.1 (#109)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v0.11.1
2025-07-23 20:51:36 +02:00
Cedric Specht
ddee9b2c14 fix(cmd_root.go): change alias for --all flag from lowercase 'a' to uppercase 'A' for consistency with other flags (#108) 2025-07-23 20:49:29 +02:00
renovate[bot]
1471ac9376 chore(deps): Update module google.golang.org/grpc to v1.74.2 (#107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 19:49:48 +00:00
renovate[bot]
1865cc3163 chore(deps): Update module google.golang.org/grpc to v1.74.0 (#106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 06:36:40 +00:00
renovate[bot]
97e9dc4e5e chore(deps): Update module github.com/spf13/pflag to v1.0.7 (#105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 03:12:16 +00:00
renovate[bot]
25758de65d chore(deps): Update module golang.org/x/sync to v0.16.0 (#104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 23:57:09 +00:00
renovate[bot]
c5c330ffa3 chore(deps): Update module github.com/olekukonko/tablewriter to v1.0.8 (#103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 18:42:02 +00:00
renovate[bot]
2d9fa62ac0 chore(deps): Update module tinygo.org/x/drivers to v0.32.0 (#102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 23:50:24 +00:00
Cedric Kienzler
b176f86394 refactor(bladectl): use short-commit sha in version cmd 2025-06-07 00:53:01 +02:00
Cedric Kienzler
f6234b5a3d chore(build): bump-patch-for-minor-pre-major
pre 1.0.0 we bump the minor for breaking and the patch for feature
changes.
2025-06-07 00:19:03 +02:00
github-actions[bot]
ebb492b71a chore(main): release 0.11.0 (#101)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v0.11.0
2025-06-07 00:16:46 +02:00
Cedric Kienzler
062e36e33a feat(bladectl): add server version information to output (#100)
add server version information to output
ensure the blade-name is always set

---------

Co-authored-by: Cedric Kienzler <cedric@specht-labs.de>
2025-06-06 22:14:29 +00:00
github-actions[bot]
4acfa27158 chore(main): release 0.10.0 (#99)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v0.10.0
2025-06-06 23:05:27 +02:00
Cedric Kienzler
781ded8e43 feat(bladectl)!: add more bladectl commands (#91)
This PR introduces a comprehensive set of new subcommands to bladectl, expanding its capabilities for querying and managing compute blade state. It also includes an internal refactor to simplify interface management across the gRPC API.

* `get`
	* `fan`: Returns current fan speed.
	* `identify`: Indicates whether the identify mode is active.
	* `stealth`: Shows if stealth mode is currently enabled.
	* `status`: Prints a full blade status report.
	* `temperature`: Retrieves current SoC temperature.
	* `critical`: Shows whether critical mode is active.
	* `power`: Reports the current power source (e.g., PoE+ or USB).
* `set`
	* `stealth`: Enables stealth mode.
* `remove`
	* `stealth`: Disables stealth mode.
* `describe`
	* `fan`: Outputs the current fan curve configuration.
* `monitor`: plot some charts about the state of the compute-blade-agent

* **gRPC API refactor**: The gRPC service definitions previously located in `internal/api` have been folded into `internal/agent`. This eliminates redundant interface declarations and ensures that all ComputeBladeAgent implementations are directly compatible with the gRPC API.
This reduces duplication and improves long-term maintainability and clarity of the interface contract.

```bash
bladectl set fan --percent 90 --blade 1 --blade 2
bladectl unset identify --blade 1 --blade 2 --blade 3 --blade 4
bladectl set stealth --blade 1 --blade 2 --blade 3 --blade 4
bladectl get status --blade 1 --blade 2 --blade 3 --blade 4
┌───────┬─────────────┬────────────────────┬───────────────┬──────────────┬──────────┬───────────────┬──────────────┐
│ BLADE │ TEMPERATURE │ FAN SPEED OVERRIDE │ FAN SPEED     │ STEALTH MODE │ IDENTIFY │ CRITICAL MODE │ POWER STATUS │
├───────┼─────────────┼────────────────────┼───────────────┼──────────────┼──────────┼───────────────┼──────────────┤
│ 1     │ 50°C        │ 90%                │ 5825 RPM(90%) │ Active       │ Off      │ Off           │ poe+         │
│ 2     │ 48°C        │ 90%                │ 5825 RPM(90%) │ Active       │ Off      │ Off           │ poe+         │
│ 3     │ 49°C        │ Not set            │ 4643 RPM(56%) │ Active       │ Off      │ Off           │ poe+         │
│ 4     │ 49°C        │ Not set            │ 4774 RPM(58%) │ Active       │ Off      │ Off           │ poe+         │
└───────┴─────────────┴────────────────────┴───────────────┴──────────────┴──────────┴───────────────┴──────────────┘
bladectl rm stealth --blade 1 --blade 2 --blade 3 --blade 4
bladectl rm fan --blade 1 --blade 2 --blade 3 --blade 4
bladectl get status --blade 1 --blade 2 --blade 3 --blade 4
┌───────┬─────────────┬────────────────────┬───────────────┬──────────────┬──────────┬───────────────┬──────────────┐
│ BLADE │ TEMPERATURE │ FAN SPEED OVERRIDE │ FAN SPEED     │ STEALTH MODE │ IDENTIFY │ CRITICAL MODE │ POWER STATUS │
├───────┼─────────────┼────────────────────┼───────────────┼──────────────┼──────────┼───────────────┼──────────────┤
│ 1     │ 51°C        │ Not set            │ 5177 RPM(66%) │ Off          │ Off      │ Off           │ poe+         │
│ 2     │ 49°C        │ Not set            │ 5177 RPM(58%) │ Off          │ Off      │ Off           │ poe+         │
│ 3     │ 50°C        │ Not set            │ 4659 RPM(60%) │ Off          │ Off      │ Off           │ poe+         │
│ 4     │ 48°C        │ Not set            │ 4659 RPM(54%) │ Off          │ Off      │ Off           │ poe+         │
└───────┴─────────────┴────────────────────┴───────────────┴──────────────┴──────────┴───────────────┴──────────────┘
```

when having multiple compute-blades in your bladeconfig:

```yaml
blades:
    - name: 1
      blade:
        server: blade-pi1:8081
        cert:
            certificate-authority-data: <redacted>
            client-certificate-data: <redacted>
            client-key-data: <redacted>
    - name: 2
      blade:
        server: blade-pi2:8081
        cert:
            certificate-authority-data: <redacted>
            client-certificate-data: <redacted>
            client-key-data: <redacted>
    - name: 3
      blade:
        server: blade-pi3:8081
        cert:
            certificate-authority-data: <redacted>
            client-certificate-data: <redacted>
            client-key-data: <redacted>
    - name: 4
      blade:
        server: blade-pi4:8081
        cert:
            certificate-authority-data: <redacted>
            client-certificate-data: <redacted>
            client-key-data: <redacted>
    - name: 4
      blade:
        server: blade-pi4:8081
        cert:
            certificate-authority-data: <redacted>
            client-certificate-data: <redacted>
            client-key-data: <redacted>
current-blade: 1
```

Fixes #4, #9 (partially), should help with #5

* test: improve unit-testing

* fix: pin github.com/warthog618/gpiod

---------

Co-authored-by: Cedric Kienzler <cedric@specht-labs.de>
2025-06-06 23:03:43 +02:00