Setting up the technical components

This page outlines how to create the key technical components required for distributing your container image product with Google Cloud Marketplace.

If you have questions during the onboarding process, talk to your Cloud Marketplace Partner Engineer. If you don't know who your assigned Partner Engineer is, use the Partner Support Desk to request assistance, and include the word "Marketplace" in your description. For more information about Partner Support Desk, visit Request assistance with Cloud Marketplace.

Container Registry and IAM setup

Before you can create your product in Producer Portal, you need to create a staging Container Registry repository and push the images you want to distribute in your product to that repository. In your project, you must grant the Project Editor role to cloud-commerce-marketplace-onboarding@twosync-src.google.com.

Getting started with Container Registry

To push tagged container images to Container Registry, follow the steps in Before you begin in the Container Registry documentation. Then use the steps below to enable the Artifact Analysis API.

After you install gcloud and Docker, you must enable the following APIs from the API Library page:

  • Container Registry API
  • Artifact Analysis API

The Container Registry API allows you to push to Container Registry, and the Artifact Analysis API allows for security scanning.

If you have trouble accessing either of these APIs, contact your Partner Engineer.

Tagging and pushing images

  1. Choose your Container Registry staging repository path. It is recommended that your repository follow the structure gcr.io/YOUR-PARTNER-ID/YOUR-SOLUTION-ID.

    • Staging repository must be within gcr.io (other regions, such as eu.gcr.io, are not yet supported).
    • Save or copy your staging repository path for product creation in Producer Portal.
  2. Build the image you want to push to your Container Registry staging repository.

  3. Tag the image via Docker with latest.

    docker tag image_name staging_repo_path:tag

    For example, docker tag test-image gcr.io/testpartner/testsolution:latest

    Note that the image tagged latest is pulled if a user does not specify a tag.

  4. Push your image using gcloud:

    gcloud docker push staging_repo_path:tag

  5. Repeat for any additional tags or images you'd like to add to your staging repository. A single image may have multiple tags.

    • Remember that pushing an image to your staging repository won't automatically make it visible to users; this only happens to the images of the tags that you select, after they are published.
    • A repository's scope is the single level of the folder its path specifies. Any images which are within another folder in the repository are not actually in the repository itself. In other words, if an image is in gcr.io/testpartner/testsolution/1.0, it is NOT in the gcr.io/testpartner/testsolution repository. gcr.io/testpartner/testsolution/1.0 is a separate repository.

Creating your product in Producer Portal

This section describes how to create and publish your container image product in Producer Portal.

To publish your product in Producer Portal, you create an entry for your product, and then you submit the following information for review:

  • Product details: Add listing and marketing information about your product.
  • Container images: Provide the Google Container Registry repository that includes your container images.

You can submit these reviews at any time and in any order.

To create your product's Cloud Marketplace entry:

  1. Open Producer Portal in the Google Cloud console:

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    Replace YOUR_PUBLIC_PROJECT_ID with the ID for the public project that you created for Cloud Marketplace—for example, my-organization-public.

  2. At the top of the page, click Add product.

  3. Select Container image.

  4. Under Product name, name your product and check the Product ID. The Product ID is used in the URL for your Cloud Marketplace listing.

  5. Click Create. It might take a few seconds to create your product.

Adding product details

The product details include your product listing on Cloud Marketplace, marketing information, and links to documentation.

To add your product details:

  1. In the list of products, click the product ID.

  2. On the Overview page of your product, go to Product details, and click Edit.

  3. Complete the PRODUCT INFO tab of the Product details section. While completing PRODUCT INFO, you can add Category IDs. Category IDs allow customers to find your product under select categories or filters as they search Cloud Marketplace.

  4. To add tutorials, documentation, and, optionally, additional license agreements, complete the DOCUMENTATION tab of the Product details section. Your documentation must meet the requirements for user guides.

  5. To add search metadata or keywords, or to customize the URL of the details page for your product, complete the PRODUCT METADATA tab of the Product details section.

  6. When you are ready to submit your product details for processing, click Submit.

It takes approximately 2-5 days for the Partner Engineering team to review and approve your product details. You can start editing details now and submit the review later.

Adding your container images

You're required to create one version corresponding to the Container Registry tag latest (case-sensitive). This is the default version in product page.

To add your container images:

  1. In the list of products, click the product ID.

  2. On the Overview page of your product, go to Container images, and click Edit.

  3. In the Container images section, enter the URL for your staging Container Registry repository.

  4. Click Specify Release. It might take a few seconds to read the repository and load your tags.

  5. Select the Display tag for the release you want to include in your product. You must include the latest release in your product, but you can add additional versions. We recommend limiting the number of releases available to your product for your users' convenience.

  6. Optionally add a Version title and a short description of the release. These help your users deploy the version they want.

  7. Enter operating system that this release supports. You can specify the operating system version, if necessary.

  8. After you've added all the information for the release, click Done.

  9. To add another version, click Add Release, and enter the information for that release.

  10. When you're done adding supported releases to your product, click Save and Validate. The images are copied into a public repository, and then we run a series of tests against the images.

  11. Click Submit to submit the container images for review.

Preview your container image product

To preview your Cloud Marketplace listing before it's visible to users:

  1. In the list of products, click the product ID.

  2. On the Overview page of your product, click Full preview.

If you've changed any tags in your staging repository since you validated your container images in Producer Portal, the images referenced in the preview might be inaccurate.

Publish your container image product

To publish your product on Cloud Marketplace, you must:

After all reviews have been approved, you can publish and launch the product within a few minutes. To publish your product:

  1. In the list of products, click the product ID.

  2. On the Overview page of your product, click Publish.