gocrane / crane

Crane is a FinOps Platform for Cloud Resource Analytics and Economics in Kubernetes clusters. The goal is not only to help users to manage cloud cost easier but also ensure the quality of applications.
https://gocrane.io
Apache License 2.0
1.87k stars 382 forks source link

fix config fetcher flush the rules #830

Closed aheizi closed 1 year ago

aheizi commented 1 year ago

What type of PR is this?

fix config fetcher flush the rules when prometheus-adapter-config only configure rules and externalRules

What this PR does / why we need it:

  1. Crane will not crash if only ResourceRules are configured and others are not.
  2. Decouple the refresh of ResourceRules, CustomerRules, and ExternalRules, so that if one of them has a problem, it will not affect the others.

Which issue(s) this PR fixes:

Fixes #829

Special notes for your reviewer:

github-actions[bot] commented 1 year ago

🎉 Successfully Build Images. Now Support ARM Platforms. Comment Post Time: 2023-07-03 19:04 Git Version: ad2da61

Docker Registry

Overview: https://hub.docker.com/u/gocrane

Image Pull Command
crane-agent:pr-830-ad2da61 docker pull gocrane/crane-agent:pr-830-ad2da61
dashboard:pr-830-ad2da61 docker pull gocrane/dashboard:pr-830-ad2da61
metric-adapter:pr-830-ad2da61 docker pull gocrane/metric-adapter:pr-830-ad2da61
craned:pr-830-ad2da61 docker pull gocrane/craned:pr-830-ad2da61

Quick Deploy - Helm

helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
                   --set craned.image.repository=gocrane/craned \
                   --set craned.image.tag=pr-830-ad2da61 \
                   --set metricAdapter.image.repository=gocrane/metric-adapter \
                   --set metricAdapter.image.tag=pr-830-ad2da61 \
                   --set craneAgent.image.repository=gocrane/crane-agent \
                   --set craneAgent.image.tag=pr-830-ad2da61 \
                   --set cranedDashboard.image.repository=gocrane/dashboard \
                   --set cranedDashboard.image.tag=pr-830-ad2da61 crane/crane

Coding Registry

Overview: https://finops.coding.net/public-artifacts/gocrane/crane/packages

Image Pull Command
crane-agent:pr-830-ad2da61 docker pull finops-docker.pkg.coding.net/gocrane/crane/crane-agent:pr-830-ad2da61
dashboard:pr-830-ad2da61 docker pull finops-docker.pkg.coding.net/gocrane/crane/dashboard:pr-830-ad2da61
metric-adapter:pr-830-ad2da61 docker pull finops-docker.pkg.coding.net/gocrane/crane/metric-adapter:pr-830-ad2da61
craned:pr-830-ad2da61 docker pull finops-docker.pkg.coding.net/gocrane/crane/craned:pr-830-ad2da61

Quick Deploy - Helm

helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
                   --set craned.image.repository=finops-docker.pkg.coding.net/gocrane/crane/craned \
                   --set craned.image.tag=pr-830-ad2da61 \
                   --set metricAdapter.image.repository=finops-docker.pkg.coding.net/gocrane/crane/metric-adapter \
                   --set metricAdapter.image.tag=pr-830-ad2da61 \
                   --set craneAgent.image.repository=finops-docker.pkg.coding.net/gocrane/crane/crane-agent \
                   --set craneAgent.image.tag=pr-830-ad2da61 \
                   --set cranedDashboard.image.repository=finops-docker.pkg.coding.net/gocrane/crane/dashboard \
                   --set cranedDashboard.image.tag=pr-830-ad2da61 crane/crane

Ghcr Registry

Overview: https://github.com/orgs/gocrane/packages?repo_name=crane

Image Pull Command
crane-agent:pr-830-ad2da61 docker pull ghcr.io/gocrane/crane/crane-agent:pr-830-ad2da61
dashboard:pr-830-ad2da61 docker pull ghcr.io/gocrane/crane/dashboard:pr-830-ad2da61
metric-adapter:pr-830-ad2da61 docker pull ghcr.io/gocrane/crane/metric-adapter:pr-830-ad2da61
craned:pr-830-ad2da61 docker pull ghcr.io/gocrane/crane/craned:pr-830-ad2da61

Quick Deploy - Helm

helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
helm install crane -n crane-system --create-namespace \
                   --set craned.image.repository=ghcr.io/gocrane/crane/craned \
                   --set craned.image.tag=pr-830-ad2da61 \
                   --set metricAdapter.image.repository=ghcr.io/gocrane/crane/metric-adapter \
                   --set metricAdapter.image.tag=pr-830-ad2da61 \
                   --set craneAgent.image.repository=ghcr.io/gocrane/crane/crane-agent \
                   --set craneAgent.image.tag=pr-830-ad2da61 \
                   --set cranedDashboard.image.repository=ghcr.io/gocrane/crane/dashboard \
                   --set cranedDashboard.image.tag=pr-830-ad2da61 crane/crane
qmhu commented 1 year ago

@aheizi I just find that this issue is already fixed by https://github.com/gocrane/crane/pull/726 but i forget to merge it(merged now), so would you please rebase latest code and check if we need to optimize it? thanks.

aheizi commented 1 year ago

ok,i think #726 has already solved my problem, thanks.