Helmion Plugin: RabbitMQ
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.
- Website: https://github.com/RangelReale/hmi_rabbitmq
- Repository: https://github.com/RangelReale/hmi_rabbitmq.git
- Documentation: https://hmi_rabbitmq.readthedocs.org/
- PyPI: https://pypi.python.org/pypi/hmi_rabbitmq
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)
| File | Size | Uploaded | |
|---|---|---|---|
| hmi_rabbitmq-0.8.1.tar.gz | 9.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|