Skip to main content

Helmion Plugin: RabbitMQ

PyPI version Supported Python versions

hmi_rabbitmqchart generator for Helmion that deploys a RabbitMQ server 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_rabbitmq import RabbitMQChartRequest, RabbitMQConfigFile

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: rabbitmq
#
rabbitmq_req = RabbitMQChartRequest(namespace='app-monitoring', releasename='myrabbitmq', values={
    'configuration': RabbitMQConfigFile(),
    'persistence': {
        # 'existingClaim': 'xx',
    },
    'metrics': {
        'enabled': True,
        'serviceMonitor': {
            'enabled': True,
        }
    }
})

rabbitmq_chart = rabbitmq_req.generate()

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

file.append(rabbitmq_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-rabbitmq.yaml ********
apiVersion: v1
kind: ServiceAccount
metadata:
  name: myrabbitmq
  namespace: app-monitoring
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: myrabbitmq
  namespace: app-monitoring
rules:
- apiGroups:
  - ''
  resources:
  - endpoints
  verbs:
  - get
- apiGroups:
  - ''
  resources:
  - events
  verbs:
  - create
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: myrabbitmq
  namespace: app-monitoring
subjects:
- kind: ServiceAccount
  name: myrabbitmq
<...more...>

****** END FILE: 002-rabbitmq.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-rabbitmq.yaml

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

Author

Rangel Reale (rangelreale@gmail.com)

Metadata

Release files for hmi-rabbitmq 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hmi-rabbitmq 0.8.1
File Size Uploaded
hmi_rabbitmq-0.8.1.tar.gz 9.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hmi-rabbitmq 0.8.1
File Interpreter ABI Platform
hmi_rabbitmq-0.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.4 kB

Release files / hmi_rabbitmq-0.8.1.tar.gz

Download URL hmi_rabbitmq-0.8.1.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ab13feb97372c8f4050ac2e564541baaed3ccddcff5752d51844e2b9cbd4a414
BLAKE2b-256 checksum
How to use checksums
a2655af5815f82e48dface51c961fa1bf89a0fbdd2bcc563c0376c608d0cf594
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / hmi_rabbitmq-0.8.1-py3-none-any.whl

Download URL hmi_rabbitmq-0.8.1-py3-none-any.whl
Size 10.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
110a9464351296a30d9d7c440afe8aabe5c8628f286a5038c5cb73d19f7a6442
BLAKE2b-256 checksum
How to use checksums
0a9661627279ea04430b578e2033f4c94ad86fb1105d8708d8ab3eccfe4c9a22
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.8.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page