s3daemon

Client/server for pushing objects to S3 storage.

1,475 downloads

34 latest version

Version information

  • 2.0.0 (latest)
  • 1.2.0
  • 1.1.0
  • 1.0.0
released May 14th 2025
This version is compatible with:
  • Puppet Enterprise 2025.3.x, 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
  • Puppet >= 7.0.0 < 9.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'lsst-s3daemon', '2.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add lsst-s3daemon
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install lsst-s3daemon --version 2.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: s3

Documentation

lsst/s3daemon — version 2.0.0 May 14th 2025

s3daemon

Table of Contents

  1. Overview
  2. Description
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how

Overview

s3daemon Client/server for pushing objects to S3 storage.

Description

The server is intended to be able to maintain long-lived TCP connections, avoiding both authentication delays and TCP slow start on long bandwidth-delay product network segments. Enabling multiple simultaneous parallel transfers also is intended to maximize usage of the network.

The client is intended to allow "fire-and-forget" submissions of transfer requests by file-writing code.

Usage

Example role defined via hiera.

---
lookup_options:
  s3daemon::instances:
    merge:
      strategy: deep
classes:
  - s3daemon
s3daemon::image: ghcr.io/lsst-dm/s3daemon:sha-b5e72fa
s3daemon::env:
  AWS_CA_BUNDLE: /path/to/cacert.pem
s3daemon::instances:
  foo:
    aws_access_key_id: access_key_id
    aws_secret_access_key: secret_access_key
    image: ghcr.io/lsst-dm/s3daemon:main
    env:
      S3_ENDPOINT_URL: https://s3.foo.example.com
      S3DAEMON_PORT: 15556
  bar:
    aws_access_key_id: access_key_id
    aws_secret_access_key: secret_access_key
    volumes:
      - "/home:/home"
      - "/opt:/opt"
    env:
      S3_ENDPOINT_URL: https://s3.bar.example.com
      S3DAEMON_PORT: 15557
      AWS_DEFAULT_REGION: baz

Reference

See REFERENCE