package aggregator
import "k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator"
Index ¶
- Variables
- type CacheableDownloader
- type Downloader
- func NewDownloader() Downloader
- func (s *Downloader) Download(handler http.Handler, etag string) (returnSpec *spec.Swagger, newEtag string, httpStatus int, err error)
- type SpecAggregator
Variables ¶
Types ¶
type CacheableDownloader ¶
type CacheableDownloader interface { UpdateHandler(http.Handler) Get() (*spec.Swagger, string, error) }
func NewCacheableDownloader ¶
func NewCacheableDownloader(apiServiceName string, downloader *Downloader, handler http.Handler) CacheableDownloader
NewCacheableDownloader creates a downloader that also returns the etag, making it useful to use as a cached dependency.
type Downloader ¶
type Downloader struct { }
Downloader is the OpenAPI downloader type. It will try to download spec from /openapi/v2 or /swagger.json endpoint.
func NewDownloader ¶
func NewDownloader() Downloader
NewDownloader creates a new OpenAPI Downloader.
func (*Downloader) Download ¶
func (s *Downloader) Download(handler http.Handler, etag string) (returnSpec *spec.Swagger, newEtag string, httpStatus int, err error)
Download downloads openAPI spec from /openapi/v2 endpoint of the given handler. httpStatus is only valid if err == nil
type SpecAggregator ¶
type SpecAggregator interface { AddUpdateAPIService(apiService *v1.APIService, handler http.Handler) error // UpdateAPIServiceSpec updates the APIService. It returns ErrAPIServiceNotFound if the APIService doesn't exist. UpdateAPIServiceSpec(apiServiceName string) error RemoveAPIService(apiServiceName string) }
SpecAggregator calls out to http handlers of APIServices and merges specs. It keeps state of the last known specs including the http etag.
func BuildAndRegisterAggregator ¶
func BuildAndRegisterAggregator(downloader *Downloader, delegationTarget server.DelegationTarget, webServices []*restful.WebService, config *common.Config, pathHandler common.PathHandler) (SpecAggregator, error)
BuildAndRegisterAggregator registered OpenAPI aggregator handler. This function is not thread safe as it only being called on startup.
Source Files ¶
aggregator.go downloader.go metrics.go priority.go
- Version
- v0.32.2 (latest)
- Published
- Feb 13, 2025
- Platform
- linux/amd64
- Imports
- 26 packages
- Last checked
- 1 month ago –
Tools for package owners.