Custom Images
Custom images let you bring your own operating system to GPCORE bare-metal nodes. This is useful when you need a pre-configured base image with your software stack already installed, want to use a distribution or version not available in the public image library, or need specific kernel settings or security hardening applied at the OS level. Images must be uploaded via the API or Terraform provider and must be in qcow2 or raw uncompressed format. It is strongly recommended to include Cloud-Init (Linux) or Cloudbase-Init (Windows) in your image so that GPCORE can configure networking, inject SSH keys, and apply user data at first boot.
Cloud-Init recommended
It's recommended to run Cloud-Init or Cloudbase-Init on your images. This is used to configure the server after it has been created. If you don't use Cloud-Init or Cloudbase-Init you need to take care of the configuration yourself. This includes basics like networking and user management.
Cloud-Init Linux Support
Cloud-Init support for GPCORE is already in the upstream but not released yet. In the meantime please install Cloud-Init from the main branch or use the daily builds in your images.
Uploading images
Currently it's only supported to upload images via the API or via our Terraform provider. We plan to add support for uploading images via the panel in the future.
Supported image formats:
- qcow2
- raw (uncompressed)
Cloud-Init configuration
Linux
Please ensure that you have installed Cloud-Init on the latest version from the main branch inside the image.
Configure cloud-init correctly to run on the first boot. For example create the following file /etc/cloud.cfg.d/01-metadata.cfg:
datasource_list: [OpenStack, None]
reporting:
metadata:
type: webhook
endpoint: http://169.254.169.254/reporting/cloud-init
timeout: 10
retries: 1
Windows
Configure Cloudbase-Init correctly to run on the first boot. For example create the following file C:\ProgramData\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf:
[DEFAULT]
username=Administrator
groups=Administrators
first_logon_behaviour=no
inject_user_password=true
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService
bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
log-dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
log-file=cloudbase-init.log
local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=INFO
verbose=true
debug=true