- Add whizard-crds charts (#480) @frezes
- Add upgrade crds hook and stripped down crds (#476) @frezes
- Add a built-in user of the gateway when authentication is enabled (#451) @frezes
- Add post-delete hook and update whizard helm charts (#435) @frezes
- Get config form ServiceCR and remove MonitoringOptions in whizard-config (#425) @frezes
- Complete the service configuration (#423) @frezes
- Add container customization (#415) @junotx
- Change disableAlertingRulesAutoSelection default to be true (#457) @junotx
- Support to disable auto select alerting rules in tenant ruler (#414) @junotx
- Supports authentication of external data sources (#404) @frezes
- Add a built-in query UI to the gateway (#397) @frezes
- Update whizard-controller-manager resource limits (#486) @frezes
- Upgrade thanos version to v0.34.1 (#481) @frezes
- Update servicemonitors (#472) @junotx
- Update cortex-tenant version (#461) @frezes
- Add setting global.imageRegistry and global.nodeSelector in the helm values (#460) @frezes
- Refactor access external datasource (#450) @frezes
- Refactor tls configuration support and remove envoy sidecar (#441) @frezes
- Set a default tsdb volume if not specified (#434) @junotx
- Add separator to crds (#496) @junotx
- Fix label values api (#458) @junotx
- Fix panic when remotequery is nil (#413) @junotx
- Fix invalid remote write address in ruler (#420) @junotx
- Bump thanosio/thanos from v0.33.0 to v0.34.1 in /build/monitoring-block-manager (#470) @dependabot
- Bump actions/setup-go from 4 to 5 (#443) @dependabot
- Bump actions/cache from 3 to 4 (#444) @dependabot
- Bump actions/checkout from 3 to 4 (#445) @dependabot
- Bump k8s.io/klog/v2 from 2.110.1 to 2.120.1 (#448) @dependabot
- Bump release-drafter/release-drafter from 5 to 6 (#459) @dependabot
- Bump golang from 1.21.6 to 1.22.0 in /build/monitoring-agent-proxy (#462) @dependabot
- Bump helm/kind-action from 1.8.0 to 1.9.0 (#463) @dependabot
- Bump golang from 1.21.6 to 1.22.0 in /build/monitoring-block-manager (#464) @dependabot
- Bump golang from 1.21.6 to 1.22.0 in /build/monitoring-gateway (#465) @dependabot
- Bump golang from 1.21.6 to 1.22.0 in /build/controller-manager (#466) @dependabot
- Bump thanosio/thanos from v0.32.5 to v0.33.0 in /build/monitoring-block-manager (#416) @dependabot
- Bump k8s.io/apiextensions-apiserver from 0.28.4 to 0.29.1 (#439) @dependabot
- Bump k8s.io/apimachinery from 0.28.4 to 0.29.1 (#440) @dependabot
- Bump actions/setup-python from 4 to 5 (#408) @dependabot
- Bump actions/setup-go from 4 to 5 (#407) @dependabot
- Bump github.com/prometheus/common from 0.44.0 to 0.46.0 (#432) @dependabot
- Bump golang from 1.21.4 to 1.21.6 in /build/monitoring-block-manager (#433) @dependabot
- Bump golang from 1.21.4 to 1.21.6 in /build/monitoring-agent-proxy (#430) @dependabot
- Bump golang from 1.21.4 to 1.21.6 in /build/monitoring-gateway (#429) @dependabot
- Bump golang from 1.21.4 to 1.21.6 in /build/controller-manager (#428) @dependabot
- Bump docker/setup-buildx-action from 2 to 3 (#362) @dependabot
- Bump docker/setup-qemu-action from 2 to 3 (#361) @dependabot
- Bump docker/login-action from 2 to 3 (#360) @dependabot
- Upgrade dependencies (#398) @frezes
Full Changelog: https://github.com/WhizardTelemetry/whizard/compare/v0.9.0...v0.10.0
- Add promqlEngine switch and the default is thanos(#366)
- Add helm lint and test (#338)
- Gateway supports server-side basic_auth authentication configuration(#332)
- Add persistentVolumeClaimRetentionPolicy config(#330)
- Add securityContext (#329)
- Add genSignedCert in charts(#316)
- Add time partition support(#311)
- Gateway supports tenant access control(#310)
- Gateway enhancement and refactor(#310)
- Upgrade thanos version to v0.32.2(#335)
- Fix dependabot security alerts(#329)
- Upgrade go version to 1.21(#306)
- Fix rulerOptions missing dataVolume (#356)
- Add ruler emptyDir volume mount (#352)
- Fix bug to add emptyDir volume(#340, #350)
- Fix rulerOptions missing dataVolume (#356) @frezes
- Add helm lint and test (#338) @frezes
- Gateway supports server-side basic_auth authentication configuration(#332)
- Add persistentVolumeClaimRetentionPolicy config(#330)
- Add securityContext (#329)
- Add genSignedCert in charts(#316)
- Add time partition support(#311)
- Gateway supports tenant access control(#310)
- Gateway enhancement and refactor(#310)
- Upgrade thanos version to v0.32.2(#335)
- Fix dependabot security alerts(#329)
- Upgrade go version to 1.21(#306)
- Support external remote write and query (#290)
- Gateway: Replace tenant matcher of query param for query api (#297)
- Optimize ingester data cleanup when a tenant is deleted (#291)
- Optimize transport parameters for agent proxy component (#286)
- Fix values config in the chart (#292)
- Support external remote write and query (#290)
- Optimize ingester data cleanup when a tenant is deleted (#291)
- Optimize transport parameters for agent proxy component (#286)
- Fix values config in the chart (#292)
- Allow to override --query flag for global ruler to query external data sources(#277)
- Components support https configuration(#264)
- Gateway supports tls configuration for downstream services(#263)
- Fix ruler name conflicts (#265)
- Fixed ruler name being too long(#250)
- Optionally deploy Store HPA(#246)
- Degrade Thanos Query to v0.30.2(#252)
- Support to configure imagePullSecrets for private registry(#241)
- Donot copy all labels of custom resources to managed workloads to fix that managed workloads cannot be upgraded(#230)
- Fix object storage config in chart(#231)
- Optimize tenant data cleaning on ingester(#182)
- Add tenant selector in store(#171)
- Allow tenants to monopolize resources(#170)
- Allows global configuration to update compactor.retention(#186)
- Adjust ingester retention period(#185)
- Upgrade dependencies(#188, #157, #208)
- Update charts(#187, #162)
- Support mutil-arch image build(#136)
- Upgrade Thanos to v0.31.0(#208)
- Update Ruler to query from QueryFrontend with a higher performance than Query(#211)
- Fix tls secret volume mount in storage component(#183)
- Fix mapstructure decode bugs and add config unit test(#137)
- Fix override method bugs and add options unit test(#160)
- Fix resources config parse and override error (#208)
- Update the ruler to query from the QueryFrontend with a higher performance than the Query(#211)
- Update go4.org/unsafe/assume-no-moving-gc to fix the build failed to run with go1.20(#211)
- Fix some bugs(#201)
- Optimize tenant data cleaning on ingester(#182)
- Add tenant selector in store(#171)
- Allow tenants to monopolize resources(#170)
- Allows global configuration to update compactor.retention(#186)
- Adjust ingester retention period(#185)
- Upgrade dependencies(#188, #157)
- Update charts(#187, #162)
- Support mutil-arch image build(#136)
- Fix tls secret volume mount in storage component(#183)
- Fix mapstructure decode bugs and add config unit test(#137)
- Fix override method bugs and add options unit test(#160)
This is the first release of whizard.
Whizard is a distributed cloud observability platform that provides unified observability (currently monitoring and alerting) for Multi-Cloud, On-Premise and Edge infrastructures and applications.
The Whizard Controller Manager simplifies and automates the configuration and deployment of the whizard components by the following CRDs:
Compactor
: Defines the Compactor component, which does the block compaction and life cycle management for the object storages.Gateway
: Defines the Gateway component, which provides an unified entrypoints for metrics read and write requests.Ingester
: Defines the Ingester component, which receives metrics data from routers, caches data in memory, flushs data to disk, and finally uploads metrics blocks to object storage.Query
: Defines the Query component, which fetches data from the ingesters and/or stores and then evaluates the query.QueryFrontend
: Defines the Query Frontend component, which improves the query performance by request spliting and result caching.Router
: Defines the Router component, which routes and replicates the metrics to the ingesters.Ruler
: Defines the Ruler component, which evaluates recording and alerting rules.Service
: Defines a Whizard Service, which connects different whizard components together to provide a complete monitoring service. It also contains shared configurations of different components.Storage
: Defines the Storage instance, which contains the object storage configuration, and a block manager component for the block inspection and GC.Store
: Defines the Store instance, which facilitates metrics reads from the object storage.Tenant
: Defines a tenant which is the basic unit of resource isolation and auto scaling.
- Whizard components support multi-tenancy and are able to auto scale.
- The store component supports to auto scale based on its actual load.
- The ruler component also can also scale based on rule group sharding for a single tenant with too many rules.
- Whizard provides metrics data life cycle management for data on disk or in object storage. If a tenant is deleted, Whizard can automatically cleanup this tenant's blocks in the object storage or on local disk.
- Whizard also has an agent proxy component that implements the Prometheus HTTP v1 API (reads/writes), which can be used as a data collection agent and a query proxy.