Giter VIP home page Giter VIP logo

marketplace-community's Introduction

Public OpenNebula Community Marketplace Appliances

This is a repository with YAML metadata of the appliances available in the official public OpenNebula Community Marketplace, to be used with the simple Marketplace server implementation. All appliances here are built and certified by the OpenNebula Systems.


โš ๏ธ Please report any bug or feature request in the OpenNebula main repository using label "Category: Marketplace" ๐Ÿ™

โš ๏ธ Important when updating existing appliance:

  • bump version, so that OpenNebula clients are force to update their cached metadata
  • update creation_time to current epoch time
  • image metadata (size, checksums) must be current

New appliance (internal steps)

Filename must be a unique UUID with .yaml suffix (subdirectory within appliances/ is not important, but should reflect the nature of appliance). Use uuidgen or uuid to generate a new one. Following appliance types can be created

  • Image - Virtual Machine Image with optional Template
  • Service - Template for OneFlow Service
  • Virtual Machine Template - Virtual Machine Template with images taken from other Appliances

Image (with optional VM Template)

Example of an appliance that you can be used as a basis for a new one.

---
name: Name of the appliance
version: Version of this specific appliance
publisher: Company name
description: |-
  Description of this appliance. The format is *Markdown* so you'll be able
  to [link](https://guides.github.com/features/mastering-markdown/) or
  add bullet lists:

  * one
  * two
  * I am **bold**
short_description: This is a short description that appears in apps list

# Assorted list of tags, you can add version of OpenNebula where it was
# tested and things like OS or application
tags:
- debian
- router
- dhcp server

# Informative Image format, options: qcow2, raw, vmdk
format: qcow2

# Time in epoch format and UTC. You can get it executing "date +%s"
creation_time: 1443105849

# Informative OS, version, arch., and hypervisor
os-id: Debian
os-release: '8.4'
os-arch: x86_64
hypervisor: KVM

# Compatibility with OpenNebula releases. Appliance will be
# offered only to OpenNebula clients with matching version!!
opennebula_version: 4.8, 4.10, 4.12, 4.14, 5.0, 5.2, 5.4

# The template for the appliance without disks and in YAML format
opennebula_template:
  context:
    network: 'YES'
    ssh_public_key: "$USER[SSH_PUBLIC_KEY]"
  cpu: '1'
  graphics:
    listen: 0.0.0.0
    type: vnc
  memory: '768'
  os:
    arch: x86_64
  logo: images/logos/debian.png

# Logo to display in the web interface. You can check the available logos in
# "logos" dir in this repository. You can also submit a new logos using pull
# requests
logo: debian.png

# Array with all images related to this app
images:
- name: Debian-8.4
  url: https://s3-eu-west-1.amazonaws.com/opennebula-marketplace/debian8-5.0.1-fix.qcow2c
  type: OS
  dev_prefix: vd
  driver: qcow2
  # Size in bytes of the image, not the file. You can use `qemu-img info` command
  # to retrieve the virtual size.
  size: 2147483648
  checksum:
    md5: a661b9101d0e7427a9495967292f7285
    sha256: 3f84c3e90b488c476d516d40863c69b534079843851b2b3b2476a29484a275a9

Skip the opennebula_template: for image-only appliances.

Service (since ONE 6.0+)

Example of an appliance that you can be used as a basis for OneFlow Service:

---
name: Name of the appliance
version: Version of this specific appliance
publisher: Company name
description: |-
  Description of this appliance. The format is *Markdown* so you'll be able
  to [link](https://guides.github.com/features/mastering-markdown/) or
  add bullet lists:

  * one
  * two
  * I am **bold**
short_description: This is a short description that appears in apps list

# Assorted list of tags, you can add version of OpenNebula where it was
# tested and things like OS or application
tags:
- debian
- router
- dhcp server

# Informative Image format, options: qcow2, raw, vmdk
format: qcow2

# Time in epoch format and UTC. You can get it executing "date +%s"
creation_time: 1443105849

# Informative OS, version, arch., and hypervisor
os-id: Debian
os-release: '8.4'
os-arch: x86_64
hypervisor: KVM

# Compatibility with OpenNebula releases. Appliance will be
# offered only to OpenNebula clients with matching version!!
# NOTE: OneFlow Marketplace appliances are supported since 6.0!
opennebula_version: 6.0

# Appliance type, **MUST** be set to SERVICE_TEMPLATE
type: 'SERVICE_TEMPLATE'

# Structure with OneFlow roles and Marketplace Appliances used to run them.
# The referred Appliances are going to be exported to client OpenNebulas
# automatically alongside with the export of this OneFlow Appliance.
roles:
  master: 'Service Kubernetes 1.18 - KVM'
  worker: 'Service Kubernetes 1.18 - KVM'

# OneFlow Template, needs to be a JSON encoded in a string!
# Role names must correspond to names listead above.
opennebula_template: '{
  "name": "Kubernetes",
  "deployment": "straight",
  "description: "",
  "roles": [
    {
      "name": "master",
      "cardinality": 1,
      ...
    },
    ...
  ],
  "networks": {
    ...
  },
  "ready_status_gate": true
}'

# Logo to display in the web interface. You can check the available logos in
# "logos" dir in this repository. You can also submit a new logos using pull
# requests
logo: debian.png

# No images are bundled with OneFlow service,
# but the images structure must exist and be empty.
images: []

Virtual Machine Template (since ONE 6.0+)

Example of an appliance, which doesn't come with any disks, but imports other appliances (referenced in disks) and uses their images as own:

---
name: Name of the appliance
version: Version of this specific appliance
publisher: Company name
description: |-
  Description of this appliance. The format is *Markdown* so you'll be able
  to [link](https://guides.github.com/features/mastering-markdown/) or
  add bullet lists:

  * one
  * two
  * I am **bold**
short_description: This is a short description that appears in apps list

# Assorted list of tags, you can add version of OpenNebula where it was
# tested and things like OS or application
tags:
- debian
- router
- dhcp server

# Informative Image format, options: qcow2, raw, vmdk
format: qcow2

# Time in epoch format and UTC. You can get it executing "date +%s"
creation_time: 1443105849

# Informative OS, version, arch., and hypervisor
os-id: Debian
os-release: '8.4'
os-arch: x86_64
hypervisor: KVM

# Compatibility with OpenNebula releases. Appliance will be
# offered only to OpenNebula clients with matching version!!
# NOTE: VM Template Marketplace appliances are supported since 6.0!
opennebula_version: 6.0

# Appliance type, **MUST** be set to VMTEMPLATE
type: 'VMTEMPLATE'

# List of other Marketplace Appliances, which will be imported alongside
# with this appliance, and their images used as disks of current appliance.
disks:
  - 'Ubuntu 20.04'
  - 'Empty disk'

# The template for the appliance without disks and in YAML format
opennebula_template:
  context:
    network: 'YES'
    ssh_public_key: "$USER[SSH_PUBLIC_KEY]"
  cpu: '1'
  graphics:
    listen: 0.0.0.0
    type: vnc
  memory: '768'
  os:
    arch: x86_64
  logo: images/logos/debian.png

# Logo to display in the web interface. You can check the available logos in
# "logos" dir in this repository. You can also submit a new logos using pull
# requests
logo: debian.png

# No images are bundled with this appliance type,
# but the images structure must exist and be empty.
images: []

marketplace-community's People

Contributors

aletibazo avatar tinova avatar rsmontero avatar

Watchers

 avatar  avatar Ignacio M. Llorente avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.