Home

Awesome

finala-helm

Finala is a resource cloud scanner that analyzes and reports wasteful and unused resources to cut unwanted expenses.

Installation

Clone the git repository

git clone git@github.com:similarweb/finala-helm.git && cd finala-helm

Install the Finala helm chart with a release name my-release:

helm 2:

helm install --name my-release .

helm 3:

helm install my-release .

Production Recommendations

  1. Work with external Elasticsearch storage
  2. Use Kube2IAM for Finala access.

Configuration

The following table lists the configurable parameters of the Finala chart.

ParameterDescriptionDefault
image.repositorycontainer image repositorysimilarweb/finala
image.tagcontainer image tagv1.1
image.pullPolicycontainer image pull policyIfNotPresent
storage
storage.typeinternal or external, internal would start a elasticsearch deploymentinternal
api
api.createIf true, create API componenttrue
api.replicasThe replica count of the webserver1
api.annotationsThe annotations to be used in the API deployment{}
api.serviceaccount.createIf true, create a service account for APIfalse
api.serviceaccount.annotationsThe annotations used in the service account{}
api.application.log_levelThe API application log levelinfo
api.application.storage.elasticsearch.activeUse elasticsearch storagetrue
api.application.storage.elasticsearch.indexElasticsearch indexgeneral
api.application.storage.elasticsearch.usernameElasticsearch username``
api.application.storage.elasticsearch.passwordElasticsearch password``
api.application.storage.elasticsearch.endpointElasticsearch endpoint (keep endpoint empty when using storage.type internal)``
api.service.typeThe service type to be usedClusterIP
api.service.annotationsThe annotations used in the service{}
api.service.externalPortThe external port for API server80
api.ingress.createIf true, create the resourcesfalse
api.ingress.hostThe API endpointhttp://127.0.0.1:8081
api.ingress.annotationsThe annotations used in the ingress{}
api.resourcesThe [resources] to allocate for the API containersundefined
ui
ui.createIf true, create UI componenttrue
ui.replicasThe replica count of the UI1
ui.annotationsThe annotations to be used in the UI deployment{}
ui.application.log_levelThe UI application log levelinfo
ui.service.typeThe service type to be usedClusterIP
ui.annotationsThe annotations used in the service{}
ui.externalPortThe external port for UI server80
ui.ingress.createIf true, create the resourcesfalse
ui.ingress.hostThe user interface endpointhttps://finala.ui.com
ui.ingress.annotationsThe annotations used in the ingress{}
api.resourcesThe [resources] to allocate for the UI containersundefined
collector
collector.createIf true, create collector componenttrue
collector.scheduleSchedule for the CronJob* * 1 * *
collector.annotationsThe annotations used{}
collector.serviceaccount.createIf true, create a service account for collectorfalse
collector.serviceaccount.annotationsThe annotations used in the service account{}
collector.run_at_deploymentRun the collector on the deploymenttrue
collector.environmentVarsCollector environment variables{}
collector.resourcesThe [resources] to allocate for the collector containersundefined
collector.application.nameThe tag name of the collectorgeneral
collector.application.log_levelThe collector application log levelinfo
collector.application.api_server.bulk_intervalThe bulk interval of sending the resources detected to the api component5s
notifier
notifier.createShould we create Notifier componenttrue
notifier.serviceaccount.createIf true, create a service account for notifierfalse
notifier.serviceaccount.annotationsThe annotations used in the service account{}
notifier.scheduleSchedule for the Notifier CronJob0 8 * * 0
notifier.annotationsThe annotations for Notifier{}
notifier.environmentVarsNotifier environment variables{}
notifier.resourcesThe [resources] to allocate for the Notifier containersundefined
notifier.application.log_levelThe Notifier application log levelinfo