Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions chart/templates/collections.composition-tablist.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,10 @@ spec:
resource: collections
name: composition-{{ .Release.Name }}-tabpane-yamlviewer
namespace: {{ .Release.Namespace }}
{{- end }}
{{- if .Values.finops.enabled }}
- apiVersion: templates.krateo.io/v1alpha1
resource: collections
name: composition-{{ .Release.Name }}-tabpane-finops
namespace: {{ .Release.Namespace }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
title: "Total Composition Cost"
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1-panel
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1-panel
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1-panel
namespace: {{ .Release.Namespace }}
type: panel
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1-panel-chartpie
namespace: {{ .Release.Namespace }}
resource: widgets
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
width: "6"
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1
namespace: {{ .Release.Namespace }}
type: column
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-rpanel-row-1-column-1-panel
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
title: "Resources Usage"
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2-panel
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2-panel
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2-panel
namespace: {{ .Release.Namespace }}
type: panel
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2-panel-chartline
namespace: {{ .Release.Namespace }}
resource: widgets
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
width: "16"
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2
namespace: {{ .Release.Namespace }}
type: column
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2-panel
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{- if .Values.finops.enabled }}
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1
spec:
type: row
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1
namespace: {{ .Release.Namespace }}
resource: collections
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{- if .Values.finops.enabled }}
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-1-panel
spec:
type: panel
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-1-panel-paragraph
namespace: {{ .Release.Namespace }}
resource: widgets
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
width: "6"
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-1
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-1
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-1
namespace: {{ .Release.Namespace }}
type: column
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-rpanel-row-2-column-1-panel
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{- if .Values.finops.enabled }}
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-2-panel
spec:
type: panel
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-2-panel-paragraph
namespace: {{ .Release.Namespace }}
resource: widgets
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
width: "16"
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-2
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-2
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-2
namespace: {{ .Release.Namespace }}
type: column
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-2-panel
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{- if .Values.finops.enabled }}
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2
spec:
type: row
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-1
namespace: {{ .Release.Namespace }}
resource: collections
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2-column-2
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
27 changes: 27 additions & 0 deletions chart/templates/collections.composition-tabpane-finops-panel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
title: "FinOps - Costs and Usage"
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops-panel
namespace: {{ .Release.Namespace }}
type: panel
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1
namespace: {{ .Release.Namespace }}
resource: collections
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-2
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
23 changes: 23 additions & 0 deletions chart/templates/collections.composition-tabpane-finops.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.finops.enabled }}
apiVersion: v1
data:
label: FinOps
kind: ConfigMap
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops
---
apiVersion: templates.krateo.io/v1alpha1
kind: Collection
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops
spec:
propsRef:
name: composition-{{ .Release.Name }}-tabpane-finops
namespace: {{ .Release.Namespace }}
type: tabpane
widgetsRefs:
- apiVersion: templates.krateo.io/v1alpha1
name: composition-{{ .Release.Name }}-tabpane-finops-panel
namespace: {{ .Release.Namespace }}
resource: collections
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{{- if .Values.finops.enabled }}
apiVersion: templates.krateo.io/v1alpha1
kind: Widget
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-1-panel-chartpie
spec:
type: chartpie
app:
template:
title: ${ .costs.status.title }
description: ${ .costs.status.description }
series: >
${ "{ \"total\":\"" + (.costs.status.series[0].total | tostring) +
"\", \"data\": [" +
( [ .costs.status.series[0].data[] | "{ \"color\": \"" + .color + "\", \"value\": \"" + (.value | tostring) + "\", \"label\": \"" + .label + "\"}" ] | join(",") ) + "]}" }
api:
- name: costs
path: "/call?apiVersion=templates.krateo.io%2Fv1&resource=restactions&name={{ .Release.Name }}-get-costs&namespace=azure-pricing-system"
verb: GET
endpointRef:
name: snowplow-endpoint
namespace: krateo-system
headers:
- 'Accept: application/json'
---
apiVersion: templates.krateo.io/v1
kind: RESTAction
metadata:
name: {{ .Release.Name }}-get-costs
spec:
api:
- name: getComposition
path: "/apis/composition.krateo.io/v0-1-1/namespaces/{{ .Release.Namespace }}/finopsexamplepricingvmazures/{{ .Release.Name }}"
verb: GET
headers:
- 'Accept: application/json'
- name: costs
dependsOn:
name: getComposition
endpointRef:
name: finops-database-handler-endpoint
namespace: krateo-system
path: "/compute/costs"
verb: POST
payload: |
${ {table_name: "{{ .Values.global.tableName }}", resource_name: .getComposition.spec.name, resource_group_name: .getComposition.spec.resourceGroupName } }
headers:
- 'Accept: application/json'
- 'Content-Type: application/json'
filter: .costs
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{{- if .Values.finops.enabled }}
apiVersion: templates.krateo.io/v1alpha1
kind: Widget
metadata:
name: composition-{{ .Release.Name }}-tabpane-finops-panel-row-1-column-2-panel-chartline
spec:
type: chartline
app:
template:
xAxisName: ${ .metrics.status.xAxisName }
yAxisName: ${ .metrics.status.yAxisName }
legendName: ${ .metrics.status.legendName }
color: ${ .metrics.status.color }
data: ${ .metrics.status.data }
api:
- name: metrics
path: "/call?apiVersion=templates.krateo.io%2Fv1&resource=restactions&name=composition-{{ .Release.Name }}-get-metrics&namespace=azure-pricing-system"
verb: GET
endpointRef:
name: snowplow-endpoint
namespace: krateo-system
headers:
- 'Accept: application/json'
---
apiVersion: templates.krateo.io/v1
kind: RESTAction
metadata:
name: composition-{{ .Release.Name }}-get-metrics
spec:
api:
- name: getComposition
path: "/apis/composition.krateo.io/v0-1-1/namespaces/{{ .Release.Namespace }}/finopsexamplepricingvmazures/{{ .Release.Name }}"
verb: GET
headers:
- 'Accept: application/json'
- name: metrics
dependsOn:
name: getComposition
endpointRef:
name: finops-database-handler-endpoint
namespace: krateo-system
path: "/compute/metrics"
verb: POST
payload: |
${ {table_name: "{{ .Values.global.tableName }}_res", resource_name: .getComposition.spec.name, resource_group_name: .getComposition.spec.resourceGroupName } }
headers:
- 'Accept: application/json'
- 'Content-Type: application/json'
filter: .metrics
{{- end }}
Loading