Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dlt pipeline show results in ConfigFieldMissingException when using dynamic config #2113

Open
trymzet opened this issue Dec 2, 2024 · 2 comments
Assignees

Comments

@trymzet
Copy link
Contributor

trymzet commented Dec 2, 2024

dlt version

1.4.0

Describe the problem

I'm using Google Secret Manager to store all credentials except the ones to the GSM itself (those are stored in secrets.toml). AFAIK the only way to integrate secret managers with dlt currently is to use dynamic configuration:

def setup_mssql_credentials():
    dlt.secrets["sources.sql_database.credentials"] = get_secret_from_gcsm(
        "dlt-mssql-credentials"
    )

def setup_gcs_credentials():
    dlt.secrets["destination.filesystem.credentials"] = get_secret_from_gcsm(
        "dlt-gcs-credentials"
    )

(I use these functions at runtime, before the dlt code)

However, likely this is the cause for dlt pipeline show to then show the ConfigFieldMissingException exception when opening the browser, which means the Streamlit app doesn't work at all.

Expected behavior

No response

Steps to reproduce

  1. Define and run a pipeline using dynamic config
  2. Run dlt pipeline my_pipeline show
  3. Open the browser

Operating system

Linux

Runtime environment

Local

Python version

3.11

@rudolfix rudolfix moved this from Todo to In Progress in dlt core library Dec 9, 2024
@rudolfix rudolfix self-assigned this Dec 9, 2024
@rudolfix
Copy link
Collaborator

rudolfix commented Dec 9, 2024

@trymzet we will convert this error into warning to support schema migrations you did

@trymzet
Copy link
Contributor Author

trymzet commented Dec 9, 2024

@rudolfix Thanks. Since creating this issue I've also learned that you can implement a custom config provider - I'm guessing if I did that, things would work out of the box.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

2 participants