[Документация Yandex Cloud](../../index.md) > [Yandex Cloud Marketplace](../index.md) > Партнерам > Пошаговые инструкции > Создание конфигурации для продукта Cloud Apps

# Создание конфигурации для продукта Cloud Apps

## Создать конфигурацию {#create}

1. Авторизуйтесь в [кабинете партнера Marketplace](https://kz.partners.yandex.cloud/).
1. Перейдите в продукт, для которого хотите создать конфигурацию.
1. Перейдите на вкладку **Конфигурации**.
1. Нажмите ![image](../../_assets/console-icons/plus.svg) **Создать конфигурацию**.
1. Выберите, каким способом хотите создать конфигурацию:

    {% list tabs %}

    - С нуля

        Чтобы создать пустую конфигурацию:

        1. Выберите каталог для сохранения конфигурации. У вас должна быть роль `cloudapps.editor` на этот каталог.
        1. Укажите имя конфигурации.
        1. (Опционально) Укажите описание конфигурации.

    - На основе другой

        Чтобы создать конфигурацию на основе уже существующей:

        1. Выберите конфигурацию, на основе которой хотите создать новую.
        1. Выберите каталог для сохранения конфигурации. У вас должна быть роль `cloudapps.editor` на этот каталог.
        1. Укажите имя конфигурации.
        1. (Опционально) Укажите описание конфигурации.

        В новую конфигурацию автоматически добавятся все артефакты, поля и ресурсы, которые есть в той конфигурации, на основании которой вы создаете новую.

    - На основе пресета

        Чтобы создать конфигурацию с заранее заданным типовым набором полей и ресурсов:

        1. Выберите пресет, на основе которого хотите создать конфигурацию. Пресет — это набор сервисов Yandex Cloud, на базе которых будет работать приложение. На данный момент доступны следующие пресеты:
            
            * Network Load Balancer + Instance Groups + Managed Service for PostgreSQL;
            * Network Load Balancer + Instance Groups + Managed Service for MySQL®;
            * Network Load Balancer + Instance Groups + Object Storage;
            * Network Load Balancer + Instance Groups.
            
        1. Выберите каталог для сохранения конфигурации. У вас должна быть роль `cloudapps.editor` на этот каталог.
        1. Укажите имя конфигурации.
        1. (Опционально) Укажите описание конфигурации.
        1. (Опционально) В блоке **Параметры пресета** укажите значения параметров по умолчанию для ресурсов, которые будут создаваться во время установки приложения (экземпляра продукта). [Образ диска](../../compute/concepts/image.md) виртуальной машины Instance Groups должен соответствовать [требованиям](../concepts/compute-product.md).

    {% endlist %}

## Настроить конфигурацию {#configure}

### Добавить артефакт {#artifact}

Добавьте артефакты — [образы дисков](../../compute/concepts/image.md) Yandex Compute Cloud, [Docker-образы](../../container-registry/concepts/docker-image.md) Yandex Container Registry и используемые приложением статичные файлы, размещенные в [бакетах](../../storage/concepts/bucket.md) Yandex Object Storage.

Чтобы добавить артефакт:

1. В списке появится созданная вами конфигурация в статусе `Черновик`. Выберите ее.
1. Добавьте артефакты, которые нужны для работы приложения:
    1. Нажмите **Добавить артефакт**.
    1. Выберите тип артефакта:

        * `Образ диска`:

            [Образы дисков](../../compute/concepts/image.md) используются для инициализации дисков [виртуальных машин](../../compute/concepts/vm.md) Compute Cloud, в том числе в [группах ВМ](../../compute/concepts/instance-groups/index.md).

            1. Укажите название артефакта.
            1. Выберите образ диска Yandex Compute Cloud. Он должен соответствовать [требованиям](../concepts/compute-product.md).
            1. Нажмите **Добавить**.

        * `Образ контейнера`:

            [Образы контейнеров](../../container-registry/concepts/docker-image.md) используются для создания контейнеризованных приложений с помощью [Yandex Serverless Containers](../../serverless-containers/index.md) или [Yandex Container Solution](../../cos/index.md).

            1. Укажите название артефакта.
            1. Выберите Docker-образ, загруженный в Yandex Container Registry. Он должен соответствовать [требованиям](../concepts/kubernetes-product.md).
            1. Нажмите **Добавить**.

        * `Object Storage`:

            [Бакеты](../../storage/concepts/bucket.md) Object Storage используются для хранения статических файлов версии приложения, таких как логотипы, глобальные файлы конфигурации, исполняемый код функций [Yandex Cloud Functions](../../functions/index.md) и т.п.

            1. Укажите название артефакта.
            1. Выберите бакет Yandex Object Storage, в котором хранятся файлы, необходимые для корректной работы приложения.
            1. Укажите полный путь к файлу, например `prefix/subprefix/data.json`.
            1. Нажмите **Добавить**.


### Создать форму {#form}

Создайте форму — набор полей, которые будет заполнять пользователь перед установкой приложения. Значения, полученные из полей, можно использовать как при настройке ресурсов приложения, так и во время его выполнения.

Если вы создавали конфигурацию на основе другой конфигурации или на основе пресета, в конфигурацию уже добавлены поля формы. Измените их при необходимости.

Чтобы добавить поле:

1. Перейдите на вкладку **Параметры запуска**.
1. Добавьте поле в форму, которую пользователь будет заполнять при установке приложения:

    1. Нажмите **Добавить поле**.
    1. Укажите параметры поля. Описание параметров полей приведено в разделе [Справочник полей, доступных для формы продукта Cloud Apps](../concepts/form-fields-ref.md).

### Добавить ресурсы {#resources}

Опишите ресурсы Yandex Cloud, которые пользователь должен создать перед установкой приложения и которые будут автоматически создаваться в каталоге пользователя при развертывании приложения.

Если вы создавали конфигурацию на основе другой конфигурации или на основе пресета, в конфигурацию уже добавлены ресурсы. Измените их при необходимости.

Чтобы добавить ресурс:

1. Перейдите на вкладку **Ресурсы**.
1. Нажмите **Добавить ресурс**.
1. Выберите:
    * `Новый ресурс`, чтобы при установке приложения в каталоге пользователя автоматически создался новый ресурс.
    * `Ресурс пользователя`, чтобы при установке приложения пользователь выбрал ресурс из уже существующих в его каталоге или создал новый ресурс по своему усмотрению.
1. Выберите ресурс из доступных.
1. В правой части окна выберите добавленный ресурс. Ресурсы пользователя отличаются от новых значком ![image](../../_assets/console-icons/person-magnifier.svg).
1. Измените название ресурса. Для этого нажмите ![image](../../_assets/console-icons/pencil.svg) рядом с именем ресурса, которое было сгенерировано автоматически. Имя ресурса должно быть уникальным в рамках конфигурации. Пользователь увидит его при установке приложения.
1. Укажите параметры ресурса. Возможные типы значений параметров:

    * **Значение** — статическое значение, которое вы укажете в поле.
    * **Атрибут приложения** — значение одного из атрибутов приложения, например идентификатор каталога, в котором пользователь будет устанавливать приложение.
    * **Референс** — значение одного из параметров добавленного вами ресурса.
    * **Поле ввода** — значение, полученное из поля формы, которую пользователь заполняет при установке приложения.
    * **Без значения** — пустое значение.
    * **Ресурс** — выбор одного из добавленных вами ресурсов.
    * **Выражение** — [вычисляемое выражение](../concepts/expressions.md), позволяющее динамически формировать значение поля на основе других значений, входных параметров и вычислений.

    Описание параметров ресурсов приведено в [документации Terraform-провайдера](../../terraform/index.md). Параметры, доступные при создании ресурсов, и параметры, описанные в документации, могут различаться.

    {% cut "Пример добавления ресурса" %}

    1. Выберите тип ресурса — `VPC облачная сеть`.
    1. Нажмите ![image](../../_assets/console-icons/pencil.svg) рядом с именем облачной сети `yandex-vpc-network-1` — оно было сгенерировано автоматически. Измените имя облачной сети. Оно должно быть уникальным в рамках конфигурации. Указанное вами имя пользователь увидит при установке приложения.
    1. В поле **Id** выберите `Поле ввода` и выберите, из какой переменной получать идентификатор облачной сети. Имя переменной указывается при добавлении поля в форму. Пользователь указывает значение поля при установке приложения.

    {% endcut %}

1. Нажмите **Сохранить**, чтобы сохранить конфигурацию.

## Полезные ссылки {#see-also}

* [Создание демонстрационного продукта Cloud Apps](../tutorials/demo-cloud-apps.md)