Skip to main content

Add your description here

Project description

TFTP driver

jumpstarter-driver-tftp provides functionality for a read-only TFTP server that can be used to serve files.

Installation

:substitutions:
$ pip3 install --extra-index-url {{index_url}} jumpstarter-driver-tftp

Configuration

Example configuration:

export:
  tftp:
    type: jumpstarter_driver_tftp.driver.Tftp
    config:
      root_dir: /var/lib/tftpboot        # Directory to serve files from
      host: 192.168.1.100                # Host IP to bind to (optional)
      port: 69                           # Port to listen on (optional)
      remove_created_on_close: true      # Clean up temporary boot files (default)

Config parameters

Parameter Description Type Required Default
root_dir Root directory for the TFTP server str no "/var/lib/tftpboot"
host IP address to bind the server to str no auto-detect
port Port number to listen on int no 69
remove_created_on_close Automatically remove created files/directories when driver closes bool no true

File Management

The TFTP server driver automatically tracks files and directories created during the session. By default, remove_created_on_close is set to true to clean up temporary boot files automatically. Set to false if you want to preserve boot files and firmware images that are reused across sessions.

API Reference

.. autoclass:: jumpstarter_driver_tftp.client.TftpServerClient()
   :members:
   :show-inheritance:

Exception Classes

.. autoclass:: jumpstarter_driver_tftp.driver.TftpError
   :members:
   :show-inheritance:

.. autoclass:: jumpstarter_driver_tftp.driver.ServerNotRunning
   :members:
   :show-inheritance:

Examples

>>> import tempfile
>>> import os
>>> from jumpstarter_driver_tftp.driver import Tftp
>>> from jumpstarter.common.utils import serve
>>> with tempfile.TemporaryDirectory() as tmp_dir:
...     # Create a test file
...     test_file = os.path.join(tmp_dir, "test.txt")
...     with open(test_file, "w") as f:
...         _ = f.write("hello")
...
...     # Start TFTP server
...     with serve(Tftp(root_dir=tmp_dir, host="127.0.0.1", port=6969)) as tftp:
...         tftp.start()
...
...         # List files
...         files = list(tftp.storage.list("/"))
...         assert "test.txt" in files
...
...         tftp.stop()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jumpstarter_driver_tftp-0.7.2.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jumpstarter_driver_tftp-0.7.2-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file jumpstarter_driver_tftp-0.7.2.tar.gz.

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.7.2.tar.gz
Algorithm Hash digest
SHA256 727ee601c4f74e9f303fa54c43b20c4501c30a3918f5858f6bea28f7efa823bd
MD5 6ba1065bb46f28c8fcc3be1d656757d1
BLAKE2b-256 1cc6a1273b69a0e436cdbbaf86f75704a557002ffadd5c864b5975904a33cfa3

See more details on using hashes here.

File details

Details for the file jumpstarter_driver_tftp-0.7.2-py3-none-any.whl.

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5470af75109063f0a389320fec92f87eeb3994ddba5cb0eb3296b66ce26696c6
MD5 303c8f74e386b75441eac0f6328d9cf1
BLAKE2b-256 a25936df8a5992e62c9937d64391b777213750cf75b728f2c406fc6370637308

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page