Skip to content
OpenNebula Static Marketplace
HTML CSS Ruby Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
archetypes
content/metadata Use hugo enginge Jun 29, 2019
data/appliances
driver/static upd: allow redirects Dec 2, 2018
exampleSite
layouts
static
.gitignore
LICENSE
README.md
config.yaml convert site to hugo theme Jul 1, 2019
screenshot.png

README.md

OpenNebula Static Marketplace

Description

Generate your own marketplace appliances statically.

screenshot

Demo

Marketplace with appliances imported from the official OpenNebula Marketplace:

Marketplace with own appliances:

Features

  • Build your own marketplace
  • Store your configuration in git
  • Share virtual appliances across several OpenNebula instances
  • Tight integration with OpenNebula

Development

To contribute bug patches or new features, you can use the github Pull Request model. It is assumed that code and documentation are contributed under the Apache License 2.0.

More info:

Author

Compatibility

This add-on is compatible with OpenNebula 4.14.2+

Driver Installation

Driver installation:

git clone https://github.com/kvaps/opennebula-static-marketplace
cp -r opennebula-static-marketplace/driver/static /var/lib/one/remotes/market/

Update /etc/one/oned.conf:

Add static into MARKET_MAD argumets:

MARKET_MAD = [
    EXECUTABLE = "one_market",
    ARGUMENTS  = "-t 15 -m http,s3,one,static"
]

After that create a new TM_MAD_CONF section:

MARKET_MAD_CONF = [
    NAME = "static",
    SUNSTONE_NAME  = "Statically Generated Marketplace",
    REQUIRED_ATTRS = "",
    APP_ACTIONS = "monitor",
    PUBLIC = "yes"
]

Driver configuration

The following attributes can be used for configure marketplace

Attribute Description
NAME The name of the marketplace
ENDPOINT URL to your metadata file
MARKET_MAD Must be static
BRIDGE_LIST List of hosts used for downloading metadata

Create new marketplace:

cat > appmarket.conf <<EOT
NAME = "Static Marketplace"
MARKET_MAD = "static"
ENDPOINT = "https://github.com/kvaps/opennebula-static-marketplace/raw/master/exampleSite/public/metadata/index.html"
EOT

onedatastore create market.conf

Usage

For creating your own marketplace:

  1. Install Hugo

  2. Initialize new site and marketplace theme:

    hugo new site marketplace -f yaml
    cd marketplace
    git clone https://github.com/kvaps/opennebula-static-marketplace themes/opennebula-static-marketplace
    cp -r themes/opennebula-static-marketplace/content/metadata/ content/metadata/
    echo 'theme: opennebula-static-marketplace' > config.yaml
  3. Describe your appliance using yaml sytax and save it into data/appliances/myapp.yaml (use examples from exampleSite directory)

  4. Generate new site

    hugo
  5. Upload generated site from public/* or just metadata public/metadata/index.html to some HTTP or S3-server and provide access to it

  6. Specify url in ENDPOINT variable to the static marketplace driver in OpenNebula

You can’t perform that action at this time.