Skip to content

Commit

Permalink
F OpenNebula/one-apps#127: MinIO Multi-Node OneFlow template
Browse files Browse the repository at this point in the history
Added three templates for the MinIO Multi-Node deployment:
- MinIO Multi-Node VM template
- MinIO Virtual Router template
- MinIO Multi-Node OneFlow Service template'

It also updates the MinIO service appliance to latest version with
context support for multinode.

co-authored-by: Alejandro Mosteiro <[email protected]>
Signed-off-by: Alejandro Mosteiro <[email protected]>
  • Loading branch information
rsmontero and Aletibazo committed Oct 18, 2024
1 parent 3600a84 commit 1092170
Show file tree
Hide file tree
Showing 4 changed files with 215 additions and 12 deletions.
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"
28 changes: 16 additions & 12 deletions appliances/service/e2c4538a-1e7a-11ef-949c-97e1d7dcfb6f.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Service MinIO
version: 6.10.0-2-20240715
version: 6.10.0-3-20241018
publisher: OpenNebula Systems
description: |-
Appliance with preinstalled [MinIO](https://min.io/docs/minio/linux/index.html).
Expand All @@ -13,9 +13,9 @@ tags:
- ubuntu
- service
format: qcow2
creation_time: 1717151321
creation_time: 1728651992
os-id: Ubuntu
os-release: '22.04 LTS'
os-release: 22.04 LTS
os-arch: x86_64
hypervisor: KVM
opennebula_version: 6.0, 6.2, 6.4, 6.6, 6.8, 6.10
Expand All @@ -38,21 +38,25 @@ opennebula_template:
arch: x86_64
logo: images/logos/minio.png
user_inputs:
oneapp_minio_hostname: "O|text|MinIO hostname for TLS certificate| |localhost,minio-*.example.net"
oneapp_minio_opts: "O|text|Additional commandline options for MinIO server| |--console-address :9001"
oneapp_minio_root_password: "O|password|MinIO root user password for MinIO server"
oneapp_minio_root_user: "O|text|MinIO root user for MinIO server| |myminioadmin"
oneapp_minio_tls_cert: "O|text64|MinIO TLS certificate (.crt)| |"
oneapp_minio_tls_key: "O|text64|MinIO TLS key (.key)| |"
oneapp_minio_hostname: >-
O|text|MinIO hostname for TLS certificate| |localhost,minio-*.example.net
oneapp_minio_opts: >-
O|text|Additional commandline options for MinIO server| |--console-address
:9001
oneapp_minio_root_password: O|password|MinIO root user password for
MinIO server
oneapp_minio_root_user: O|text|MinIO root user for MinIO server| |myminioadmin
oneapp_minio_tls_cert: O|text64|MinIO TLS certificate (.crt)| |
oneapp_minio_tls_key: O|text64|MinIO TLS key (.key)| |
logo: minio.png
images:
- name: service_MinIO
url: >-
https://d24fmfybwxpuhu.cloudfront.net/service_MinIO-6.10.0-2-20240715.qcow2
https://d24fmfybwxpuhu.cloudfront.net/service_MinIO-6.10.0-3-20241018.qcow2
type: OS
dev_prefix: vd
driver: qcow2
size: 2361393152
checksum:
md5: 663d378fcc8f14fa6ce8beb1a8a64dc1
sha256: d97e47ed7bcd97ea9b75a3240835152a4253be2f34bce26791490d6acbbc3a8e
md5: 300fc063bc34bebe682acd9267db5354
sha256: ab9434a7fe55cb7255f450b8e5b754978f5e747859de2e67713eb89b34c0f2fb

0 comments on commit 1092170

Please sign in to comment.