10
10
exists and is excluded from git before running the script.
11
11
12
12
Usage:
13
- poetry run python examples/run_gsm_secret_fetch.py
13
+ poetry run python examples/run_gsm_connector_secret_fetch.py
14
+ poetry run python examples/run_gsm_connector_secret_fetch.py <connector_name>
15
+ poetry run python examples/run_gsm_connector_secret_fetch.py source-github
14
16
"""
15
17
16
18
from __future__ import annotations
17
19
20
+ import sys
18
21
from pathlib import Path
19
22
20
23
import airbyte as ab
21
24
from airbyte .secrets import GoogleGSMSecretManager , SecretHandle
22
25
23
26
AIRBYTE_INTERNAL_GCP_PROJECT = "dataline-integration-testing"
24
- CONNECTOR_NAME = "source-s3 "
27
+ CONNECTOR_NAME = sys . argv [ 1 ] if len ( sys . argv ) > 1 else "source-klaviyo "
25
28
26
29
AIRBYTE_REPO_ROOT = Path (__file__ ).parent .parent .parent / "airbyte"
27
30
33
36
/ CONNECTOR_NAME
34
37
/ "secrets"
35
38
)
39
+ if not AIRBYTE_REPO_ROOT .exists ():
40
+ raise FileNotFoundError (f"Airbyte repo root does not exist: { AIRBYTE_REPO_ROOT } " )
41
+ if not CONNECTOR_SECRETS_DIR .exists ():
42
+ CONNECTOR_SECRETS_DIR .mkdir (parents = True , exist_ok = True )
36
43
37
44
38
45
def main () -> None :
@@ -42,12 +49,14 @@ def main() -> None:
42
49
)
43
50
44
51
secret : SecretHandle
45
- for secret in secret_mgr .fetch_connector_secrets ("source-s3" ):
52
+ for secret in secret_mgr .fetch_connector_secrets (
53
+ connector_name = CONNECTOR_NAME ,
54
+ ):
55
+ filename_base = "config" # Default filename if not overridden
46
56
if "filename" in secret .labels :
47
- secret_file_path = (
48
- CONNECTOR_SECRETS_DIR / f"{ secret .labels ['filename' ]} .json"
49
- )
50
- secret .write_to_file (secret_file_path )
57
+ filename_base = secret .labels ["filename" ]
58
+ secret_file_path = CONNECTOR_SECRETS_DIR / f"{ filename_base } .json"
59
+ secret .write_to_file (secret_file_path )
51
60
52
61
53
62
if __name__ == "__main__" :
0 commit comments