secret-duck

Convert a Keepass database into DuckDB secrets.

https://github.com/cured-plus/secret-duck

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary
Last synced: 8 months ago · JSON representation ·

Repository

Convert a Keepass database into DuckDB secrets.

Basic Info
  • Host: GitHub
  • Owner: CUREd-Plus
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 26.4 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 4
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Secret Duck

Secret Duck is a tool to convert a Keepass database into DuckDB secrets that may be loaded into DuckDB using its secret management feature. This enables secure remote resources to be queried more easily when processing data using DuckDB.

The tool will generate CREATE SECRET statements in SQL which define secrets used for DuckDB. For example:

sql CREATE OR REPLACE PERSISTENT SECRET my_secret ( TYPE S3, KEY_ID '********', SECRET '********', SCOPE 's3://example.us-east-1.amazonaws.com' );

Installation

The tool may be installed from the Python Package Index (PyPI) using the package installer.

bash pip install secret-duck

Usage

The first required argument is the path of the Keepass file. You must also provide the type of secrets you want to generate e.g. S3, GCS, etc.

bash secret-duck --help ``` usage: secret-duck [-h] [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--password PASSWORD] --type TYPE [--persistent] [--replace] [--ifnotexists] [--keys KEYS] keepassfile

positional arguments: keepass_file Keepass database file

options: -h, --help show this help message and exit --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} --password PASSWORD --type TYPE, -t TYPE DuckDB secret type e.g. S3 --persistent --replace --ifnot_exists --keys KEYS, -k KEYS JSON dictionary of key-value pairs e.g. {"region":"eu-west-2"} ```

Examples

To create AWS S3 secrets

bash secret-duck my_secrets.kdbx --type S3 --keys {\"endpoint\": \"s3.amazonaws.com\"}

To create AWS S3 secrets and save the results to an SQL file

bash secret-duck my_secrets.kdbx --type S3 --persistent --replace --keys "{\"region\": \"eu-west-2\", \"endpoint\": \"s3.amazonaws.com\"}" > secrets.sql

Owner

  • Name: CUREd-Plus
  • Login: CUREd-Plus
  • Kind: organization

Citation (CITATION.cff)

# https://citation-file-format.github.io/
cff-version: 1.2.0
title: Secret Duck
type: software
repository-code: 'https://github.com/CUREd-Plus/secret-duck'
authors:
  - given-names: "Joe Salvador Thornhill"
    family-names: Heffer
    affiliation: "University of Sheffield"
    orcid: "https://orcid.org/0000-0001-8733-1117"

GitHub Events

Total
  • Release event: 4
  • Push event: 11
  • Create event: 7
Last Year
  • Release event: 4
  • Push event: 11
  • Create event: 7

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 7 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: secret-duck

MQTT listener to save data

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 7 Last month
Rankings
Dependent packages count: 9.9%
Average: 32.8%
Dependent repos count: 55.7%
Maintainers (1)
Last synced: 8 months ago

Dependencies

.github/workflows/lint_python.yaml actions
  • actions/checkout v4 composite
.github/workflows/publish.yaml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • pypa/gh-action-pypi-publish v1.12.2 composite
pyproject.toml pypi
  • pykeepass ==4.*