MCPcopy
hub / github.com/FairwindsOps/goldilocks

github.com/FairwindsOps/goldilocks @v4.15.1 sqlite

repository ↗ · DeepWiki ↗ · release v4.15.1 ↗
200 symbols 710 edges 41 files 65 documented · 32%
README
<img src="https://github.com/FairwindsOps/goldilocks/raw/v4.15.1/img/goldilocks.svg" height="150" alt="Goldilocks" style="padding-bottom: 20px" />



<h3>Get your resource requests "Just Right"</h3>
<a href="https://github.com/FairwindsOps/goldilocks/releases">
    <img src="https://img.shields.io/github/v/release/FairwindsOps/goldilocks">
</a>
<a href="https://goreportcard.com/report/github.com/FairwindsOps/goldilocks">
    <img src="https://goreportcard.com/badge/github.com/FairwindsOps/goldilocks">
</a>
<a href="https://circleci.com/gh/FairwindsOps/goldilocks.svg">
    <img src="https://circleci.com/gh/FairwindsOps/goldilocks.svg?style=svg">
</a>

Goldilocks is a utility that can help you identify a starting point for resource requests and limits.

Documentation

Check out the documentation at docs.fairwinds.com

How can this help with my resource settings?

By using the kubernetes vertical-pod-autoscaler in recommendation mode, we can see a suggestion for resource requests on each of our apps. This tool creates a VPA for each workload in a namespace and then queries them for information.

Once your VPAs are in place, you'll see recommendations appear in the Goldilocks dashboard:

Goldilocks Screenshot

Notice: Registry Migration and Immutable Images (v4.14.19 → v4.15.0)

Starting with v4.15.0:

  • Images moved to us-docker.pkg.dev/fairwinds-ops/oss/goldilocks
  • quay.io/fairwinds/goldilocks is deprecated

Required action

- quay.io/fairwinds/goldilocks:<tag>
+ us-docker.pkg.dev/fairwinds-ops/oss/goldilocks:<tag>

Immutable and signed images

  • Images are now signed
  • Tags are immutable
  • No more floating tags:

  • v4

  • v4.14
  • latest

Use full version tags:

us-docker.pkg.dev/fairwinds-ops/oss/goldilocks:v<major>.<minor>.<patch>

Or pin by digest:

us-docker.pkg.dev/fairwinds-ops/oss/goldilocks@sha256:<digest>

Join the Fairwinds Open Source Community

The goal of the Fairwinds Community is to exchange ideas, influence the open source roadmap, and network with fellow Kubernetes users. Chat with us on Slack

Other Projects from Fairwinds

Enjoying Goldilocks? Check out some of our other projects: * Polaris - Audit, enforce, and build policies for Kubernetes resources, including over 20 built-in checks for best practices * Pluto - Detect Kubernetes resources that have been deprecated or removed in future versions * Nova - Check to see if any of your Helm charts have updates available * rbac-manager - Simplify the management of RBAC in your Kubernetes clusters

Or check out the full list

Fairwinds Insights

If you're interested in running Goldilocks in multiple clusters, tracking the results over time, integrating with Slack, Datadog, and Jira, or unlocking other functionality, check out Fairwinds Insights, a platform for auditing and enforcing policy in Kubernetes clusters.

Extension points exported contracts — how you extend this code

Option (FuncType)
Option is a Functional options
pkg/dashboard/options.go
Option (FuncType)
(no doc)
pkg/summary/options.go

Core symbols most depended-on inside this repo

GetInstance
called by 49
pkg/vpa/vpa.go
ReconcileNamespace
called by 16
pkg/vpa/vpa.go
vpaUpdateModeForResource
called by 11
pkg/vpa/vpa.go
getVPAObject
called by 10
pkg/vpa/vpa.go
vpaResourcePolicyForResource
called by 10
pkg/vpa/vpa.go
namespaceIsManaged
called by 9
pkg/vpa/vpa.go
vpaMinReplicasForResource
called by 9
pkg/vpa/vpa.go
createVPA
called by 7
pkg/vpa/vpa.go

Shape

Function 158
Method 23
Struct 17
FuncType 2

Languages

Go78%
TypeScript22%

Modules by API surface

pkg/dashboard/assets/js/cost_settings.js27 symbols
pkg/vpa/vpa_test.go18 symbols
pkg/vpa/vpa.go18 symbols
pkg/summary/summary.go15 symbols
pkg/kube/client.go14 symbols
pkg/dashboard/options.go11 symbols
pkg/dashboard/dashboard.go10 symbols
pkg/controller/controller.go10 symbols
pkg/kube/test_helpers.go8 symbols
pkg/summary/options.go6 symbols
pkg/dashboard/helpers/helpers.go6 symbols
pkg/dashboard/templates.go5 symbols

Dependencies from manifests, versioned

github.com/davecgh/go-spewv1.1.2-0.20180830191 · 1×
github.com/emicklei/go-restful/v3v3.13.0 · 1×
github.com/fairwindsops/controller-utilsv0.3.4 · 1×
github.com/fxamacker/cbor/v2v2.9.0 · 1×
github.com/go-logr/logrv1.4.3 · 1×
github.com/go-logr/stdrv1.2.2 · 1×
github.com/go-openapi/jsonpointerv0.22.5 · 1×
github.com/go-openapi/jsonreferencev0.21.5 · 1×
github.com/go-openapi/swagv0.25.5 · 1×
github.com/go-openapi/swag/cmdutilsv0.25.5 · 1×
github.com/go-openapi/swag/convv0.25.5 · 1×
github.com/go-openapi/swag/fileutilsv0.25.5 · 1×

For agents

$ claude mcp add goldilocks \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact