hashicorp / packer-plugin-vsphere

Packer plugin for VMware vSphere Builder
https://www.packer.io/docs/builders/vsphere
Mozilla Public License 2.0
93 stars 91 forks source link

Add support to import OVF template from URL in supervisor builder #434

Closed ericvmw closed 2 weeks ago

ericvmw commented 1 month ago

Description

A new feature is being added to Supervisors to expose a new custom resource ContentLibraryItemImportRequest that allows users to import OVF templates to a namespace with writable & import-allowed content library configured on a Supervisor. By support this feature on packer supervisor plugin, it will enable users to use packer to orchestrate a complete e2e workflow, from importing their source image from HTTP server, to customize and publish the image to Supervisor clusters.

Use Case(s)

As a developer, I want to import an OVF template that is hosted on a HTTP server to a namespace on a Supervisor cluster using packer vsphere supervisor builder plugin, so that I can customize the image using packer and publish the image back to the Supervisor cluster using packer.

Potential configuration

import_source_url: the remote URL to import OVF template from, must starts with https.
import_source_ssl_certificate: the SSL certificate of the remote HTTPS server.
import_target_location_name: the import target location (content library that must be writable and allow import).
import_target_item_type: optional, the target item type, it defaults to OVF type and only OVF type is supported currently.

import_request_name: The name of the ContentLibraryItemImportRequest resource, otherwise it defaults to packer-vsphere-supervisor-import-req-<random-suffix>.
watch_import_timeout_sec: The timeout in seconds to wait for the image to be imported, otherwise it defaults to 600.

Potential References

API: https://github.com/vmware-tanzu/image-registry-operator-api/blob/main/api/v1alpha1/contentlibraryitemimportrequest_types.go

PR: https://github.com/hashicorp/packer-plugin-vsphere/pull/433