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.8.1.tar.gz (13.0 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.8.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.8.1.tar.gz
Algorithm Hash digest
SHA256 2c9cdb1f87a5f1e0d0b23ce6f36aacde89937313bdf20c9813f1f4df71da6e84
MD5 e317458efa2af2ae2236f64ba61ada8d
BLAKE2b-256 3147cb3beec59f83d749cbe58b2ceba6360160f5f7a9b26920e6f2fc23e9f6d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_tftp-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be4c739087b96c51c43fd94946e8149cb04a7d2f8a9f0b08e758e35723218cd5
MD5 a7aac989129808a3265a6d926be234a6
BLAKE2b-256 a33bb34a1c29a5b47e16a7d32e715513b660b60414354d1fc3f272a8502c7087

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