Files
loki/vendor/github.com/go-openapi/spec/xml_object.go
Peter Štibraný e60164bef6 Convert Loki modules to services (#1804)
* Loki now uses module services to start and stop its work.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use services methods to initialize some components.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use Cortex' NewModuleService.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Converted server to a service.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Converted distributor to service.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use table manager service

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* querier service

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* query-frontend service

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Merged stopping method into shutdown

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Converted ingester to a service.

It now starts all background tasks in Starting state.
Stopping needs little work, as does reacting on lifecycler errors.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Loki

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* If lifecycler fails, ingester fails too.

It now doesn't call os.Exit, but shuts down gracefully and enters Failed state.
That triggers Loki to shutdown completely.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Ignore ErrStopProcess errors from services

This is a signal that Loki should stop.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use single /ready handler

It checks the state of all services, and asks ingester for its own check as well.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Removed unused value.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Lint

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Fix test.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Go mod tidy, vendor

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Tailers, not trailers.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Adds return for the healtcheck in case of error.

Signed-off-by: Cyril Tovena <cyril.tovena@gmail.com>

Co-authored-by: Cyril Tovena <cyril.tovena@gmail.com>
2020-04-23 12:21:51 -04:00

69 lines
1.9 KiB
Go

// Copyright 2015 go-swagger maintainers
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package spec
// XMLObject a metadata object that allows for more fine-tuned XML model definitions.
//
// For more information: http://goo.gl/8us55a#xmlObject
type XMLObject struct {
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Prefix string `json:"prefix,omitempty"`
Attribute bool `json:"attribute,omitempty"`
Wrapped bool `json:"wrapped,omitempty"`
}
// WithName sets the xml name for the object
func (x *XMLObject) WithName(name string) *XMLObject {
x.Name = name
return x
}
// WithNamespace sets the xml namespace for the object
func (x *XMLObject) WithNamespace(namespace string) *XMLObject {
x.Namespace = namespace
return x
}
// WithPrefix sets the xml prefix for the object
func (x *XMLObject) WithPrefix(prefix string) *XMLObject {
x.Prefix = prefix
return x
}
// AsAttribute flags this object as xml attribute
func (x *XMLObject) AsAttribute() *XMLObject {
x.Attribute = true
return x
}
// AsElement flags this object as an xml node
func (x *XMLObject) AsElement() *XMLObject {
x.Attribute = false
return x
}
// AsWrapped flags this object as wrapped, this is mostly useful for array types
func (x *XMLObject) AsWrapped() *XMLObject {
x.Wrapped = true
return x
}
// AsUnwrapped flags this object as an xml node
func (x *XMLObject) AsUnwrapped() *XMLObject {
x.Wrapped = false
return x
}