# Set up debusine-client

## Introduction

Install the `debusine-client` package which provides the `debusine` command.

If needed configure APT with the appropriate package repository.

The debusine command is used, among other things, to submit work requests to the Debusine server and to look into the status of the requests.

## Initial setup

The Debusine client needs the Debusine server URL and an enabled token for the server (see Create an API token). With `debusine-client` version 0.10.0 or newer, `debusine setup` will create this for you. Otherwise, you can create it manually as follows:

> 1. Create the directory for the `config.ini` file:

>        $ mkdir --parents "$HOME/.config/debusine/client"

> 2. Copy the example `config.ini` file to this directory:

>        $ cp /usr/share/doc/debusine-client/examples/config.ini "$HOME/.config/debusine/client/"

> 3. Edit the `config.ini` file:

>        $ editor "$HOME/.config/debusine/client/config.ini"

> 4. Rename `[server:localhost]` to `[server:server_name]` and set `default-server = server_name`. The Debusine client supports multiple servers, one of which is a default server. It is possible to specify to which server the Debusine client connects using the argument `--server NAME` or the `DEBUSINE_SERVER_NAME` environment variable.

> 5. Set the `api-url`, `scope` and `token`.

## Test the configuration

Run the following command to ensure that the Debusine client can successfully authenticate with the server:

    $ echo "result: success" | debusine create-work-request noop
    result: success
    message: Work request registered on https://debusine.example.org/api with id 1.
    work_request_id: 1

If you don’t see `result: success`, then you likely have done something wrong. If the output doesn’t clearly tell you what went wrong, you can rerun the command with `--debug` to have more details. You can also check the Debusine server logs to see if an error has been reported.