Securely Pass Credentials to the Feature Store

When you want to pass credentials to the Qwak platform, you should not include them in the Python code or use environment variables!

Instead, the Qwak platform offers the Secret Service, securely storing your credentials and passing them to your Python code.

Storing Credentials

To store credentials, you need to configure the Qwak CLI. After configuration, you can set new credentials in the Secret Service:

qwak secrets set --name aws-api-key value=the_value_of_the_key
qwak secrets set --name aws-api-secret value=the_value_of_the_secret

Retrieving Credentials in the Feature Store

If you want to use our feature store, the service will need access to your database, so you must pass the credentials to our data ingestion code.

First, you should store the credentials in the Secret Service using the commands listed above.

After that, you can use the secret names in your data source definition. For example, in the case of Snowflake, we need to pass username_secret_name and password_secret_name parameters:

from qwak.feature_store.sources.data_sources import SnowflakeSource

snowflake_source = SnowflakeSource(
    name='snowflake_source',
    description='a snowflake source description',
    date_created_column='insert_date_column',
    host='<SnowflakeAddress/DNS:port>',
    username_secret_name='qwak_secret_snowflake_user', #uses secret service
    password_secret_name='qwak_secret_snowflake_password', #uses secret service
    database='db_name',
    schema='schema_name',
    warehouse='data_warehouse_name'
)