# Run NetoFuse

After [Install](/netofuse/get-started.md) is complete, perform the following steps to run the desired NetoFuse module(s):

## 1. Set Netography Fusion API Credentials <a href="#id-1-set-netography-fusion-api-credentials" id="id-1-set-netography-fusion-api-credentials"></a>

NetoFuse requires a Netography Fusion API key to upload context labels to Fusion. Instructions for creating a new API key are available at [Create a Netography API Key](https://docs.netography.com/settings/user-management/index/add-api-key).

You can edit the `netofuse.yml` configuration file to set values, or set them in an environment settings file, or as environment variables.

### Setting API credentials in an environment settings file <a href="#setting-api-credentials-in-an-environment-settings-file" id="setting-api-credentials-in-an-environment-settings-file"></a>

If you used the Docker host setup script to install NetoFuse, you can create an environment settings file with these variable names by running:

`grep NETO__API__ /etc/netofuse/netofuse.env.template >> /etc/netofuse/.netofuse.env`

Then, use a text editor to set the correct values in `/etc/netofuse/.netofuse.env`

If you are using the Python package, you can accomplish the same thing by running:

`netofuse init --envfile netofuse.env.template`

`grep NETO__API__ netofuse.env.template >> .netofuse.env`

The environment variables to set are:

| Environment Variable                 | Field      | Notes                                                                |
| ------------------------------------ | ---------- | -------------------------------------------------------------------- |
| `NETO__API__CREDENTIALS__NETOSECRET` | API secret | The `netosecret` value provided when you Add a new API key in Fusion |

This corresponds to the following YAML settings:

{% tabs %}
{% tab title="YAML" %}

```
neto:
  api:
    credentials:
      netosecret:
```

{% endtab %}

{% tab title="Environment" %}

{% endtab %}
{% endtabs %}

### Passing environment settings to the container <a href="#passing-environment-settings-to-the-container" id="passing-environment-settings-to-the-container"></a>

Environment variables that start with `NETO__` on the Docker host will be automatically passed to the container image when using the Docker run script. You can disable this by commenting out the line`NETO__DOCKER__ENV=True`in the run script.

Environment variables override environment settings in a file. Environment settings in a file override the YAML configuration file settings.

### Testing your Netography Fusion API credentials <a href="#testing-your-netography-fusion-api-credentials" id="testing-your-netography-fusion-api-credentials"></a>

Run this command to test that your API credentials are functioning:

`netofuse verify api`

## 2. Set NetoFuse Module Credentials <a href="#id-2-set-netofuse-module-credentials" id="id-2-set-netofuse-module-credentials"></a>

Each NetoFuse module has a unique set of fields required to identify the correct API endpoint and credentials to retrieve asset information. Go to the module in the [NetoFuse Modules](/netofuse/modules.md) section and set the required fields.

## 3. Run NetoFuse <a href="#id-3-run-netofuse" id="id-3-run-netofuse"></a>

Use the [verify command](/netofuse/shell-commands.md#verify) to check the configuration settings and ensure the permissions work. The module name should be added as an argument.

Use the [run command](/netofuse/shell-commands.md#run) to run the module. The module name(s) should be added as an argument.

`netofuse verify device42`

`netofuse run device42`

## 4. Edit Additional Configuration Settings (optional) <a href="#id-4-edit-additional-configuration-settings-optional" id="id-4-edit-additional-configuration-settings-optional"></a>

If you need to modify any of the default configuration settings, the [Configure](/netofuse/configure.md) section provides instructions on how to save, modify, and pass a configuration file to NetoFuse. This is not required for a default configuration.

## 5. Setup a Schedule <a href="#id-5-setup-a-schedule" id="id-5-setup-a-schedule"></a>

Once the NetoFuse module(s) you are using is running successfully and you have verified it is working, you should configure your system to run NetoFuse periodically. Go to the [Scheduling](/netofuse/get-started/run.md) page for this next step.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fusion.vectra.ai/netofuse/get-started/launch.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
