Commit Graph

16 Commits

Author SHA1 Message Date
argoyle dae4e8a135 fix(k8s): raise schemas CPU request from 20m to 100m
schemas / vulnerabilities (pull_request) Successful in 2m7s
schemas / check (pull_request) Successful in 2m52s
schemas / check-release (pull_request) Successful in 5m32s
pre-commit / pre-commit (pull_request) Successful in 7m2s
schemas / build (pull_request) Successful in 6m24s
schemas / deploy-prod (pull_request) Has been skipped
HPA was pinning the deployment at maxReplicas (4) even though aggregate
CPU usage was low. The service is event-driven: pods sit at ~0-1m idle
but spike to 100-300m per supergraph query. With requests.cpu=20m those
bursts read as 500-1500% utilization, so the HPA's 60% target was
constantly exceeded on whichever pod handled the request.

Raise the request to 100m so bursts read as 100-300% instead. Combined
with the HPA's downscale stabilization window this lets replicas settle
back to minReplicas (2) between bursts.
2026-05-19 09:07:39 +02:00
argoyle c4829cf280 fix: raise Node heap cap to 512MB and bump pod memory limit (#838)
Release / release (push) Failing after 50s
schemas / vulnerabilities (push) Successful in 2m4s
schemas / check (push) Successful in 2m21s
schemas / check-release (push) Successful in 2m50s
pre-commit / pre-commit (push) Successful in 5m58s
schemas / build (push) Successful in 12m18s
schemas / deploy-prod (push) Successful in 1m10s
2026-05-19 05:20:34 +00:00
argoyle 43765101f5 fix(k8s): point OTEL endpoint to k8s-monitoring-alloy service (#839)
Release / release (push) Failing after 51s
schemas / vulnerabilities (push) Successful in 1m48s
schemas / check (push) Successful in 2m31s
schemas / check-release (push) Successful in 3m1s
pre-commit / pre-commit (push) Successful in 6m59s
schemas / build (push) Successful in 13m14s
schemas / deploy-prod (push) Successful in 1m20s
The receiver suffix was stale — the `grafana-k8s-monitoring` module deploys a single Service named `k8s-monitoring-alloy` in the `monitoring` namespace, not `k8s-monitoring-alloy-receiver`. Pods were failing to ship traces with:

```
dial tcp: lookup k8s-monitoring-alloy-receiver.monitoring.svc.cluster.local on 100.64.0.10:53: no such host
```

Drop the `-receiver` suffix so the OTLP exporter resolves the correct service.

Reviewed-on: #839
2026-05-19 05:13:51 +00:00
argoyle 73eae98929 feat: migrate from GitLab CI to Gitea Actions
schemas / vulnerabilities (pull_request) Successful in 2m15s
schemas / check-release (pull_request) Successful in 2m17s
schemas / check (pull_request) Successful in 4m48s
pre-commit / pre-commit (pull_request) Successful in 5m58s
schemas / build (pull_request) Successful in 3m36s
schemas / deploy-prod (pull_request) Has been skipped
- Update git remote to git.unbound.se
- Add Gitea workflows: ci.yaml, pre-commit.yaml, release.yaml, goreleaser.yaml
- Delete .gitlab-ci.yml
- Update Go module path to gitea.unbound.se/unboundsoftware/schemas
- Update all imports to new module path
- Update Docker registry to oci.unbound.se
- Update .goreleaser.yml for Gitea releases with internal cluster URL
- Remove GitLab CI linter from pre-commit config
- Use shared release workflow with tag_only for versioning

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 22:53:46 +01:00
argoyle a9dea19531 feat(health): add health checking endpoints and logic
Introduce health checking functionality with liveness and readiness 
endpoints to monitor the application's status. Implement a health 
checker that verifies database connectivity and provides a simple 
liveness check. Update service routing to use the new health 
checker functionality. Add corresponding unit tests for validation.
2025-11-21 10:24:34 +01:00
argoyle 2948905005 feat(k8s): add OpenTelemetry exporter endpoint to deploy.yaml
Add the OTEL_EXPORTER_OTLP_ENDPOINT environment variable to 
the deployment configuration. This change enables the application 
to send telemetry data to the specified OpenTelemetry collector 
endpoint for better monitoring and observability.
2025-06-13 11:36:19 +02:00
argoyle e84df1db08 refactor: remove Sentry integration and replace with OpenTelemetry
Remove Sentry dependencies and configuration. Introduce monitoring 
setup for OpenTelemetry. Update logging to include log format 
options, and replace Sentry error handling middleware with 
monitoring handlers for GraphQL playground. Adjust environment 
variable handling to enhance configuration clarity and flexibility.
2025-06-13 11:00:52 +02:00
argoyle 8e02bfb0a2 refactor(deploy): remove cpu and memory limits for schemas
Removes the CPU and memory limits for the schemas container in the
Kubernetes deployment configuration. This change is made to allow
for greater flexibility in resource allocation based on runtime
demands, ensuring better performance in varying load conditions.
2025-04-12 10:44:13 +02:00
argoyle 4dd79e3d73 fix(k8s): increase CPU request for better performance
Adjusts the CPU requests from "10m" to "20m" in the deploy.yaml file to 
improve application performance and ensure stability under load.
2025-04-10 17:19:48 +02:00
argoyle 2ba10d763d feat(k8s): add RabbitMQ configurations and update secrets
Add a new extract for RabbitMQ in the secrets and include
AMQP_URL in local secrets. Update the merge policy and
engine version in the deployment template. Remove unused
RabbitMQ secret reference from the deployment. These changes
improve configuration management and ensure consistency
between environments.
2025-04-08 07:49:54 +02:00
argoyle 74823a8947 fix(k8s): standardize app label to app.kubernetes.io/name
Update Kubernetes YAML files to replace the app label with the 
standard app.kubernetes.io/name label for better consistency 
and adherence to best practices in Kubernetes resource labeling.
2025-01-24 15:14:13 +01:00
argoyle 7fc195e44e fix(k8s): adjust CPU requests for better resource allocation
Reduces the CPU request from "100m" to "10m" in the deploy.yaml file to 
optimize resource usage and improve deployment efficiency in the 
Kubernetes environment. This change helps to allocate resources more 
effectively while maintaining application performance.
2024-12-08 21:14:06 +01:00
argoyle e6152b379f fix: no digest pinning of own image
Adds a package rule to disable updates for the 
'unboundsoftware/schemas' package in Kubernetes. 
Modifies the image reference in the deployment 
configuration to remove the specific SHA256 hash 
and use a dynamic commit tag instead. This 
improves maintainability and aligns with the 
latest deployment practices.
2024-11-03 20:37:33 +01:00
Renovate d5a171eb76 chore(deps): pin dependencies 2024-11-03 17:53:13 +00:00
argoyle be878a3f2a chore: update resources 2024-03-24 09:20:48 +01:00
argoyle a1b4d4fc27 feat: initial commit 2022-10-09 20:37:48 +02:00