The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Podman::Client - Podman service client.

SYNOPSIS

    # Send service requests
    my $client = Podman::Client->new;
    my $res = $client->delete('images/docker.io/library/hello-world');
    my $res = $client->get('version');
    my $res = $client->post('containers/prune');

DESCRIPTION

Inheritance

    Podman::Client
        wrap Mojo::UserAgent

Podman::Client is a HTTP client (user agent) with the needed support to connect to and query the Podman service.

ATTRIBUTES

connection_url

    $client->connection_url('https://127.0.0.1:1234');

URL to connect to Podman service, defaults to user UNIX domain socket in rootless mode e.g. http+unix://run/user/1000/podman/podman.sock otherwise http+unix:///run/podman/podman.sock. Customize via the value of PODMAN_CONNECTION_URL environment variable.

METHODS

Podman::Client provides the valid HTTP requests to query the Podman service. All methods take a relative endpoint path, optional header parameters and path parameters. if the response has a HTTP code unequal 2xx a Podman::Exception is raised.

delete

    my $res = $client->delete('images/docker.io/library/hello-world');

Perform DELETE request and return resulting content.

get

    my $res = $client->get('version');

Perform GET request and return resulting content.

post

    my $res = $client->post(
        'build',
        data       => $archive_file, # Mojo::File object
        parameters => {
            'file' => 'Dockerfile',
            't'    => 'localhost/goodbye',
        },
        headers => {
            'Content-Type' => 'application/x-tar'
        },
    );

Perform POST request and return resulting content, takes additional optional request data.

AUTHORS

    Tobias Schäfer, <tschaefer@blackox.org>

COPYRIGHT AND LICENSE

Copyright (C) 2022-2022, Tobias Schäfer.

This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.