From 9cad7b439c3e063aa65a9bc0cc03238e704946c9 Mon Sep 17 00:00:00 2001 From: Michal Opala Date: Tue, 14 May 2024 20:26:38 +0200 Subject: [PATCH] M #-: Harbor: Add VM template and logo --- .../7b456f76-a255-4cc2-b54a-25f8667918bc.yaml | 59 ++++++++++++++++++ logos/harbor.png | Bin 0 -> 26479 bytes 2 files changed, 59 insertions(+) create mode 100644 appliances/service/7b456f76-a255-4cc2-b54a-25f8667918bc.yaml create mode 100644 logos/harbor.png diff --git a/appliances/service/7b456f76-a255-4cc2-b54a-25f8667918bc.yaml b/appliances/service/7b456f76-a255-4cc2-b54a-25f8667918bc.yaml new file mode 100644 index 0000000..bc04437 --- /dev/null +++ b/appliances/service/7b456f76-a255-4cc2-b54a-25f8667918bc.yaml @@ -0,0 +1,59 @@ +--- +name: Service Harbor +version: 6.10.0-1-20240514 +publisher: OpenNebula Systems +description: |- + Appliance with preinstalled [Harbor](https://github.com/goharbor/harbor). + + See the dedicated [documentation](https://github.com/OpenNebula/one-apps/wiki/harbor_quick). +short_description: Appliance with preinstalled Harbor for KVM hosts +tags: +- harbor +- service +- ubuntu +format: qcow2 +creation_time: 1715677835 +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_harbor_admin_password: "$ONEAPP_HARBOR_ADMIN_PASSWORD" + oneapp_harbor_db_password: "$ONEAPP_HARBOR_DB_PASSWORD" + oneapp_harbor_hostname: "$ONEAPP_HARBOR_HOSTNAME" + oneapp_harbor_registry_dev: "$ONEAPP_HARBOR_PERSISTENT_DEV" + oneapp_harbor_ssl_cert: "$ONEAPP_HARBOR_SSL_CERT" + oneapp_harbor_ssl_key: "$ONEAPP_HARBOR_SSL_KEY" + ssh_public_key: "$USER[SSH_PUBLIC_KEY]" + cpu: '2' + graphics: + listen: 0.0.0.0 + type: vnc + inputs_order: >- + ONEAPP_HARBOR_ADMIN_PASSWORD,ONEAPP_HARBOR_DB_PASSWORD,ONEAPP_HARBOR_HOSTNAME,ONEAPP_HARBOR_REGISTRY_DEV,ONEAPP_HARBOR_SSL_CERT,ONEAPP_HARBOR_SSL_KEY + memory: '4096' + os: + arch: x86_64 + user_inputs: + oneapp_harbor_admin_password: "O|password|Password for the admin Harbor user (defaults to Harbor12345)" + oneapp_harbor_db_password: "O|password|Password for the internal Harbor database (defaults to random)" + oneapp_harbor_hostname: "O|text|Harbor hostname/IP exposing the service (certificate CN)||" + oneapp_harbor_registry_dev: "O|text|Harbor registry disk device name (e.g. sdb, vdb, etc.)||" + oneapp_harbor_ssl_cert: "O|text64|SSL certificate||" + oneapp_harbor_ssl_key: "O|text64|SSL key||" +logo: harbor.png +images: +- name: service_Harbor + url: >- + https://d24fmfybwxpuhu.cloudfront.net/service_Harbor-6.10.0-1-20240514.qcow2 + type: OS + dev_prefix: vd + driver: qcow2 + size: 21474836480 + checksum: + md5: b56cd8aed79499f478229859579128d9 + sha256: 188b3445fa9a650da7c3294c2c05a9040a4bbd56fddb96f2eb7512d11a7a58f8 diff --git a/logos/harbor.png b/logos/harbor.png new file mode 100644 index 0000000000000000000000000000000000000000..06289a063f6761a14f3139a275f0df5ba1baaa41 GIT binary patch literal 26479 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