This page outlines how to create the key technical components required for distributing your container image solution with Google Cloud Marketplace.
If you have questions during the onboarding process, talk to your GCP Marketplace Partner Engineer. If you don't know who your assigned Partner Engineer is, contact us at email@example.com.
Container Registry and IAM setup
Before you can create your solution in Partner Portal, you'll need to create
a staging Container Registry repository and push to it the images you
want to distribute in your solution. In your project, you must grant the
Project Viewer role to
Get started with Container Registry
To push tag and push 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 Container Analysis API.
If you've already installed gcloud and Docker, you must enable these APIs from the API Library page:
- Container Registry API
- Container Analysis API
The Container Registry API allows you to push to Container Registry, and the Container Analysis API allows for security scanning.
If you have trouble accessing either of these APIs, contact your Partner Engineer.
Tag and push images
Choose your Container Registry staging repository path. It is recommended that your repository follow the structure
- 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 solution creation in Partner Portal.
- Staging repository must be within
Build the image you want to push to your Container Registry staging repository.
Tag the image via Docker with "latest".
docker tag image_name staging_repo_path:tag
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.
Push your image via gcloud:
gcloud docker push staging_repo_path:tag
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, and after publish.
- 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
gcr.io/testpartner/testsolution/1.0, it is NOT in the repository
gcr.io/testpartner/testsolution/1.0is a separate repository.
Grant Google read access to your staging repository and its security scan results.
Navigate to the Cloud IAM page for your project (containing the staging Container Registry repository).
Click + ADD near the top of the page.
firstname.lastname@example.org a Storage Object Viewer:
This allows Google to copy your selected images into the Google-owned Container Registry repository from where end users will pull them.
If your desired staging Container Registry repository is in a different project than the one from which you'll be using Partner Portal, then make sure that users of your Partner Portal project have Storage Object Viewer access to this project.
email@example.com Container Analysis Occurrences Viewer:
This allows Google to verify that your image meets security requirements.
Click ADD to finish.
Create solution in Partner Portal
This section describes how to create and update your container image solution in Partner Portal.
Step 1: Find the Partner Portal link on the GCP Marketplace page
The direct link for Partner Portal is:
Then navigate to the Solutions section.
If you don't see the link or cannot access the URL, check that you have the correct project selected. If you still can't see it, contact firstname.lastname@example.org for more information.
Step 2: Create a new solution
- Click ADD SOLUTION at the top of the page.
- Name your solution and check the solution ID.
- Select the Container solution type.
Enter your staging repository URL.
- This is the same staging repository path used to tag and push your image.
- The prompt will validate the staging repository path (ensure that it exists and is accessible by Partner Portal). The CREATE button will be disabled until a valid repository has been provided.
Step 3: Edit your solution's marketing information
- To edit it, click your solution ID.
- As with other solution types, complete the Solution Metadata, Solution Details and Documentation & Support sections.
Step 4: Create a "latest" version (and any others)
You're required to create one version corresponding to the Container Registry tag "latest" (case-sensitive). This will be the default version in the dropdown, and will be pulled from the official Container Registry repository when no tag is provided. You may optionally create additional versions, but we recommend having only a few so not to overwhelm or confuse end users.
- Click the edit button next to Versions from the solution editor menu.
- Click Create version.
Fill in version info:
Note that all changes you make are reflected in the live preview to the left of the editing panel. Remember that you can click on the Version dropdowns next to your solution title and in the metadata section, though the dropdown is disabled if you only have one version:
Select the Container Registry tag that the version should correspond to. This will serve to identify the version and cannot be changed after version creation.
Specify a title (it will be displayed in the dropdown).
Specify a description (optional; it will be displayed in the dropdown and metadata section).
Indicate the OS and other packaged software (at least one) for your solution. These cannot be changed after the solution has been submitted.
Repeat for any subsequent versions you'd like to add.
Arrange your versions into the desired order by clicking and dragging the handle.
- Your changes are reflected in the live preview.
Remember that you can leave Partner Portal and return later to continue working on or to complete and submit your draft. Your progress will be saved.
Step 5: Make any desired version revisions
Make any necessary version revisions by clicking the (Container Registry) tag of the version you want to edit from the table on the Version overview page.
You can edit a version's title, description, current image, OS, or packaged software before submission.
Note that OS and packaged software are associated with particular digests. You will not be able to change the OS or packaged software after draft submission. However, if you update your version's digest, you'll be asked to confirm/edit the OS and packaged software for that particular digest.
If the current image in your staging repository with the tag does not match the one on your draft, the Update to current digest button will be enabled. Click it and confirm/edit the OS and packaged software for the new image.
You may also delete a version that has not yet been submitted (is only part of the draft), except for the "latest" version, which is required.
Step 6: Submit
Once you've confirmed that your solution looks and behaves as you'd expect, click the Submit for review button in the main solution editor menu.