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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.7.3.tar.gz
Algorithm Hash digest
SHA256 fc08ffcc666b8b7e96f76e3ae2f9eee8e1e6f86a4ab56a3d748074822abffa5a
MD5 251caa122c56a4ccb3dfa26d568065ee
BLAKE2b-256 d230994710040dbd976de222b31894de0a92f817485683d32bb1be245d86ae2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0d41ca63a8fc198a26b8ee365d2f6aaaa40f78520132d2d6821ea0164c5f5b33
MD5 d3460db47941c6f2dca06ef349948129
BLAKE2b-256 5756c859335cefbf478203fbd1003213354b1d27a9d44f4aeb4214b1b76bcba0

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