-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from Aletibazo/lithops-appliance
Lithops appliance
- Loading branch information
Showing
5 changed files
with
343 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
name: 'YAML Linting' | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
lintAllDocuments: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: yaml-lint | ||
uses: ibiqlik/action-yamllint@v3 | ||
with: | ||
file_or_dir: appliances | ||
config_file: .yamllint.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
|
||
extends: default | ||
|
||
rules: | ||
line-length: disable | ||
indentation: | ||
indent-sequences: whatever |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,260 @@ | ||
# marketplace-community | ||
Community Marketplace metadata and appliance code | ||
# Public OpenNebula Community Marketplace Appliances | ||
|
||
This is a repository with YAML metadata of the appliances available in the | ||
official public [OpenNebula Community Marketplace](http://community-marketplace.opennebula.io/), | ||
to be used with the [simple Marketplace](https://github.com/OpenNebula/appmarket-simple) | ||
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"](https://github.com/OpenNebula/one/issues/new/choose) 🙏 | ||
|
||
⚠️ 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. | ||
|
||
```yaml | ||
--- | ||
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: | ||
|
||
```yaml | ||
--- | ||
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: | ||
|
||
```yaml | ||
--- | ||
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: [] | ||
``` |
60 changes: 60 additions & 0 deletions
60
appliances/service/695ab19e-23dc-11ef-a2b8-59beec9fdf86.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
name: Service Lithops | ||
version: 6.10.0-1-20240606 | ||
publisher: OpenNebula Systems | ||
description: |- | ||
Appliance with preinstalled [Lithops](https://lithops-cloud.github.io/docs/) and Docker for k8s backend. | ||
See the dedicated [documentation](https://github.com/OpenNebula/one-apps/wiki/lithops_quick). | ||
short_description: Appliance with preinstalled Lithops for KVM hosts | ||
tags: | ||
- lithops | ||
- ubuntu | ||
- service | ||
format: qcow2 | ||
creation_time: 1717672311 | ||
os-id: Ubuntu | ||
os-release: '22.04 LTS' | ||
os-arch: x86_64 | ||
hypervisor: KVM | ||
opennebula_version: >- | ||
6.2, 6.3, 6.4, 6.6, 6.8, 6.10 | ||
opennebula_template: | ||
context: | ||
network: 'YES' | ||
oneapp_lithops_backend: "$ONEAPP_LITHOPS_BACKEND" | ||
oneapp_lithops_storage: "$ONEAPP_LITHOPS_STORAGE" | ||
oneapp_minio_endpoint: "$ONEAPP_MINIO_ENDPOINT" | ||
oneapp_minio_access_key_id: "$ONEAPP_MINIO_ACCESS_KEY_ID" | ||
oneapp_minio_secret_access_key: "$ONEAPP_MINIO_SECRET_ACCESS_KEY" | ||
oneapp_minio_bucket: "$ONEAPP_MINIO_BUCKET" | ||
oneapp_minio_endpoint_cert: "$ONEAPP_MINIO_ENDPOINT_CERT" | ||
ssh_public_key: "$USER[SSH_PUBLIC_KEY]" | ||
cpu: '1' | ||
graphics: | ||
listen: 0.0.0.0 | ||
type: vnc | ||
inputs_order: >- | ||
ONEAPP_LITHOPS_BACKEND,ONEAPP_LITHOPS_STORAGE,ONEAPP_MINIO_ENDPOINT,ONEAPP_MINIO_ACCESS_KEY_ID,ONEAPP_MINIO_SECRET_ACCESS_KEY,ONEAPP_MINIO_BUCKET,ONEAPP_MINIO_ENDPOINT_CERT | ||
memory: '768' | ||
os: | ||
arch: x86_64 | ||
user_inputs: | ||
oneapp_lithops_backend: "O|text|Compute backend| |localhost" | ||
oneapp_lithops_storage: "O|text|Storage backend| |localhost" | ||
oneapp_minio_endpoint: "O|text|MinIO endpoint URL| |" | ||
oneapp_minio_access_key_id: "O|text|MinIO account user access key| |" | ||
oneapp_minio_secret_access_key: "O|text|MinIO account user secret access key| |" | ||
oneapp_minio_bucket: "O|text|MinIO bucket name| |" | ||
oneapp_minio_endpoint_cert: "O|text64|CA certificate for MinIO connection| |" | ||
logo: lithops.png | ||
images: | ||
- name: service_Lithops | ||
url: https://d24fmfybwxpuhu.cloudfront.net/service_Lithops-6.10.0-1-20240606.qcow2 | ||
type: OS | ||
dev_prefix: vd | ||
driver: qcow2 | ||
size: 778502144 | ||
checksum: | ||
md5: 9f91dc02538d80ed37ec378e98439ef3 | ||
sha256: 6b2a2e1b01470ed642d9936a6e03cb31095e8dd677741e7e3e4a52f4ed42a64b |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.