---
schema_version: "1"
id: 62f6558cfac1bd5b11525c721db7576bd931d6371a07a86bb0f919319dbd0e9f
title: Prerequisites for Omni Gateway Policy Development Kit (PDK)
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/pdk/latest/policies-pdk-prerequisites.md
canonical_url: https://docs.mulesoft.com/pdk/latest/policies-pdk-prerequisites
source_site: docs.mulesoft.com
content_type: documentation
content_hash: e7406ee8628887e5c044b04d9362ad0527b86008920486d2953a40f551c2c869
description: MuleSoft Documentation Site
release: "1.10"
latest: true
---
---
product: Omni Gateway Policy Development Kit (PDK)
version: 1.10
is-latest-version: true
---

# Prerequisites for Omni Gateway Policy Development Kit (PDK)

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Before you begin using Omni Gateway Policy Development Kit (PDK), review these prerequisites.

## Omni Gateway

PDK tutorials assume that you have [downloaded Omni Gateway](https://docs.mulesoft.com/gateway/latest/install) and have
some prior knowledge of the product.

## Rust Requirements for Using PDK

1.  Git

    To download and install, see
    [Installing Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).

2.  Rust programming language version v1.88.0 or later

    To install or update Rust, run the following curl command:

    ```ssh
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    ```

    > [!NOTE] If you do not have curl installed, see [Install curl](https://curl.se/download.html).

3.  Rust WebAssembly System Interface (WASI) Crate

    To install or update Rust WASI, run the following command:

    ```ssh
    rustup target add wasm32-wasip1
    ```

4.  Cargo Generate

    To install or update Cargo Generate, run the following command:

    ```ssh
    cargo install --locked cargo-generate@0.22.0
    ```

## Supported Operating Systems

- macOS

- Ubuntu

  To use Ubuntu, execute the following commands to install the required packages after installing
  the [Rust Requirements for Using PDK](#rust-requirements):

  ```ssh
  sudo apt install -y build-essential
  sudo apt install -y pkg-config
  sudo apt install -y libssl-dev
  ```

- Windows

  > [!IMPORTANT] PDK supports Windows to develop and test you custom policy. However, Omni Gateway
  > does not support Windows in production environments.

  To execute the `make` commands included in PDK, install:

  1.  [PowerShell on Windows](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3)

  2.  Make, with either:

      - [Make for Windows](https://gnuwin32.sourceforge.net/packages/make.htm)

      - Chocolatey:

        ```ssh
        choco install make
        ```

## Anypoint CLI

To configure the Anypoint CLI for PDK:

1.  [Install Anypoint CLI 4.x v1.4.4 or later](https://docs.mulesoft.com/anypoint-cli/latest/install).

    > [!NOTE] To find your Anypoint CLI 4.x version, see
    > [Verify the Core Package Version](https://docs.mulesoft.com/anypoint-cli/latest/install#verify-installation).

2.  [Authenticate to the Anypoint Platform CLI](https://docs.mulesoft.com/anypoint-cli/latest/auth) using a
    [Connected App](https://docs.mulesoft.com/access-management/connected-apps-overview).

    Authenticate with a Connected App by providing the app’s client ID and client secret.

    > [!NOTE] In addition to the `View Organization` and `View Environment` scopes required to
    > authenticate to Anypoint Platform, to complete
    > [Publishing Unified-Model Policies to Exchange](https://docs.mulesoft.com/pdk/latest/policies-pdk-publish-policies), the Connected
    > App must have the `Exchange Contributor` scope applied.

3.  Run the following command to install or update the Anypoint CLI PDK Plugin:

    ```ssh
    anypoint-cli-v4 plugins:install anypoint-pdk-plugin
    ```

## Docker

Docker is required to use the [local debugging environment](https://docs.mulesoft.com/pdk/latest/policies-pdk-debug-local) and the
[integration testing framework](https://docs.mulesoft.com/pdk/latest/policies-pdk-integration-tests) provided with PDK. You can still
build and publish policies without docker.

To install Docker, see [Install Docker](https://docs.docker.com/get-docker/).

> [!IMPORTANT] You can run Omni Gateway in Local Mode on Docker in Windows only to develop and test
> your policies. However, Omni Gateway does not support Windows in production environments.

## Visual Studio (Suggested IDE)

You can use PDK in any IDE or text editor, such as
[Microsoft Visual Studio](https://code.visualstudio.com/) with the
[Rust in Visual Studio Code Plugin](https://code.visualstudio.com/docs/languages/rust) installed.

## See Also

- [Upgrading PDK](https://docs.mulesoft.com/pdk/latest/policies-pdk-upgrade-pdk)

- [Policy Development Kit Architecture Overview](https://docs.mulesoft.com/pdk/latest/policies-pdk-architecture)

- [Developing Custom Policies](https://docs.mulesoft.com/pdk/latest/policies-pdk-develop-custom-policies)
