Skip to content

carbonin/assisted-image-service

Repository files navigation

Assisted Image Service

This service customizes and serves RHCOS images for the Assisted Installer Service. It downloads a set of RHCOS images on startup based on config and responds to a single API endpoint to allow a user to download a customized image for use with assisted service.

Running the Service

Build the image and run it locally using podman

make build run

This will start the service running on port 8080 by default. It will also bind-mount the data and certs local directories into the container root.

Running tests

skipper make test

Configuration

  • DATA_DIR - Path at which to store downloaded RHCOS images.
  • RHCOS_VERSIONS - JSON string indicating the supported versions and their required urls.
  • PORT - Service listen port
  • HTTPS_KEY_FILE - tls key file path
  • HTTPS_CERT_FILE - tls cert file path
  • ASSISTED_SERVICE_URL - URL to use to query assisted service for image information

Example RHCOS_VERSIONS:

{
	"4.6": {
		"iso_url": "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.6/4.6.8/rhcos-4.6.8-x86_64-live.x86_64.iso",
		"rootfs_url": "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.6/4.6.8/rhcos-live-rootfs.x86_64.img"
	},
	"4.7": {
		"iso_url": "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.7/4.7.13/rhcos-4.7.13-x86_64-live.x86_64.iso",
		"rootfs_url": "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.7/4.7.13/rhcos-live-rootfs.x86_64.img"
	},
	"4.8": {
		"iso_url": "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/pre-release/4.8.0-rc.3/rhcos-4.8.0-rc.3-x86_64-live.x86_64.iso",
		"rootfs_url": "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/pre-release/4.8.0-rc.3/rhcos-live-rootfs.x86_64.img"
	}
}

API

GET /images/{image_id}

Downloads the RHCOS image for the specified image ID.

Query paraeters

version: indicates the version of the RHCOS base image to use (must match a key in RHCOS_VERSIONS)

GET /health

Returns 200 if the service is ready to respond to requests

GET /metrics

Prometheus metrics scraping endpoint

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published