CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-python-on-whales

A Docker client for Python, designed to be fun and intuitive!

Pending
Overview
Eval results
Files

secret.mddocs/

Secret Management

Docker swarm secret management for securely storing sensitive data like passwords, certificates, and API keys. Secrets are encrypted at rest and in transit, and are only accessible to services that explicitly request them.

Capabilities

Secret Creation

Create secrets from files or data with labeling and template support.

def create(
    name: str,
    file: Optional[str] = None,
    driver: Optional[str] = None,
    labels: Optional[Dict[str, str]] = None,
    template_driver: Optional[str] = None
) -> Secret:
    """
    Create a secret object.
    
    Parameters:
    - name: Secret name
    - file: Path to file containing secret data  
    - driver: Secret driver to use
    - labels: Metadata labels for the secret
    - template_driver: Template driver for processing
    
    Returns:
    Secret object
    """

Secret Inspection

Inspect secret details including metadata and creation time.

def inspect(x: Union[str, List[str]]) -> Union[Secret, List[Secret]]:
    """
    Inspect one or more secrets.
    
    Parameters:
    - x: Secret name(s) or ID(s)
    
    Returns:
    Secret object(s) with detailed information  
    """

Secret Listing

List all secrets with optional filtering.

def list(filters: Sequence[str] = ()) -> List[Secret]:
    """
    List all secrets with optional filters.
    
    Parameters:
    - filters: Filter conditions
    
    Returns:
    List of Secret objects
    """

Secret Removal

Remove secrets from the swarm.

def remove(x: Union[str, List[str]]) -> None:
    """
    Remove one or more secrets.
    
    Parameters:
    - x: Secret name(s) or ID(s) 
    """

Usage Examples:

from python_on_whales import docker

# Create secret from file
secret = docker.secret.create(
    "db-password",
    file="./secrets/db_password.txt",
    labels={"environment": "production", "type": "password"}
)

# Create secret from string data
import tempfile
with tempfile.NamedTemporaryFile(mode='w', delete=False) as f:
    f.write("my-secret-api-key")
    temp_file = f.name

api_secret = docker.secret.create("api-key", file=temp_file)

# List all secrets
secrets = docker.secret.list()
for secret in secrets:
    print(f"Secret: {secret.spec.name} - Created: {secret.created_at}")

# Remove secret
docker.secret.remove("old-secret")

Types

class Secret:
    id: str
    created_at: datetime
    updated_at: datetime
    spec: SecretSpec
    
    def remove(self) -> None:
        """Remove this secret."""

class SecretSpec:
    name: str
    labels: Dict[str, str]
    driver: Optional[SecretDriver]
    template_driver: Optional[SecretDriver]

class SecretDriver:
    name: str
    options: Dict[str, str]

Install with Tessl CLI

npx tessl i tessl/pypi-python-on-whales

docs

build.md

client.md

compose.md

config.md

containers.md

context.md

images.md

index.md

manifest.md

networks.md

node.md

plugin.md

pod.md

secret.md

service.md

stack.md

swarm.md

system.md

task.md

trust.md

volumes.md

tile.json