From bd47dab6da98f7ca773cef477b8eca410fbba908 Mon Sep 17 00:00:00 2001 From: Jake Schuurmans Date: Fri, 26 Jan 2024 13:39:38 -0500 Subject: [PATCH] FS-1101; Fixing things brought up in review --- .goreleaser.yaml | 1 - Makefile | 11 ++--- README.md | 11 +++++ cmd/inventory.go | 10 ++-- cmd/test.go | 10 ++-- config.yaml | 4 +- internal/app/app.go | 22 +++------ internal/app/config.go | 28 +++++------ internal/app/errors.go | 12 +++++ internal/client/clients.go | 92 ++++++++++++++----------------------- internal/client/errors.go | 11 ----- internal/client/fleetdb.go | 32 ++++++------- internal/client/tasks.go | 14 ++---- internal/model/model.go | 16 +------ internal/version/version.go | 2 +- 15 files changed, 114 insertions(+), 162 deletions(-) create mode 100644 internal/app/errors.go delete mode 100644 internal/client/errors.go diff --git a/.goreleaser.yaml b/.goreleaser.yaml index d53ee36..855b202 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -9,7 +9,6 @@ builds: - CGO_ENABLED=0 goos: - linux - - darwin ldflags: - -X "github.com/metal-toolbox/fleet-scheduler/internal/version.AppVersion={{ .Version }}" -X "github.com/metal-toolbox/fleet-scheduler/internal/version.GoVersion={{ .Env.GOVERSION }}" diff --git a/Makefile b/Makefile index ef047f8..ad773c0 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,7 @@ GIT_SUMMARY := $(shell git describe --tags --dirty --always) VERSION := $(shell git describe --tags 2> /dev/null) BUILD_DATE := $(shell date +%s) GIT_COMMIT_FULL := $(shell git rev-parse HEAD) -GO_VERSION := $(shell expr `go version |cut -d ' ' -f3 |cut -d. -f2` \>= 16) -DOCKER_IMAGE_INBAND := "ghcr.io/metal-toolbox/fleet-scheduler" +GO_VERSION := $(shell expr `go version |cut -d ' ' -f3 |cut -d. -f2` \>= 21) DOCKER_IMAGE := "ghcr.io/metal-toolbox/fleet-scheduler" REPO := "https://github.com/metal-toolbox/fleet-scheduler.git" @@ -25,12 +24,12 @@ lint: ## Go mod go-mod: - go mod tidy -compat=1.19 && go mod vendor + go mod tidy -compat=1.21 && go mod vendor ## build osx bin build-osx: ifeq ($(GO_VERSION), 0) - $(error build requies go version 1.17.n or higher) + $(error build requies go version 1.21 or higher) endif GOOS=darwin GOARCH=amd64 go build -o $(PROJECT_NAME) \ -ldflags \ @@ -43,7 +42,7 @@ endif ## Build linux bin build-linux: ifeq ($(GO_VERSION), 0) - $(error build requies go version 1.16.n or higher) + $(error build requies go version 1.21 or higher) endif GOOS=linux GOARCH=amd64 go build -o $(PROJECT_NAME) \ -ldflags \ @@ -69,7 +68,7 @@ push-image-devel: build-image ## push docker image push-image: - docker push ${DOCKER_IMAGE_INBAND}:latest + docker push ${DOCKER_IMAGE}:latest # https://gist.github.com/prwhite/8168133 # COLORS diff --git a/README.md b/README.md index 6ea7375..c5b2228 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,17 @@ Fleet Scheduler jobs can be created within the value.yaml file of the [sandbox]( Each job requires a few values in order to function. +## Creating new tasks + +- Tasks need to be implemented in code within [Fleet-Scheduler](https://github.com/metal-toolbox/fleet-scheduler) +- Tasks are implemented as [cobra](https://github.com/spf13/cobra) command line commands within /cmd +- Take a look at /cmd/inventory.go for a good example. + +## Creating new jobs + +You just need to add the job to the [value.yaml](https://github.com/metal-toolbox/sandbox) file. +Each job requires a few values in order to function. + ### Values for creating new jobs Job Values required and location to explain them with `kubectl explain ` diff --git a/cmd/inventory.go b/cmd/inventory.go index 7dd727c..4418fb9 100644 --- a/cmd/inventory.go +++ b/cmd/inventory.go @@ -6,7 +6,6 @@ import ( "github.com/equinix-labs/otel-init-go/otelinit" "github.com/metal-toolbox/fleet-scheduler/internal/app" "github.com/metal-toolbox/fleet-scheduler/internal/client" - "github.com/sirupsen/logrus" "github.com/spf13/cobra" "golang.org/x/net/context" ) @@ -33,15 +32,12 @@ func inventory(ctx context.Context) error { otelCtxWithCancel, cancelFunc := context.WithCancel(otelCtx) defer cancelFunc() - newApp, err := app.New(otelCtxWithCancel, cfgFile) + newApp, err := app.New(cfgFile) if err != nil { return err } - loggerEntry := newApp.Logger.WithFields(logrus.Fields{"component": "store.serverservice"}) - loggerEntry.Level = newApp.Logger.Level - - newClient, err := client.New(newApp.Ctx, newApp.Cfg, loggerEntry) + newClient, err := client.New(otelCtxWithCancel, newApp) if err != nil { return err } @@ -51,7 +47,7 @@ func inventory(ctx context.Context) error { return err } - newApp.Logger.Info("Task: 'CreateConditionInventoryForAllServers' complete") + newApp.Log.Info("Task: 'CreateConditionInventoryForAllServers' complete") return nil } diff --git a/cmd/test.go b/cmd/test.go index 918d668..3ab0bfe 100644 --- a/cmd/test.go +++ b/cmd/test.go @@ -8,7 +8,6 @@ import ( "github.com/equinix-labs/otel-init-go/otelinit" "github.com/metal-toolbox/fleet-scheduler/internal/app" "github.com/metal-toolbox/fleet-scheduler/internal/client" - "github.com/sirupsen/logrus" "github.com/spf13/cobra" "golang.org/x/net/context" ) @@ -36,16 +35,13 @@ func test(ctx context.Context) error { otelCtxWithCancel, cancelFunc := context.WithCancel(otelCtx) defer cancelFunc() - newApp, err := app.New(otelCtxWithCancel, cfgFile) + newApp, err := app.New(cfgFile) if err != nil { return err } - loggerEntry := newApp.Logger.WithFields(logrus.Fields{"component": "store.serverservice"}) - loggerEntry.Level = newApp.Logger.Level - // Just used to verify fleet-scheduler can authenticate - _, err = client.New(newApp.Ctx, newApp.Cfg, loggerEntry) + _, err = client.New(otelCtxWithCancel, newApp) if err != nil { return err } @@ -65,7 +61,7 @@ func test(ctx context.Context) error { return err } - newApp.Logger.Info("Config: ", prettyJSON.String()) + newApp.Log.Info("Config: ", prettyJSON.String()) return nil } diff --git a/config.yaml b/config.yaml index f4bd5a5..3cbbd9d 100644 --- a/config.yaml +++ b/config.yaml @@ -3,7 +3,7 @@ store_kind: fleetscheduler facility_code: sandbox fleetdb_api: endpoint: http://localhost:8000 - disable_oauth: false + disable_oauth: true conditionorc_api: endpoint: http://localhost:9001 - disable_oauth: false \ No newline at end of file + disable_oauth: true \ No newline at end of file diff --git a/internal/app/app.go b/internal/app/app.go index bef060f..a51af74 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -1,37 +1,29 @@ package app import ( - "context" - "github.com/sirupsen/logrus" ) type App struct { - Ctx context.Context Cfg *Configuration - Logger *logrus.Logger + Log *logrus.Logger } -func New(ctx context.Context, cfgFilePath string) (*App, error) { +func New(cfgFilePath string) (*App, error) { cfgFileBytes, err := loadConfig(cfgFilePath) if err != nil { return nil, err } app := App{ - Cfg: cfgFileBytes, - Logger: logrus.New(), - Ctx: ctx, + Cfg: cfgFileBytes, + Log: logrus.New(), } - switch app.Cfg.LogLevel { - case LogLevelDebug: - app.Logger.Level = logrus.DebugLevel - case LogLevelTrace: - app.Logger.Level = logrus.TraceLevel - default: - app.Logger.Level = logrus.InfoLevel + app.Log.Level, err = logrus.ParseLevel(app.Cfg.LogLevel) + if err != nil { + return nil, err } return &app, nil diff --git a/internal/app/config.go b/internal/app/config.go index bd8bf4e..23ae277 100644 --- a/internal/app/config.go +++ b/internal/app/config.go @@ -86,9 +86,9 @@ func loadConfig(path string) (*Configuration, error) { } func loadEnvOverrides(cfg *Configuration, v *viper.Viper) error { - cfg.FdbCfg.ClientSecret = v.GetString("serverservice.oidc.client.secret") + cfg.FdbCfg.ClientSecret = v.GetString("fleetdb.oidc.client.secret") if cfg.FdbCfg.ClientSecret == "" { - return errors.New("FLEET_SCHEDULER_SERVERSERVICE_OIDC_CLIENT_SECRET was empty") + return errors.New("FLEET_SCHEDULER_FLEETDB_OIDC_CLIENT_SECRET was empty") } cfg.CoCfg.ClientSecret = v.GetString("conditionorc.oidc.client.secret") @@ -100,32 +100,30 @@ func loadEnvOverrides(cfg *Configuration, v *viper.Viper) error { } func validateClientParams(cfg *Configuration) error { - errCfgInvalid := errors.New("Configuration is invalid") - if cfg.LogLevel == "" { cfg.LogLevel = LogLevelInfo } else if cfg.LogLevel != LogLevelInfo && cfg.LogLevel != LogLevelDebug && cfg.LogLevel != LogLevelTrace { - return errors.Wrap(errCfgInvalid, "LogLevel") + return errors.Wrap(ErrInvalidConfig, "LogLevel") } // FleetDB (serverservice) Configuration if cfg.FdbCfg == nil { - return errors.Wrap(errCfgInvalid, "fleetdb_api entry doesnt exist") + return errors.Wrap(ErrInvalidConfig, "fleetdb_api entry doesnt exist") } if cfg.CoCfg == nil { - return errors.Wrap(errCfgInvalid, "conditionorc_api entry doesnt exist") + return errors.Wrap(ErrInvalidConfig, "conditionorc_api entry doesnt exist") } if cfg.FacilityCode == "" { - return errors.Wrap(errCfgInvalid, "Facility Code") + return errors.Wrap(ErrInvalidConfig, "Facility Code") } - err := validateOIDCConfig(cfg.FdbCfg, model.DefaultFleetDBClientID, errors.Wrap(errCfgInvalid, "fleetdb_api is invalid")) + err := validateOIDCConfig(cfg.FdbCfg, model.DefaultFleetDBClientID) if err != nil { return err } - err = validateOIDCConfig(cfg.CoCfg, model.DefaultConditionOrcClientID, errors.Wrap(errCfgInvalid, "conditionorc_api is invalid")) + err = validateOIDCConfig(cfg.CoCfg, model.DefaultConditionOrcClientID) if err != nil { return err } @@ -133,15 +131,17 @@ func validateClientParams(cfg *Configuration) error { return nil } -func validateOIDCConfig(cfg *ConfigOIDC, defaultClientID string, err error) error { +func validateOIDCConfig(cfg *ConfigOIDC, defaultClientID string) error { + if cfg.ClientID == "" { + cfg.ClientID = defaultClientID + } + err := errors.Wrap(ErrInvalidConfig, cfg.ClientID) + if cfg.Endpoint == "" { return errors.Wrap(err, "endpoint") } if !cfg.DisableOAuth { - if cfg.ClientID == "" { - cfg.ClientID = defaultClientID - } if cfg.IssuerEndpoint == "" { return errors.Wrap(err, "oidc_issuer_endpoint") } diff --git a/internal/app/errors.go b/internal/app/errors.go new file mode 100644 index 0000000..b7b91bf --- /dev/null +++ b/internal/app/errors.go @@ -0,0 +1,12 @@ +package app + +import "github.com/pkg/errors" + +var ( + ErrFdbClientIsNil = errors.New("FleetDB client wasnt initialized") + ErrCoClientIsNil = errors.New("Conditionorc client wasnt initialized") + ErrNoTokenInRing = errors.New("secret not found in keyring") + ErrAuth = errors.New("authentication error") + ErrNilConfig = errors.New("configuration was nil") + ErrInvalidConfig = errors.New("configuration is invalid") +) diff --git a/internal/client/clients.go b/internal/client/clients.go index e91df19..dda0340 100644 --- a/internal/client/clients.go +++ b/internal/client/clients.go @@ -7,9 +7,6 @@ import ( "net/url" "time" - // "github.com/metal-toolbox/fleet-scheduler/internal/model" - - // "github.com/pkg/errors" "github.com/coreos/go-oidc" "github.com/hashicorp/go-retryablehttp" conditionOrcApi "github.com/metal-toolbox/conditionorc/pkg/api/v1/client" @@ -26,16 +23,14 @@ const timeout = 30 * time.Second type Client struct { fdbClient *fleetDBApi.Client coClient *conditionOrcApi.Client - cfg *app.Configuration + app *app.App ctx context.Context - logger *logrus.Entry } -func New(ctx context.Context, cfg *app.Configuration, logger *logrus.Entry) (*Client, error) { +func New(ctx context.Context, newApp *app.App) (*Client, error) { client := &Client{ - cfg: cfg, - ctx: ctx, - logger: logger, + app: newApp, + ctx: ctx, } err := client.newFleetDBClient() @@ -52,35 +47,19 @@ func New(ctx context.Context, cfg *app.Configuration, logger *logrus.Entry) (*Cl } func (c *Client) newFleetDBClient() error { - if c.cfg == nil { - return ErrNilConfig + if c.app.Cfg == nil { + return app.ErrNilConfig } var err error var client *http.Client var secret string - if c.cfg.FdbCfg.DisableOAuth { + if c.app.Cfg.FdbCfg.DisableOAuth { secret = "dummy" - - logHookFunc := func(l retryablehttp.Logger, r *http.Response) { - // retryablehttp ignores 500 and all errors above 501. So we want to make sure those are logged. - // https://github.com/hashicorp/go-retryablehttp/blob/4165cf8897205a879a06b20d1ed0a2a76fbb6a17/client.go#L521C80-L521C100 - if r.StatusCode == http.StatusInternalServerError || r.StatusCode > http.StatusNotImplemented { - // named newErr so the linter doesnt get mad - b, newErr := io.ReadAll(r.Body) - if newErr != nil { - c.logger.Warn("fleetDB (serverservice) query returned 500 error, got error reading body: ", newErr.Error()) - return - } - - c.logger.Warn("fleetDB (serverservice) query returned 500 error, body: ", string(b)) - } - } client = c.setUpClientWithoutOAuth(logHookFunc) } else { - secret = c.cfg.FdbCfg.ClientSecret - - client, err = c.setUpClientWithOAuth(c.cfg.FdbCfg) + secret = c.app.Cfg.FdbCfg.ClientSecret + client, err = c.setUpClientWithOAuth(c.app.Cfg.FdbCfg) if err != nil { return err } @@ -88,7 +67,7 @@ func (c *Client) newFleetDBClient() error { c.fdbClient, err = fleetDBApi.NewClientWithToken( secret, - c.cfg.FdbCfg.Endpoint, + c.app.Cfg.FdbCfg.Endpoint, client, ) if err != nil { @@ -99,42 +78,26 @@ func (c *Client) newFleetDBClient() error { } func (c *Client) newConditionOrcClient() error { - if c.cfg == nil { - return ErrNilConfig + if c.app.Cfg == nil { + return app.ErrNilConfig } var err error var client *http.Client var secret string - if c.cfg.CoCfg.DisableOAuth { + if c.app.Cfg.CoCfg.DisableOAuth { secret = "dummy" - - logHookFunc := func(l retryablehttp.Logger, r *http.Response) { - // retryablehttp ignores 500 and all errors above 501. So we want to make sure those are logged. - // https://github.com/hashicorp/go-retryablehttp/blob/4165cf8897205a879a06b20d1ed0a2a76fbb6a17/client.go#L521C80-L521C100 - if r.StatusCode == http.StatusInternalServerError || r.StatusCode > http.StatusNotImplemented { - // named newErr so the linter doesnt get mad - b, newErr := io.ReadAll(r.Body) - if newErr != nil { - c.logger.Warn("conditionOrc query returned 500 error, got error reading body: ", newErr.Error()) - return - } - - c.logger.Warn("conditionOrc query returned 500 error, body: ", string(b)) - } - } client = c.setUpClientWithoutOAuth(logHookFunc) } else { - secret = c.cfg.CoCfg.ClientSecret - - client, err = c.setUpClientWithOAuth(c.cfg.CoCfg) + secret = c.app.Cfg.CoCfg.ClientSecret + client, err = c.setUpClientWithOAuth(c.app.Cfg.CoCfg) if err != nil { return err } } c.coClient, err = conditionOrcApi.NewClient( - c.cfg.CoCfg.Endpoint, + c.app.Cfg.CoCfg.Endpoint, conditionOrcApi.WithAuthToken(secret), conditionOrcApi.WithHTTPClient(client), ) @@ -154,10 +117,10 @@ func (c *Client) setUpClientWithoutOAuth(logHookFunc func(l retryablehttp.Logger // log hook fo 500 errors since the the retryablehttp client masks them retryableClient.ResponseLogHook = logHookFunc - if c.logger.Level < logrus.DebugLevel { + if c.app.Log.Level < logrus.DebugLevel { retryableClient.Logger = nil } else { - retryableClient.Logger = c.logger + retryableClient.Logger = c.app.Log } client := retryableClient.StandardClient() @@ -188,10 +151,10 @@ func (c *Client) setUpClientWithOAuth(cfg *app.ConfigOIDC) (*http.Client, error) retryableClient.HTTPClient.Transport = oAuthclient.Transport retryableClient.HTTPClient.Jar = oAuthclient.Jar - if c.logger.Level < logrus.DebugLevel { + if c.app.Log.Level < logrus.DebugLevel { retryableClient.Logger = nil } else { - retryableClient.Logger = c.logger + retryableClient.Logger = c.app.Log } client := retryableClient.StandardClient() @@ -199,3 +162,18 @@ func (c *Client) setUpClientWithOAuth(cfg *app.ConfigOIDC) (*http.Client, error) return client, nil } + +func logHookFunc(l retryablehttp.Logger, r *http.Response) { + // retryablehttp ignores 500 and all errors above 501. So we want to make sure those are logged. + // https://github.com/hashicorp/go-retryablehttp/blob/4165cf8897205a879a06b20d1ed0a2a76fbb6a17/client.go#L521C80-L521C100 + if r.StatusCode == http.StatusInternalServerError || r.StatusCode > http.StatusNotImplemented { + // named newErr so the linter doesnt get mad + b, newErr := io.ReadAll(r.Body) + if newErr != nil { + l.Printf("query returned 500 error, got error reading body: %s", newErr.Error()) + return + } + + l.Printf("query returned 500 error, body: %s", string(b)) + } +} diff --git a/internal/client/errors.go b/internal/client/errors.go deleted file mode 100644 index 935f6c6..0000000 --- a/internal/client/errors.go +++ /dev/null @@ -1,11 +0,0 @@ -package client - -import "github.com/pkg/errors" - -var ( - ErrSsClientIsNil = errors.New("Serverservice client wasnt initialized") - ErrCoClientIsNil = errors.New("Conditionorc client wasnt initialized") - ErrNoTokenInRing = errors.New("secret not found in keyring") - ErrAuth = errors.New("authentication error") - ErrNilConfig = errors.New("configuration was nil") -) diff --git a/internal/client/fleetdb.go b/internal/client/fleetdb.go index 34190ad..5bbfb5a 100644 --- a/internal/client/fleetdb.go +++ b/internal/client/fleetdb.go @@ -6,11 +6,11 @@ import ( "github.com/sirupsen/logrus" "golang.org/x/sync/semaphore" - fleetDBrivets "github.com/metal-toolbox/rivets/serverservice" - fleetDBapi "go.hollow.sh/serverservice/pkg/api/v1" + fleetDBRivets "github.com/metal-toolbox/rivets/serverservice" + fleetDBApi "go.hollow.sh/serverservice/pkg/api/v1" ) -func (c *Client) gatherServers(pageSize int, serverCh chan fleetDBapi.Server, concLimiter *semaphore.Weighted) { +func (c *Client) gatherServers(pageSize int, serverCh chan *fleetDBApi.Server, concLimiter *semaphore.Weighted) { // signal to receiver that we are done defer close(serverCh) @@ -18,7 +18,7 @@ func (c *Client) gatherServers(pageSize int, serverCh chan fleetDBapi.Server, co // Dont change page size servers, response, err := c.getServerPage(pageSize, 1) if err != nil { - c.logger.WithFields(logrus.Fields{ + c.app.Log.WithFields(logrus.Fields{ "pageSize": pageSize, "pageIndex": 1, }).Logger.Error("Failed to get list of servers") @@ -27,15 +27,15 @@ func (c *Client) gatherServers(pageSize int, serverCh chan fleetDBapi.Server, co totalPages := response.TotalPages if !concLimiter.TryAcquire(int64(response.PageSize)) { - c.logger.Error("Failed to acquire semaphore! Going to attempt to continue.") + c.app.Log.Error("Failed to acquire semaphore! Going to attempt to continue.") } // send first page of servers to the channel for i := range servers { - serverCh <- servers[i] + serverCh <- &servers[i] } - c.logger.WithFields(logrus.Fields{ + c.app.Log.WithFields(logrus.Fields{ "index": 1, "iterations": totalPages, "got": len(servers), @@ -45,7 +45,7 @@ func (c *Client) gatherServers(pageSize int, serverCh chan fleetDBapi.Server, co for i := 2; i <= totalPages; i++ { servers, response, err = c.getServerPage(pageSize, i) if err != nil { - c.logger.WithFields(logrus.Fields{ + c.app.Log.WithFields(logrus.Fields{ "pageSize": pageSize, "pageIndex": i, }).Logger.Error("Failed to get page of servers") @@ -53,7 +53,7 @@ func (c *Client) gatherServers(pageSize int, serverCh chan fleetDBapi.Server, co continue } - c.logger.WithFields(logrus.Fields{ + c.app.Log.WithFields(logrus.Fields{ "index": i, "iterations": totalPages, "got": len(servers), @@ -67,20 +67,20 @@ func (c *Client) gatherServers(pageSize int, serverCh chan fleetDBapi.Server, co } for i := range servers { - serverCh <- servers[i] + serverCh <- &servers[i] } } } -func (c *Client) getServerPage(pageSize, page int) ([]fleetDBapi.Server, *fleetDBapi.ServerResponse, error) { - params := &fleetDBapi.ServerListParams{ - FacilityCode: c.cfg.FacilityCode, - AttributeListParams: []fleetDBapi.AttributeListParams{ +func (c *Client) getServerPage(pageSize, page int) ([]fleetDBApi.Server, *fleetDBApi.ServerResponse, error) { + params := &fleetDBApi.ServerListParams{ + FacilityCode: c.app.Cfg.FacilityCode, + AttributeListParams: []fleetDBApi.AttributeListParams{ { - Namespace: fleetDBrivets.ServerAttributeNSBmcAddress, + Namespace: fleetDBRivets.ServerAttributeNSBmcAddress, }, }, - PaginationParams: &fleetDBapi.PaginationParams{ + PaginationParams: &fleetDBApi.PaginationParams{ Limit: pageSize, Page: page, }, diff --git a/internal/client/tasks.go b/internal/client/tasks.go index a1fe572..fc2ac93 100644 --- a/internal/client/tasks.go +++ b/internal/client/tasks.go @@ -6,7 +6,7 @@ import ( "golang.org/x/sync/semaphore" // "github.com/sirupsen/logrus" - fleetDBapi "go.hollow.sh/serverservice/pkg/api/v1" + fleetDBApi "go.hollow.sh/serverservice/pkg/api/v1" ) func (c *Client) CreateConditionInventoryForAllServers() error { @@ -18,11 +18,9 @@ func (c *Client) CreateConditionInventoryForAllServers() error { // Loop through servers and create conditions for server := range serverCh { - c.logger.Logger.Info("Server UUID: ", server.UUID) - err := c.CreateConditionInventory(server.UUID) if err != nil { - c.logger.WithFields(logrus.Fields{ + c.app.Log.WithFields(logrus.Fields{ "server": server.UUID, }).Logger.Error("Failed to create condition") } @@ -33,12 +31,8 @@ func (c *Client) CreateConditionInventoryForAllServers() error { return nil } -func (c *Client) GatherServersNonBlocking(pageSize int) (chan fleetDBapi.Server, *semaphore.Weighted, error) { - if c.fdbClient == nil { - return nil, nil, ErrSsClientIsNil - } - - serverCh := make(chan fleetDBapi.Server) +func (c *Client) GatherServersNonBlocking(pageSize int) (chan *fleetDBApi.Server, *semaphore.Weighted, error) { + serverCh := make(chan *fleetDBApi.Server) concLimiter := semaphore.NewWeighted(int64(pageSize * pageSize)) go func() { diff --git a/internal/model/model.go b/internal/model/model.go index fb5a96d..1dc0cc9 100644 --- a/internal/model/model.go +++ b/internal/model/model.go @@ -3,17 +3,7 @@ package model type ( AppKind string StoreKind string - - InventoryMethod string - - // LogLevel is the logging level string. - LogLevel string - - CollectorError string -) - -type ( - APIKind string + APIKind string ) const ( @@ -25,9 +15,5 @@ const ( ServerserviceAPI APIKind = "serverservice" ConditionsAPI APIKind = "conditions" - LogLevelInfo LogLevel = "info" - LogLevelDebug LogLevel = "debug" - LogLevelTrace LogLevel = "trace" - ConcurrencyDefault = 5 ) diff --git a/internal/version/version.go b/internal/version/version.go index 734613b..37bf574 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -48,7 +48,7 @@ func ExportBuildInfoMetric() { buildInfo := promauto.NewGaugeVec( prometheus.GaugeOpts{ Name: "fleet-scheduler_build_info", - Help: "A metric with a constant '1' value, labeled by branch, commit, summary, builddate, version, goversion from which Alloy was built.", + Help: "A metric with a constant '1' value, labeled by branch, commit, summary, builddate, version, goversion from which Fleet Scheduler was built.", }, []string{"branch", "commit", "summary", "builddate", "version", "goversion", "ironlibversion", "serverserviceVersion"}, )