Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

F OpenNebula/one-apps#127: MinIO Multi-Node OneFlow template #115

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
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
71 changes: 71 additions & 0 deletions appliances/MinIOMulti/27e0285d-f214-4746-862e-9b7ad505c700.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
name: MinIO Virtual Router
version: 6.10.0-3-20241002
publisher: OpenNebula Systems
description: |-
Appliance providing several Virtual Network Functions (routing, NAT, DNS, DHCP)
to run as regular VM.

See the dedicated [documentation](https://github.com/OpenNebula/one-apps/wiki).
short_description: Appliance with several Virtual Network Functions to run
as VM
tags:
- minio
- storage
- vnf
- vrouter
- service
- alpine
type: VMTEMPLATE
format: qcow2
creation_time: 1728651992
os-id: Alpine
os-release: '3.18'
os-arch: x86_64
hypervisor: ALL
opennebula_version: 6.8, 6.10
opennebula_template:
context:
service_id: "$SERVICE_ID"
network: 'YES'
token: 'YES'
ssh_public_key: "$USER[SSH_PUBLIC_KEY]"
oneapp_vnf_dhcp4_enabled: "$ONEAPP_VNF_DHCP4_ENABLED"
oneapp_vnf_dhcp4_interfaces: "$ONEAPP_VNF_DHCP4_INTERFACES"
oneapp_vnf_dhcp4_lease_time: "$ONEAPP_VNF_DHCP4_LEASE_TIME"
oneapp_vnf_dns_enabled: "$ONEAPP_VNF_DNS_ENABLED"
oneapp_vnf_dns_interfaces: "$ONEAPP_VNF_DNS_INTERFACES"
oneapp_vnf_dns_max_cache_ttl: "$ONEAPP_VNF_DNS_MAX_CACHE_TTL"
oneapp_vnf_dns_use_rootservers: "$ONEAPP_VNF_DNS_USE_ROOTSERVERS"
oneapp_vnf_haproxy_enabled: 'YES'
oneapp_vnf_haproxy_onegate_enabled: 'YES'
oneapp_vnf_haproxy_lb0_ip: "<ETH0_EP0>"
oneapp_vnf_haproxy_lb0_port: "$ONEAPP_VNF_HAPROXY_LB0_PORT"
oneapp_vnf_haproxy_lb1_ip: "<ETH0_EP0>"
oneapp_vnf_haproxy_lb1_port: "$ONEAPP_VNF_HAPROXY_LB1_PORT"
oneapp_vnf_haproxy_interfaces: "$ONEAPP_VNF_HAPROXY_INTERFACES"
oneapp_vnf_lb_enabled: "$ONEAPP_VNF_LB_ENABLED"
oneapp_vnf_lb_interfaces: "$ONEAPP_VNF_LB_INTERFACES"
oneapp_vnf_nat4_enabled: "$ONEAPP_VNF_NAT4_ENABLED"
oneapp_vnf_nat4_interfaces_out: "$ONEAPP_VNF_NAT4_INTERFACES_OUT"
oneapp_vnf_router4_enabled: 'YES'
oneapp_vnf_sdnat4_enabled: "$ONEAPP_VNF_SDNAT4_ENABLED"
oneapp_vnf_sdnat4_interfaces: "$ONEAPP_VNF_SDNAT4_INTERFACES"
oneapp_vnf_sdnat4_onegate_enabled: 'YES'
cpu: '1'
graphics:
listen: 0.0.0.0
type: vnc
inputs_order: 'ONEAPP_VNF_HAPROXY_LB0_PORT,ONEAPP_VNF_HAPROXY_LB1_PORT'
memory: '512'
nic_default:
model: virtio
lxd_security_privileged: 'true'
os:
arch: x86_64
user_inputs:
oneapp_vnf_haproxy_lb0_port: "M|text|LB port for MinIO Console| |443"
oneapp_vnf_haproxy_lb1_port: "M|text|LB port for MinIO API| |9000"
logo: router.png
disks:
- "Service Virtual Router"
67 changes: 67 additions & 0 deletions appliances/MinIOMulti/54e46892-6315-456b-9bfe-5ebd7cff2662.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
name: Service MinIO Multi-Node
version: 6.10.0-3-20241002
publisher: OpenNebula Systems
description: |-
MinIO Multi-Node deployment orchestrated by
[OneFlow](https://docs.opennebula.io/stable/management_and_operations/multivm_service_management/appflow_elasticity.html)

Requires
[OneFlow](https://docs.opennebula.io/stable/management_and_operations/multivm_service_management/overview.html)
and
[OneGate](https://docs.opennebula.io/stable/management_and_operations/multivm_service_management/onegate_usage.html)
OpenNebula components.

See the dedicated [documentation](https://github.com/OpenNebula/one-apps/wiki/minio_multinode).

Based on VM templates
- [MinIO Multi-Node](/appliance/b699a394-65dc-462d-9f01-9bfa9e6ce7b5)
- [MinIO Virtual Router](/appliance/27e0285d-f214-4746-862e-9b7ad505c700)
short_description: Multi-Node MinIO deployment for KVM hosts, orchestrated by OneFlow
tags:
- minio
- storage
- ubuntu
- service
creation_time: 1728651992
os-id: Ubuntu
os-release: '22.04 LTS'
os-arch: x86_64
hypervisor: KVM
opennebula_version: 6.8, 6.10
type: 'SERVICE_TEMPLATE'
roles:
minio: 'MinIO Multi-Node'
vr: 'MinIO Virtual Router'
opennebula_template: '{
"name": "minio",
"deployment": "straight",
"description": "",
"roles": [
{
"cardinality": 4,
"name": "MinIO",
"vm_template": 0,
"vm_template_contents": "NIC = [\n NAME = \"_NIC0\",\n NETWORK_ID = \"$private\" ]\n"
},
{
"name": "vr",
"cardinality": 1,
"parents": [
"minio"
],
"vm_template": 1,
"vm_template_contents": "NIC = [\n NAME = \"_NIC0\",\n NETWORK_ID = \"$public\" ]\nNIC = [\n NAME = \"_NIC1\",\n NETWORK_ID = \"$private\" ]\n"
}
],
"ready_status_gate": false,
"automatic_deletion": false,
"networks": {
"public": "M|network|| |id:",
"private": "M|network|| |id:"
},
"registration_time": 1726065631,
"vmshutdown": "Terminate"
}'
logo: minio.png
images: []
61 changes: 61 additions & 0 deletions appliances/MinIOMulti/b699a394-65dc-462d-9f01-9bfa9e6ce7b5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
name: MinIO Multi-Node
version: 6.10.0-3-20241002
publisher: OpenNebula Systems
description: |-
Appliance with preinstalled [MinIO](https://min.io/docs/minio/linux/index.html).

See the dedicated [documentation](https://github.com/OpenNebula/one-apps/wiki/minio_quick).
short_description: Appliance with preinstalled MinIO server for KVM hosts
tags:
- minio
- storage
- ubuntu
- service
type: VMTEMPLATE
format: qcow2
creation_time: 1728651992
os-id: Ubuntu
os-release: '22.04 LTS'
os-arch: x86_64
hypervisor: KVM
opennebula_version: 6.8, 6.10
opennebula_template:
context:
network: 'YES'
oneapp_minio_hostname: "$ONEAPP_MINIO_HOSTNAME"
oneapp_minio_lb0_port: "$ONEAPP_MINIO_LB0_PORT"
oneapp_minio_lb1_port: "$ONEAPP_MINIO_LB1_PORT"
oneapp_minio_root_user: "$ONEAPP_MINIO_ROOT_USER"
oneapp_minio_root_password: "$ONEAPP_MINIO_ROOT_PASSWORD"
oneapp_minio_opts: "$ONEAPP_MINIO_OPTS"
oneapp_minio_tls_enabled: "$ONEAPP_MINIO_TLS_ENABLED"
oneapp_minio_tls_cert: "$ONEAPP_MINIO_TLS_CERT"
oneapp_minio_tls_key: "$ONEAPP_MINIO_TLS_KEY"
oneapp_minio_multi: 'YES'
start_script_base64: "b25lZ2F0ZSB2bSB1cGRhdGUgLS1kYXRhICJPTkVHQVRFX0hBUFJPWFlfTEIwX0lQPVwiPEVUSDBfRVAwPlwiIgpvbmVnYXRlIHZtIHVwZGF0ZSAtLWRhdGEgIk9ORUdBVEVfSEFQUk9YWV9MQjBfUE9SVD1cIiRPTkVBUFBfTUlOSU9fTEIwX1BPUlRcIiIKb25lZ2F0ZSB2bSB1cGRhdGUgLS1kYXRhICJPTkVHQVRFX0hBUFJPWFlfTEIwX1NFUlZFUl9IT1NUPVwiJEVUSDBfSVBcIiIKb25lZ2F0ZSB2bSB1cGRhdGUgLS1kYXRhICJPTkVHQVRFX0hBUFJPWFlfTEIwX1NFUlZFUl9QT1JUPVwiOTAwMVwiIgpvbmVnYXRlIHZtIHVwZGF0ZSAtLWRhdGEgIk9ORUdBVEVfSEFQUk9YWV9MQjFfSVA9XCI8RVRIMF9FUDA+XCIiCm9uZWdhdGUgdm0gdXBkYXRlIC0tZGF0YSAiT05FR0FURV9IQVBST1hZX0xCMV9QT1JUPVwiJE9ORUFQUF9NSU5JT19MQjFfUE9SVFwiIgpvbmVnYXRlIHZtIHVwZGF0ZSAtLWRhdGEgIk9ORUdBVEVfSEFQUk9YWV9MQjFfU0VSVkVSX0hPU1Q9XCIkRVRIMF9JUFwiIgpvbmVnYXRlIHZtIHVwZGF0ZSAtLWRhdGEgIk9ORUdBVEVfSEFQUk9YWV9MQjFfU0VSVkVSX1BPUlQ9XCI5MDAwXCIi"
ssh_public_key: "$USER[SSH_PUBLIC_KEY]"
token: 'YES'
cpu: '1'
graphics:
listen: 0.0.0.0
type: vnc
inputs_order: >-
ONEAPP_MINIO_HOSTNAME,ONEAPP_MINIO_ROOT_USER,ONEAPP_MINIO_ROOT_PASSWORD,ONEAPP_MINIO_OPTS,ONEAPP_MINIO_TLS_ENABLED,ONEAPP_MINIO_TLS_CERT,ONEAPP_MINIO_TLS_KEY,ONEAPP_MINIO_LB0_PORT,ONEAPP_MINIO_LB1_PORT
memory: '2048'
os:
arch: x86_64
logo: images/logos/minio.png
user_inputs:
oneapp_minio_hostname: "M|text|MinIO hostname for TLS certificate| |localhost,minio-*.example.net"
oneapp_minio_lb0_port: "M|text|LB port for MinIO Console| |443"
oneapp_minio_lb1_port: "M|text|LB port for MinIO API| |9000"
oneapp_minio_root_user: "M|text|MinIO root user for MinIO server| |myminioadmin"
oneapp_minio_root_password: "M|password|MinIO root user password for MinIO server"
oneapp_minio_opts: "O|text|Additional commandline options for MinIO server| |--console-address :9001"
oneapp_minio_tls_enabled: "M|boolean|Enable TLS configuration| |YES"
oneapp_minio_tls_cert: "O|text64|MinIO TLS certificate (.crt)| |"
oneapp_minio_tls_key: "O|text64|MinIO TLS key (.key)| |"
logo: minio.png
disks:
- "Service MinIO"
Loading