Skip to main content

Helmion Plugin: Kube Resouce Report

Project description

Helmion Plugin: Kube Resource Report

PyPI version Supported Python versions

hmi_kuberesourcereport is a chart generator for Helmion that deploys a Kube Resource Report service in Kubernetes.

Helmion is a python library to download and customize Helm charts, and can also be used to generate custom charts.

Example

from kubragen2.output import OutputProject, OutputFile_ShellScript, OutputFile_Kubernetes, OD_FileTemplate, \
    OutputDriver_Print

from hmi_kuberesourcereport import KubeResourceReportChartRequest

out = OutputProject()

shell_script = OutputFile_ShellScript('create_gke.sh')
out.append(shell_script)

shell_script.append('set -e')

#
# OUTPUTFILE: app-namespace.yaml
#
file = OutputFile_Kubernetes('app-namespace.yaml')

file.append([
    {
        'apiVersion': 'v1',
        'kind': 'Namespace',
        'metadata': {
            'name': 'app-monitoring',
        },
    }
])

out.append(file)
shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))

shell_script.append(f'kubectl config set-context --current --namespace=app-monitoring')

#
# SETUP: kube-resource-report
#
kms_req = KubeResourceReportChartRequest(namespace='app-monitoring', values={
    'resources': {
        'requests': {
            'cpu': '5m',
            'memory': '50Mi'
        },
        'limits': {
            'cpu': '10m',
            'memory': '100Mi'
        },
    },
})
kms_chart = kms_req.generate()

#
# OUTPUTFILE: kuberesourcereport.yaml
#
file = OutputFile_Kubernetes('kuberesourcereport.yaml')
out.append(file)

file.append(kms_chart.data)

shell_script.append(OD_FileTemplate(f'kubectl apply -f ${{FILE_{file.fileid}}}'))

#
# Write files
#
out.output(OutputDriver_Print())
# out.output(OutputDriver_Directory('/tmp/build-gke'))

Output:

****** BEGIN FILE: 001-app-namespace.yaml ********
apiVersion: v1
kind: Namespace
metadata:
  name: app-monitoring

****** END FILE: 001-app-namespace.yaml ********
****** BEGIN FILE: 002-kuberesourcereport.yaml ********
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kuberesourcereport
  namespace: app-monitoring
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kuberesourcereport
rules:
- apiGroups:
  - ''
  resources:
  - nodes
  - pods
  - namespaces
  - services
<...more...>

****** END FILE: 002-kuberesourcereport.yaml ********
****** BEGIN FILE: create_gke.sh ********
#!/bin/bash

set -e
kubectl apply -f 001-app-namespace.yaml
kubectl config set-context --current --namespace=app-monitoring
kubectl apply -f 002-kuberesourcereport.yaml

****** END FILE: create_gke.sh ********

Author

Rangel Reale (rangelreale@gmail.com)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hmi_kuberesourcereport-0.8.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

hmi_kuberesourcereport-0.8.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file hmi_kuberesourcereport-0.8.1.tar.gz.

File metadata

  • Download URL: hmi_kuberesourcereport-0.8.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.3

File hashes

Hashes for hmi_kuberesourcereport-0.8.1.tar.gz
Algorithm Hash digest
SHA256 10b7eacf7f587432fdffd720bf7d0117bcefcbb114987e505dfac6017791d999
MD5 bc5626cdbc0c228b444ca4f7f707bbcd
BLAKE2b-256 cfb8cbe4a46eaad9efece633ef5deccbaca13b21690fb88a4674fcb592a8c7c7

See more details on using hashes here.

File details

Details for the file hmi_kuberesourcereport-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: hmi_kuberesourcereport-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.3

File hashes

Hashes for hmi_kuberesourcereport-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c88195fa9ef3849ef5421aff2eaf9e2624d733fb5d7e76edbcb31e2cdb868809
MD5 04a0ba968e49d2435a7b042250ef300e
BLAKE2b-256 4ff8553a4513798b8980d5125b7b18594926b6907d78b4c19dadabfb6d85c44a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page