2020-04-26 19:21:13 -04:00
|
|
|
---
|
|
|
|
description: >
|
|
|
|
The Yandex.Cloud Compute Image Exporter post-processor exports an image from a
|
|
|
|
Packer
|
|
|
|
|
|
|
|
yandex builder run and uploads it to Yandex Object Storage. The exported
|
|
|
|
|
|
|
|
images can be easily shared and uploaded to other Yandex.Cloud Cloud folders.
|
|
|
|
layout: docs
|
|
|
|
page_title: Yandex.Cloud Compute Image Exporter - Post-Processors
|
|
|
|
sidebar_title: Yandex.Cloud Compute Export
|
|
|
|
---
|
|
|
|
|
|
|
|
# Yandex.Cloud Compute Image Exporter Post-Processor
|
|
|
|
|
|
|
|
Type: `yandex-export`
|
|
|
|
|
|
|
|
The Yandex.Cloud Compute Image Exporter post-processor exports the resultant image
|
|
|
|
from a yandex build as a qcow2 file to Yandex Object Storage.
|
|
|
|
|
|
|
|
The exporter uses the same Yandex.Cloud folder and
|
|
|
|
authentication credentials as the yandex build that produced the image.
|
|
|
|
A temporary VM is started in the folder using these credentials. The VM
|
|
|
|
mounts the built image as a secondary disk, then dumps the image in qcow2 format.
|
|
|
|
The VM then uploads the file to the provided Yandex Object Storage `paths` using the same
|
|
|
|
credentials.
|
|
|
|
|
|
|
|
As such, assigned Service Account must have write permissions to the Yandex Object Storage
|
|
|
|
`paths`. A new temporary static access keys from assigned Service Account used to upload
|
|
|
|
image.
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
### Required:
|
|
|
|
|
|
|
|
@include 'post-processor/yandex-export/Config-required.mdx'
|
|
|
|
|
|
|
|
### Optional:
|
|
|
|
|
|
|
|
@include 'post-processor/yandex-export/Config-not-required.mdx'
|
|
|
|
|
|
|
|
## Basic Example
|
|
|
|
|
|
|
|
The following example builds a Compute image in the folder with id `b1g8jvfcgmitdrslcn86`, with an
|
|
|
|
Service Account whose keyfile is `account.json`. After the image build, a temporary VM
|
|
|
|
will be created to export the image as a qcow2 file to
|
|
|
|
`s3://packer-export/my-exported-image.qcow2` and
|
|
|
|
`s3://packer-export/image-number-two.qcow2`. `keep_input_artifact` is true, so the
|
|
|
|
source Compute image won't be deleted after the export.
|
|
|
|
|
|
|
|
In order for this example to work, the service account associated with builder
|
|
|
|
must have write access to both `s3://packer-export/my-exported-image.qcow2` and
|
|
|
|
`s3://packer-export/image-number-two.qcow2` and get permission to modify temporary instance
|
|
|
|
(create new disk, attach to instance, etc).
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"builders": [
|
|
|
|
{
|
|
|
|
"type": "yandex",
|
|
|
|
"folder_id": "b1g8jvfcgmitdrslcn86",
|
|
|
|
"subnet_id": "e9bp6l8sa4q39yourxzq",
|
2020-07-09 04:46:51 -04:00
|
|
|
"zone": "ru-central1-a",
|
2020-04-26 19:21:13 -04:00
|
|
|
|
|
|
|
"source_image_family": "ubuntu-1604-lts",
|
|
|
|
"ssh_username": "ubuntu",
|
2020-07-13 06:33:16 -04:00
|
|
|
"use_ipv4_nat": true
|
2020-04-26 19:21:13 -04:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"post-processors": [
|
|
|
|
{
|
|
|
|
"type": "yandex-export",
|
|
|
|
"folder_id": "b1g8jvfcgmitdrslcn86",
|
|
|
|
"subnet_id": "e9bp6l8sa4q39yourxzq",
|
|
|
|
|
|
|
|
"service_account_id": "ajeu0363240rrnn7xgen",
|
|
|
|
|
|
|
|
"paths": [
|
|
|
|
"s3://packer-export-bucket/my-exported-image.qcow2",
|
2020-07-09 08:35:08 -04:00
|
|
|
"s3://packer-export-bucket/template-supported-get-{{build `ImageID` }}-right-here.qcow2"
|
2020-04-26 19:21:13 -04:00
|
|
|
],
|
|
|
|
"keep_input_artifact": true
|
|
|
|
}
|
|
|
|
]
|
2020-07-09 04:46:51 -04:00
|
|
|
}
|
|
|
|
```
|