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.4.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.4-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.7.4.tar.gz
Algorithm Hash digest
SHA256 867c06e7c3f3583a3552027763409d877cc5474a59fbb567b440599bd50c4640
MD5 f786b5408f7145553ddfdaeadd8913f8
BLAKE2b-256 9f32d868b22a85bf25eb73180c829350de449561a8fce8c85e88ea356dfa9ab3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 98994d886a319f932f9237c33423e08a1f2454af63673116754e2545ff851975
MD5 042d6b66f5aacb330200c6c767b41704
BLAKE2b-256 e9e0b43c33d43873778b7aabdad2d047b1f906f0993894df4df47fa2b67317c0

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