Stay organized with collections
Save and categorize content based on your preferences.
This page describes the guidelines for maintaining and updating your product
after it is live on Cloud Marketplace.
Managing updates for your app
The process for updating your product is similar to creating your
initial app package. First, you must generate a new set of container images
for the update, and push them to your Container Registry staging repository.
Depending on whether you are adding a new version or updating an existing
version, use the steps below to update your app.
Adding a new version
In your Container Registry staging repository, tag your app
images with a new minor version tag. Then, follow the steps to
submit your app
in Producer Portal.
Updating an existing version
In your Container Registry staging repository, tag your images with
the current minor version tag. Then, use the steps below to update the
app in Producer Portal.
Replace YOUR_PUBLIC_PROJECT_ID with the ID for the public
project that you created for Cloud Marketplace—for example,
my-organization-public.
In the list of products, click the product ID.
On the Overview page of your product, go to the Container images
section, and click Edit.
By Proposed Releases, click Edit. It might take a few seconds to read the
repository and load your tags.
Click the release that you want to update.
In Display tag, select the release that uses the corresponding
digest to the image you updated in your Container Registry.
After you've updated all the information for the release, click Done.
When you're done adding supported releases to your product, click Save and Validate.
Click Submit to submit the container images for review.
After all reviews have been approved, you can publish and launch the
product by opening the Overview page of your product, and clicking Publish.
As with initial submission, the Cloud Marketplace team performs automated
testing and reviews your submission.
After the updated version is published, it becomes the default for new customers.
Current customers will see new images pushed to existing tags. Deployments
from the Cloud Marketplace product page are always pinned to image digests,
and are not automatically updated. We also recommend pinning images to digests
for customers who deploy your app through the command line.
To help your users update their app images, we recommend adding
the upgrade steps to your
user guide.
Migrating off of deprecated Kubernetes APIs
As Kubernetes APIs evolve, old APIs are eventually deprecated and removed. This
means that your app can become incompatible with current GKE
clusters. Typically existing objects are persisted, so customers' running
deployments are unaffected.
Update your app manifests to remove any dependencies on deprecated
Kubernetes API versions which are removed in any current or upcoming
GKE versions in the Regular or Stable channel. Refer to the
Kubernetes deprecated API migration guide.
For example, update uses of the batch/v1beta1CronJob to batch/v1,
as batch/v1beta1 will be removed in Kubernetes version 1.25, according
to the
guide.
If you're unable to update the manifests for earlier releases of your
app, we recommend removing the release or setting the k8sVersion
cluster constraint in
your schema.
Complete testing of all rebuilt container images using the
mpdev tool, ideally on a cluster with a Kubernetes version that
doesn't support the deprecated API you're removing.
For example, use a Kubernetes version 1.22 cluster to test updating from
the apiextensions.k8s.io/v1beta1CustomResourceDefinition, which was
removed in Kubernetes version 1.22.
Replace YOUR_PUBLIC_PROJECT_ID with the ID for the public
project that you created for Cloud Marketplace—for example,
my-organization-public.
In the list of products, click the product ID.
On the Overview page of your product, go to Pricing review, and click
Edit.
Make any changes to your pricing.
Click Submit to submit the pricing for review.
After all reviews have been approved, you can publish and launch the
product by opening the Overview page of your product and clicking
Publish.
Deprecating apps
As you develop your software, you might want to make certain releases
unavailable on Cloud Marketplace.
Removing an app release
When you remove a release from your product, it is immediately removed from
the product details page when the product is published. However, removing
a release does not remove the images published to the public
Container Registry.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[],[],null,["# Maintaining your product\n\nThis page describes the guidelines for maintaining and updating your product\nafter it is live on Cloud Marketplace.\n\nManaging updates for your app\n-----------------------------\n\nThe process for updating your product is similar to creating your\ninitial app package. First, you must generate a new set of container images\nfor the update, and push them to your Container Registry staging repository.\nDepending on whether you are adding a new version or updating an existing\nversion, use the steps below to update your app.\n\n### Adding a new version\n\nIn your Container Registry staging repository, tag your app\nimages with a new minor version tag. Then, follow the steps to\n[submit your app](/marketplace/docs/partners/kubernetes/submitting#add_your_solution_in_partner_portal)\nin Producer Portal.\n\n### Updating an existing version\n\nIn your Container Registry staging repository, tag your images with\nthe current minor version tag. Then, use the steps below to update the\napp in Producer Portal.\n\n1. Open Producer Portal in the Google Cloud console:\n\n ```\n https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID\n ```\n\n Replace \u003cvar translate=\"no\"\u003eYOUR_PUBLIC_PROJECT_ID\u003c/var\u003e with the ID for the public\n project that you created for Cloud Marketplace---for example,\n `my-organization-public`.\n | **Note:** If you don't see the link, or can't access the URL, verify that you've selected the correct project and have the Editor (`roles/editor`) role for the project. If you still can't access the URL, use the [Partner Support Desk](https://g.co/cloud/psd-partner) to request assistance, and include the word \"Marketplace\" in your description. For more information about Partner Support Desk, visit [Request assistance with Cloud Marketplace](/marketplace/docs/partners/get-support).\n2. In the list of products, click the product ID.\n\n3. On the **Overview** page of your product, go to the **Container images**\n section, and click **Edit**.\n\n4. By **Proposed Releases** , click **Edit**. It might take a few seconds to read the\n repository and load your tags.\n\n5. Click the release that you want to update.\n\n6. In **Display tag**, select the release that uses the corresponding\n digest to the image you updated in your Container Registry.\n\n7. After you've updated all the information for the release, click **Done**.\n\n8. When you're done adding supported releases to your product, click **Save and Validate**.\n\n9. Click **Submit** to submit the container images for review.\n\n10. After all reviews have been approved, you can publish and launch the\n product by opening the **Overview** page of your product, and clicking **Publish**.\n\nAs with initial submission, the Cloud Marketplace team performs automated\ntesting and reviews your submission.\n\nAfter the updated version is published, it becomes the default for new customers.\nCurrent customers will see new images pushed to existing tags. Deployments\nfrom the Cloud Marketplace product page are always pinned to image digests,\nand are not automatically updated. We also recommend pinning images to digests\nfor customers who deploy your app through the command line.\n\nTo help your users update their app images, we recommend adding\nthe upgrade steps to your\n[user guide](/marketplace/docs/partners/kubernetes/create-app-package#user-guide).\n\n### Migrating off of deprecated Kubernetes APIs\n\nAs Kubernetes APIs evolve, old APIs are eventually deprecated and removed. This\nmeans that your app can become incompatible with current GKE\nclusters. Typically existing objects are persisted, so customers' running\ndeployments are unaffected.\n\nTo prevent failures in new app deployments:\n\n1. Review the current GKE versions in the [GKE release notes](https://cloud.google.com/kubernetes-engine/docs/release-notes#current_versions) and upcoming versions in the [GKE release schedule](https://cloud.google.com/kubernetes-engine/docs/release-schedule).\n2. Update your app manifests to remove any dependencies on deprecated Kubernetes API versions which are removed in any current or upcoming GKE versions in the Regular or Stable channel. Refer to the Kubernetes [deprecated API migration guide](https://kubernetes.io/docs/reference/using-api/deprecation-guide).\n - For example, update uses of the `batch/v1beta1` `CronJob` to `batch/v1`, as `batch/v1beta1` will be removed in Kubernetes version 1.25, according to the [guide](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#cronjob-v125).\n - If you're unable to update the manifests for earlier releases of your app, we recommend removing the release or setting the [`k8sVersion`\n cluster constraint](https://github.com/GoogleCloudPlatform/marketplace-k8s-app-tools/blob/master/docs/schema.md#clusterconstraints) in your schema.\n3. Complete testing of all rebuilt container images using the [mpdev tool](https://github.com/GoogleCloudPlatform/marketplace-k8s-app-tools/blob/master/docs/mpdev-references.md), ideally on a cluster with a Kubernetes version that doesn't support the deprecated API you're removing.\n - For example, use a Kubernetes version 1.22 cluster to test updating from the `apiextensions.k8s.io/v1beta1` `CustomResourceDefinition`, which was removed in Kubernetes version 1.22.\n4. Follow the instructions for [Adding a new version](#adding_a_new_version) or [Updating an existing version](#updating_an_existing_version) to submit your changes in the portal.\n\nPricing changes\n---------------\n\nPricing changes take effect after a certain waiting period, and are not\nimmediate. For specifics, refer to your contract.\n\n1. Open Producer Portal in the Google Cloud console:\n\n ```\n https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID\n ```\n\n Replace \u003cvar translate=\"no\"\u003eYOUR_PUBLIC_PROJECT_ID\u003c/var\u003e with the ID for the public\n project that you created for Cloud Marketplace---for example,\n `my-organization-public`.\n | **Note:** If you don't see the link, or can't access the URL, verify that you've selected the correct project and have the Editor (`roles/editor`) role for the project. If you still can't access the URL, use the [Partner Support Desk](https://g.co/cloud/psd-partner) to request assistance, and include the word \"Marketplace\" in your description. For more information about Partner Support Desk, visit [Request assistance with Cloud Marketplace](/marketplace/docs/partners/get-support).\n2. In the list of products, click the product ID.\n\n3. On the **Overview** page of your product, go to **Pricing review** , and click\n **Edit**.\n\n4. Make any changes to your pricing.\n\n5. Click **Submit** to submit the pricing for review.\n\n6. After all reviews have been approved, you can publish and launch the\n product by opening the **Overview** page of your product and clicking\n **Publish**.\n\nDeprecating apps\n----------------\n\nAs you develop your software, you might want to make certain releases\nunavailable on Cloud Marketplace.\n\n### Removing an app release\n\nWhen you remove a release from your product, it is immediately removed from\nthe product details page when the product is published. However, removing\na release does not remove the images published to the public\nContainer Registry.\n\n1. Open Producer Portal in the Google Cloud console:\n\n ```\n https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID\n ```\n\n Replace \u003cvar translate=\"no\"\u003eYOUR_PUBLIC_PROJECT_ID\u003c/var\u003e with the ID for the public\n project that you created for Cloud Marketplace---for example,\n `my-organization-public`.\n | **Note:** If you don't see the link, or can't access the URL, verify that you've selected the correct project and have the Editor (`roles/editor`) role for the project. If you still can't access the URL, use the [Partner Support Desk](https://g.co/cloud/psd-partner) to request assistance, and include the word \"Marketplace\" in your description. For more information about Partner Support Desk, visit [Request assistance with Cloud Marketplace](/marketplace/docs/partners/get-support).\n2. In the list of products, click the product ID.\n\n3. On the **Overview** page of your product, go to the **Container images**\n section, and then click **Edit**.\n\n4. Next to **Proposed Releases** , click **Edit**. It might take a few\n seconds to read the repository and load your tags.\n\n5. Highlight the release that you want to remove.\n\n6. Click delete **Delete** to remove the version.\n\n7. Click **Done**.\n\n8. When you're done removing releases to your product, click **Save and Validate**.\n\n9. Click **Submit** to submit the container images for review.\n\n10. After all reviews have been approved, you can publish and launch the\n product by opening the **Overview** page of your product, and clicking **Publish**."]]