Remove metering ConfigMap dependency.
Signed-off-by: Rao Yunkun <yunkunrao@yunify.com>
This commit is contained in:
@@ -33,25 +33,31 @@ import (
|
||||
"kubesphere.io/kubesphere/pkg/informers"
|
||||
model "kubesphere.io/kubesphere/pkg/models/monitoring"
|
||||
resourcev1alpha3 "kubesphere.io/kubesphere/pkg/models/resources/v1alpha3/resource"
|
||||
meteringclient "kubesphere.io/kubesphere/pkg/simple/client/metering"
|
||||
"kubesphere.io/kubesphere/pkg/simple/client/monitoring"
|
||||
)
|
||||
|
||||
type handler struct {
|
||||
k kubernetes.Interface
|
||||
mo model.MonitoringOperator
|
||||
opRelease openpitrix.ReleaseInterface
|
||||
k kubernetes.Interface
|
||||
mo model.MonitoringOperator
|
||||
opRelease openpitrix.ReleaseInterface
|
||||
meteringOptions *meteringclient.Options
|
||||
}
|
||||
|
||||
func NewHandler(k kubernetes.Interface, monitoringClient monitoring.Interface, metricsClient monitoring.Interface, f informers.InformerFactory, ksClient versioned.Interface, resourceGetter *resourcev1alpha3.ResourceGetter) *handler {
|
||||
func NewHandler(k kubernetes.Interface, monitoringClient monitoring.Interface, metricsClient monitoring.Interface, f informers.InformerFactory, ksClient versioned.Interface, resourceGetter *resourcev1alpha3.ResourceGetter, meteringOptions *meteringclient.Options) *handler {
|
||||
var opRelease openpitrix.Interface
|
||||
if ksClient != nil {
|
||||
opRelease = openpitrix.NewOpenpitrixOperator(f, ksClient, nil)
|
||||
}
|
||||
if meteringOptions == nil {
|
||||
meteringOptions = &meteringclient.DefaultMeteringOption
|
||||
}
|
||||
|
||||
return &handler{
|
||||
k: k,
|
||||
mo: model.NewMonitoringOperator(monitoringClient, metricsClient, k, f, resourceGetter),
|
||||
opRelease: opRelease,
|
||||
k: k,
|
||||
mo: model.NewMonitoringOperator(monitoringClient, metricsClient, k, f, resourceGetter),
|
||||
opRelease: opRelease,
|
||||
meteringOptions: meteringOptions,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -62,9 +62,9 @@ func (h handler) handleApplicationMetersQuery(meters []string, resp *restful.Res
|
||||
}
|
||||
|
||||
if q.isRangeQuery() {
|
||||
current_res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, opt)
|
||||
current_res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, opt, h.meteringOptions.Billing.PriceInfo)
|
||||
} else {
|
||||
current_res, err = h.mo.GetNamedMeters(meters, q.time, opt)
|
||||
current_res, err = h.mo.GetNamedMeters(meters, q.time, opt, h.meteringOptions.Billing.PriceInfo)
|
||||
}
|
||||
if err != nil {
|
||||
api.HandleBadRequest(resp, nil, err)
|
||||
@@ -119,9 +119,9 @@ func (h handler) handleServiceMetersQuery(meters []string, resp *restful.Respons
|
||||
}
|
||||
|
||||
if q.isRangeQuery() {
|
||||
current_res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, opt)
|
||||
current_res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, opt, h.meteringOptions.Billing.PriceInfo)
|
||||
} else {
|
||||
current_res, err = h.mo.GetNamedMeters(meters, q.time, opt)
|
||||
current_res, err = h.mo.GetNamedMeters(meters, q.time, opt, h.meteringOptions.Billing.PriceInfo)
|
||||
}
|
||||
if err != nil {
|
||||
api.HandleBadRequest(resp, nil, err)
|
||||
@@ -197,13 +197,13 @@ func (h handler) handleNamedMetersQuery(resp *restful.Response, q queryOptions)
|
||||
}
|
||||
|
||||
if q.isRangeQuery() {
|
||||
res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, q.option)
|
||||
res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, q.option, h.meteringOptions.Billing.PriceInfo)
|
||||
if err != nil {
|
||||
api.HandleBadRequest(resp, nil, err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
res, err = h.mo.GetNamedMeters(meters, q.time, q.option)
|
||||
res, err = h.mo.GetNamedMeters(meters, q.time, q.option, h.meteringOptions.Billing.PriceInfo)
|
||||
if err != nil {
|
||||
api.HandleBadRequest(resp, nil, err)
|
||||
return
|
||||
@@ -434,9 +434,9 @@ func (h handler) handleOpenpitrixMetersQuery(meters []string, resp *restful.Resp
|
||||
}
|
||||
|
||||
if q.isRangeQuery() {
|
||||
current_res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, opt)
|
||||
current_res, err = h.mo.GetNamedMetersOverTime(meters, q.start, q.end, q.step, opt, h.meteringOptions.Billing.PriceInfo)
|
||||
} else {
|
||||
current_res, err = h.mo.GetNamedMeters(meters, q.time, opt)
|
||||
current_res, err = h.mo.GetNamedMeters(meters, q.time, opt, h.meteringOptions.Billing.PriceInfo)
|
||||
}
|
||||
if err != nil {
|
||||
api.HandleBadRequest(resp, nil, err)
|
||||
|
||||
@@ -44,7 +44,7 @@ var GroupVersion = schema.GroupVersion{Group: groupName, Version: "v1alpha3"}
|
||||
func AddToContainer(c *restful.Container, k8sClient kubernetes.Interface, monitoringClient monitoring.Interface, metricsClient monitoring.Interface, factory informers.InformerFactory, ksClient versioned.Interface) error {
|
||||
ws := runtime.NewWebService(GroupVersion)
|
||||
|
||||
h := NewHandler(k8sClient, monitoringClient, metricsClient, factory, ksClient, nil)
|
||||
h := NewHandler(k8sClient, monitoringClient, metricsClient, factory, ksClient, nil, nil)
|
||||
|
||||
ws.Route(ws.GET("/kubesphere").
|
||||
To(h.handleKubeSphereMetricsQuery).
|
||||
|
||||
Reference in New Issue
Block a user