mirror of
https://github.com/hanzoai/k8s.git
synced 2026-10-02 15:40:05 +00:00
At 75% it drops caches (unused images, the journal, stale /tmp and build caches); at 80% it labels the node hanzo.ai/disk=pressure so disk-heavy pods stay off; at 85% it purges rotated logs and the forge's push quarantines, then grows the EBS volume by half (6 h cooldown, 4 TiB ceiling) and the filesystem with it; at 90% it cordons the node. Its own module, standard library only, shipped as ghcr.io/hanzoai/disk. Co-authored-by: Hanzo Dev <[email protected]>
41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
# Canonical CI/CD config for hanzoai/k8s — read by the hanzoai/ci reusable workflow
|
|
# (.hanzo/workflows/cicd.yml) and by platform.hanzo.ai.
|
|
#
|
|
# The k8s service is a zip PLUGIN, so it ships as a BINARY a running host installs and
|
|
# verifies by digest, not as an image a cluster runs: the composition that serves
|
|
# /v1/k8s is hanzoai/cloud's, and it installs this artifact by URL + SHA-256 from the
|
|
# index published below.
|
|
#
|
|
# disk/ is the one image: the node agent that keeps every node's disks from filling,
|
|
# run as a DaemonSet (universe infra/aws/k8s/disk.yaml). Its own module, standard
|
|
# library only, so the plugin's gates and graph never see it.
|
|
binaries:
|
|
- name: k8s
|
|
main: .
|
|
platforms: [linux/amd64, linux/arm64]
|
|
|
|
images:
|
|
- name: disk
|
|
context: disk
|
|
dockerfile: disk/Dockerfile
|
|
repo: ghcr.io/hanzoai/disk
|
|
platforms:
|
|
- linux/amd64
|
|
- linux/arm64
|
|
|
|
test:
|
|
- name: go-test
|
|
# `make test`, never a bare `go test`: the target carries `go vet` and the four
|
|
# regeneration gates (declaration, OpenAPI, zipdoc, the op/plane bijection), and a
|
|
# bare run would skip every one of them while still exiting 0.
|
|
run: |
|
|
set -e
|
|
export GOPRIVATE='github.com/hanzoai/*' GOWORK=off
|
|
make test
|
|
- name: disk
|
|
run: |
|
|
set -e
|
|
cd disk
|
|
GOWORK=off go vet ./...
|
|
GOWORK=off go test ./... -count=1
|