This section describes the steps to create deployment packages for your solution. Deployment packages are uploaded through Partner Portal, and are required for submitting your VM solution.
A deployment is a set of resources that are created and managed together—such as the resources needed for your solution. A deployment package is a specification for a set of resources that are typically deployed together, which streamlines the process of deploying that particular solution. Deployment Manager enables you to create deployment packages for your VM solutions by using simple YAML, JSON, or ProtoText configuration files.
If your solution is a simple deployment of a single virtual machine instance with basic firewall rules, you can configure your deployment package directly in Partner Portal.
For most use cases, we recommend using the
to generate Deployment Manager packages. The
mpdev tool uses Deployment Manager
Autogen to generate your Deployment Manager packages. For more information,
refer to this sample Autogen specification. Packages built with Autogen include the following capabilities:
- Quota checks for CPUs and GPUs, so that users cannot deploy your solution if they exceed the quota requirements.
- Dynamic price updates in the Deployment Manager page.
- Support for shared VPCs.
- Support for VMs with multiple network interface cards.
- The ability to prevent users from choosing machine types, GPUs, or subnetworks that are not available in the zone that they choose.
Before you begin
mpdev tool by following the instructions in the
Creating your Autogen specification
We recommend creating your initial Autogen specification by using the
marketplace-tools repository. To create your specification from the
single VM example run the following command:
mpdev pkg get https://github.com/GoogleCloudPlatform/marketplace-tools.git/examples/deployment-manager/autogen/singlevm MY_PACKAGE
Follow the next steps described in the file
of the downloaded example. These steps include editing fields
configurations.yaml file that are specific to your solution. After you
have completed these steps, run
mpdev apply on your edited
mpdev configuration to
generate your Deployment Manager package.
You can also see other sample configurations in the
Creating authorization credentials
Generating your deployment package
The following is a sample command that reads the spec in
MY_PACKAGE/configurations.yaml and outputs a zip file
to the location specified in
mpdev apply -f MY_PACKAGE/configurations.yaml
After your deployment package has been created, follow these instructions to upload the deployment package to Partner Portal.
Creating simple Deployment Manager packages in Partner Portal
Solutions that are simple deployments of single virtual machine instances with basic firewall rules can have their deployment packages configured directly in Partner Portal.
To configure this, open Partner Portal and select your solution from the list of solutions, then follow these steps:
- Next to Deployment Package, click Edit.
- Select to Generate a Package, and then click Continue.
- Select your VM image using the Project and Image dropdowns, and then click Continue.
- Select your Minimum machine type and Default machine type settings, then click Continue.
- Add any post-deployment next steps that your customers should take, and then click Continue.
- Set up your Firewall rules and other networking options if applicable, and then click Continue.
- You can choose to declare a site or admin URL. If your solution requires a login, you can set up login details when you submit your solution. Click Continue.
- Under List package contents, select the Operating System Name and OS Version of your VM image's operating system. You can then add a Name and Version for each additional piece of software that comes included as part of your solution. After you have listed all of your package's contents, click Continue.
- After you have completed the previous steps, your solution package is shown under Review. You can download the solution package, or click Edit JSON to manually modify it. Click Save to save the package and return to your solution.
For more complex deployments, you can create a deployment from scratch. If you're unsure about which type of solution is better for your project, talk to your Google Partner Engineer.
Deployment packages from the customer view
The following sections show the screen layouts that your customers see when they deploy your solution, for solutions based on auto-generated standard solution packages.
Customer view of deploying a package
The standard customer input elements are shown on the left side of the following screenshot and include zone, machine type, disk options, and networking options.
If a customer's deployment requires multiple network interface cards, they can add additional network interfaces by clicking Add network interface.
To deploy your solution, your customers must fill out the input fields, and then click Deploy.
Customer view of a deployed package
The following image shows you how your solution will appear to your customers after they have deployed it successfully.
The standard output elements are shown on the right side of the following screenshot and include site address, temporary admin password, and instance information.