Publishing Community Applications

This topic describes how to share and manage a custom image as a community application.

With Marketplace, you can take custom images that you imported to Oracle Cloud Infrastructure Compute and publish them to make them available to others in the Oracle Cloud Infrastructure community. Community applications are custom images provided to the community by the community. Community members can select from community applications when launching an instance, similarly to how they might select an Oracle image, partner image, or other image.

Anyone who uses community applications does so at their own risk. As with all images, terms of use exist between the publisher of the image and the customer, and you must accept any terms of use agreement associated with an image if you want to use the image.

Community applications appear alongside other images, such as platform images or partner images, to users of Compute during the instance creation workflow. Compute users can select from community images when they select an image to launch an instance. Community applications do not appear in Marketplace alongside applications from publishers in the Oracle PartnerNetwork.

Required IAM Policy

To use Oracle Cloud Infrastructure, you must be granted security access in a policy  by an administrator. This access is required whether you're using the Console or the REST API with an SDK, CLI, or other tool. If you get a message that you don’t have permission or are unauthorized, verify with your administrator what type of access you have and which compartment  to work in.

If you're new to policies, see Getting Started with Policies and Common Policies.

For administrators, the following policies enable the creation of community applications in Marketplace for community use and provide access to community applications to users. For any policies, if you want to reduce the scope of access to a particular compartment, specify the compartment instead of the tenancy.

  • The following policy gives the specified example group the ability to list, view, create, update, delete, or move community applications.

    Allow group PublicationAdmins to manage marketplace-publications in tenancy where listing.type='Community'
  • The following policy gives the Marketplace service the ability to do everything with Compute custom images, including listing, viewing, creating, updating, deleting, and moving them.

    Allow service Marketplace to manage instance-images in tenancy
    
  • The following policy gives the specified example group the ability to list community applications when selecting an image while launching an instance and to see the terms of use agreements associated with the images:

    Allow group CommunityApplicationLaunchers to read marketplace-community-listings in tenancy
    Allow group CommunityApplicationLaunchers to inspect compartments in tenancy
    Allow group CommunityApplicationLaunchers to read app-catalog-listing in tenancy

If you need to write more restrictive policies, see the policy reference on which these policies were based, Details for the Marketplace Service and Details for the Core Services, as needed.

Using the Console

To create a community application
  1. Open the navigation menu and click Marketplace. Under Marketplace, click All Applications. Then, click Community Applications.
  2. Under List Scope, in the Compartment list, click the name of the compartment where you want to create a community application.
  3. Click Create.
  4. In the Create Community Application dialog box, click Name, and then enter a name for the community application. The same name is used in the listing that Marketplace makes available for use.
  5. Click Short Description, and then enter a short description of the community application. The short description accompanies the listing and is shown wherever the listing displays in a condensed format.
  6. Optionally, click Long Description, and then enter a longer description of the community application. The long description accompanies the listing and is shown wherever the listing displays in full.
  7. Under Contact Information, enter the name and email address that you want others to use to contact you if they need support with the community application. Avoid entering any confidential information.
  8. Next, under Specify Listing, do one of the following to choose the custom image that you want to share:
    Note

    You cannot publish a Windows custom image as a community application.
    • To select from a list of custom images available to you, click Choose Image, choose the compartment where the image exists, and then select the check box of the image that you want to publish.
    • To specify a custom image by its OCID, click Provide OCID, click the text box, and then enter the OCID of the image that you want to publish.
  9. Click Community Application's Terms of Use, and then enter the terms of use that you want community members to agree to if they want to use the image.
  10. To confirm that you have the authority to create the community application and share the image with community members, select the I represent that I have the right and authority to share this Community Application in accordance with my agreement with Oracle applicable to the Services and with the related Service Specifications check box. You must select the check box to proceed.
  11. When you are finished, click Create.
To view a community application's details
  1. Open the navigation menu and click Marketplace. Under Marketplace, click All Applications. Then, click Community Applications.
  2. Under List Scope, in the Compartment list, click the name of the compartment that contains the community application you want to view.
  3. From the list of community applications in the compartment, click the community application name.
  4. The console displays the following information:
    • OCID: The unique, Oracle-assigned ID of the community application.
    • Created: The date and time when you initially created the community application.
    • Compartment: The unique, Oracle-assigned ID of the compartment that contains the community application.
    • Original Source: The custom image that formed the basis of the community application.
    • Contact Information: The name and email address that users of the community application can contact when they need support.
    • Short Description: A short description of the community application that displays to users when the listing is condensed.
    • Long Description: A longer description of the community application that displays to users when the listing is expanded.
To view all community applications in a compartment
  1. Open the navigation menu and click Marketplace. Under Marketplace, click All Applications. Then, click Community Applications.
  2. Under List Scope, in the Compartment list, click the name of the compartment that contains the community applications you want to view.

The console displays a list of all community applications in the compartment that you have permission to view.

To update a community application
Note

You can update the name of a community application, its descriptions, or its contact information. You cannot update the image or terms of use for an existing community application. To publish a different custom image, create a new community application.
  1. Open the navigation menu and click Marketplace. Under Marketplace, click All Applications. Then, click Community Applications.
  2. Under List Scope, in the Compartment list, click the name of the compartment that contains the community application that you want to update.
  3. Click the name of the community application, and then click Edit Details.
  4. In the Edit Community Application dialog box, update information as needed. Avoid entering any confidential information.
  5. When you are finished, click Save.
To delete a community application
  1. Open the navigation menu and click Marketplace. Under Marketplace, click All Applications. Then, click Community Applications.
  2. Under List Scope, in the Compartment list, click the name of the compartment that contains the community application that you want to delete.
  3. Click the name of the community application, and then click Delete.
  4. To confirm, click Delete again.
To move a community application to another compartment
  1. Open the navigation menu and click Marketplace. Under Marketplace, click All Applications. Then, click Community Applications.
  2. Under List Scope, in the Compartment list, click the name of the compartment that contains the community application that you want to move.
  3. Click the name of the community application, and then click Move Resource.
  4. Choose the compartment to which you want to move the community application, and then click Move Resource.

Using the Command Line Interface (CLI)

For information about using the CLI, see Command Line Interface (CLI). For a complete list of flags and options available for CLI commands, see the Command Line Reference.

To create a community application

Open a command prompt and run oci marketplace publication create to create a new community application:

oci marketplace publication create --compartment-id <target_compartment_id> --name '<publication_name>' --short-description '<short_application_description>' --contact-name '<name_of_support_contact>' --contact-email '<email_of_support_contact>' --image-id <custom_image_OCID> --terms-of-use '<text_of_application_terms_of_use>'

For example:


oci marketplace publication create --compartment-id ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --name 'My Best Application' --short-description 'This application will change your life.' --contact-name 'John Doe' --contact-email 'john@example.com' --image-id ocid1.image.oc1.phx.exampleanquwmne2sptdsemm32pmp4faux7yah44sndcjocyfcvbgzvft77a --terms-of-use 'I agree to use this software at my own risk.' 

Avoid entering confidential information.

To view a community application's details

Open a command prompt and run oci marketplace publication get to view a community application's details:

oci marketplace publication get --publication-id <target_publication_id>

For example:


oci marketplace publication get --publication-id ocid1.marketplacecommunitylisting.oc1..examplea3o7jtytz3lsfauxeq6sp5ye3ex624rgsw2ol4cvbpy2qtm57dgja
To view all community applications in a compartment

Open a command prompt and run oci marketplace publication get to view all community applications in a compartment:

oci marketplace publication get --publication-id <target_publication_id>

For example:


oci marketplace publication get --publication-id ocid1.marketplacecommunitylisting.oc1..examplea3o7jtytz3lsfauxeq6sp5ye3ex624rgsw2ol4cvbpy2qtm57dgja
To update a community application
Note

You can update the name of a community application, its descriptions, or its contact information. You cannot update the image or terms of use for an existing community application. To publish a different custom image, create a new community application.

Open a command prompt and run oci marketplace publication update to update an existing community application:

oci marketplace publication update --publication-id <target_publication_id> --name '<publication_name>'

For example:


oci marketplace publication update --publication-id ocid1.marketplacecommunitylisting.oc1..examplea3o7jtytz3lsfauxeq6sp5ye3ex624rgsw2ol4cvbpy2qtm57dgja --name 'New Application Name'

Avoid entering confidential information.

To delete a community application

Open a command prompt and run oci marketplace publication delete to delete a community application:

oci marketplace publication delete --publication-id <target_publication_id>

For example:


oci marketplace publication delete --publication-id ocid1.marketplacecommunitylisting.oc1..examplea3o7jtytz3lsfauxeq6sp5ye3ex624rgsw2ol4cvbpy2qtm57dgja
To move a community application to another compartment

Open a command prompt and run oci marketplace publication change-compartment to move a community application from one compartment to another:

oci marketplace publication change-compartment --compartment-id <target_compartment_id> --publication-id <target_publication_id>

For example:


oci marketplace publication change-compartment --compartment-id ocid1.compartment.oc1..example1example25qrlpo4agcmothkbgqgmuz2zzum45ibplooqtabwk3zz --publication-id ocid1.marketplacecommunitylisting.oc1..examplea3o7jtytz3lsfauxeq6sp5ye3ex624rgsw2ol4cvbpy2qtm57dgja