fred-oss 0.33.0__tar.gz → 0.34.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fred_oss-0.33.0/src/main/fred_oss.egg-info → fred_oss-0.34.0}/PKG-INFO +1 -1
- fred_oss-0.34.0/src/main/fred/version +1 -0
- fred_oss-0.34.0/src/main/fred/worker/runner/rest/auth.py +22 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/rest/server.py +6 -1
- fred_oss-0.34.0/src/main/fred/worker/runner/rest/settings.py +12 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0/src/main/fred_oss.egg-info}/PKG-INFO +1 -1
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred_oss.egg-info/SOURCES.txt +2 -0
- fred_oss-0.33.0/src/main/fred/version +0 -1
- {fred_oss-0.33.0 → fred_oss-0.34.0}/MANIFEST.in +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/NOTICE.txt +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/README.md +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/requirements.txt +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/setup.cfg +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/setup.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/cli/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/cli/__main__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/cli/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/cli/main.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/comp/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/comp/_keyval.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/comp/_queue.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/comp/catalog.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/comp/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/service/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/service/_redis.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/service/_stdlib.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/service/catalog.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/service/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/dao/service/utils.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/callback/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/callback/_function.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/callback/catalog.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/callback/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/impl.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/result.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/settings.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/future/utils.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/cli_ext.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/runtime.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/runtimes/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/runtimes/scanner.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/runtimes/sync.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/wrappers/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/runpod/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/runpod/cli_ext.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/runpod/helper.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/maturity.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/monad/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/monad/_either.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/monad/catalog.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/monad/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/settings.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/utils/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/utils/dateops.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/utils/runtime.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/version.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/backend.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/client.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/handler.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/info.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/model/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/model/_handler.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/model/_item.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/model/_request.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/model/_runner_spec.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/model/catalog.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/model/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/plugins/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/plugins/_local.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/plugins/catalog.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/plugins/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/rest/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/rest/cli_ext.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/rest/routers/__init__.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/rest/routers/_runner.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/rest/routers/catalog.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/rest/routers/interface.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/settings.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/signal.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/status.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/worker/runner/utils.py +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred_oss.egg-info/dependency_links.txt +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred_oss.egg-info/entry_points.txt +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred_oss.egg-info/requires.txt +0 -0
- {fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred_oss.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.34.0
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from fastapi import Security, HTTPException, status
|
|
2
|
+
from fastapi.security import APIKeyHeader
|
|
3
|
+
|
|
4
|
+
from fred.worker.runner.rest.settings import FRD_RESTAPI_TOKEN
|
|
5
|
+
|
|
6
|
+
async def verify_key(
|
|
7
|
+
api_key_header: str = Security(
|
|
8
|
+
APIKeyHeader(
|
|
9
|
+
name="X-API-Key",
|
|
10
|
+
auto_error=False
|
|
11
|
+
)
|
|
12
|
+
),
|
|
13
|
+
):
|
|
14
|
+
"""
|
|
15
|
+
Verify the provided API key against the expected token.
|
|
16
|
+
Raises an HTTPException if the key is invalid or missing.
|
|
17
|
+
"""
|
|
18
|
+
if api_key_header != FRD_RESTAPI_TOKEN:
|
|
19
|
+
raise HTTPException(
|
|
20
|
+
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
21
|
+
detail="Invalid or missing API Key",
|
|
22
|
+
)
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
|
|
3
|
-
from fastapi import FastAPI
|
|
3
|
+
from fastapi import FastAPI, Depends
|
|
4
4
|
|
|
5
5
|
from fred.settings import logger_manager, get_environ_variable
|
|
6
|
+
from fred.worker.runner.rest.settings import FRD_RESTAPI_TOKEN
|
|
6
7
|
from fred.worker.runner.rest.routers.catalog import RouterCatalog
|
|
8
|
+
from fred.worker.runner.rest.auth import verify_key
|
|
7
9
|
|
|
8
10
|
logger = logger_manager.get_logger(name=__name__)
|
|
9
11
|
|
|
@@ -39,6 +41,9 @@ class RunnerServer:
|
|
|
39
41
|
if (name := router.strip())
|
|
40
42
|
]
|
|
41
43
|
# Create FastAPI instance
|
|
44
|
+
kwargs["dependencies"] = kwargs.get("dependencies", []) + [
|
|
45
|
+
Depends(verify_key),
|
|
46
|
+
]
|
|
42
47
|
app_instance = FastAPI(**kwargs)
|
|
43
48
|
return cls(
|
|
44
49
|
app=app_instance,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from fred.settings import get_environ_variable, logger_manager
|
|
2
|
+
|
|
3
|
+
logger = logger_manager.get_logger(name=__name__)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
FRD_RESTAPI_TOKEN = get_environ_variable(
|
|
7
|
+
"FRD_RESTAPI_TOKEN",
|
|
8
|
+
default=None
|
|
9
|
+
)
|
|
10
|
+
if not FRD_RESTAPI_TOKEN:
|
|
11
|
+
logger.warning("FRD_RESTAPI_TOKEN not found in environment; using default token 'changeme'.")
|
|
12
|
+
FRD_RESTAPI_TOKEN = "changeme"
|
|
@@ -73,8 +73,10 @@ src/main/fred/worker/runner/plugins/_local.py
|
|
|
73
73
|
src/main/fred/worker/runner/plugins/catalog.py
|
|
74
74
|
src/main/fred/worker/runner/plugins/interface.py
|
|
75
75
|
src/main/fred/worker/runner/rest/__init__.py
|
|
76
|
+
src/main/fred/worker/runner/rest/auth.py
|
|
76
77
|
src/main/fred/worker/runner/rest/cli_ext.py
|
|
77
78
|
src/main/fred/worker/runner/rest/server.py
|
|
79
|
+
src/main/fred/worker/runner/rest/settings.py
|
|
78
80
|
src/main/fred/worker/runner/rest/routers/__init__.py
|
|
79
81
|
src/main/fred/worker/runner/rest/routers/_runner.py
|
|
80
82
|
src/main/fred/worker/runner/rest/routers/catalog.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.33.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/runtimes/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/runtimes/scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
{fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/wrappers/__init__.py
RENAMED
|
File without changes
|
{fred_oss-0.33.0 → fred_oss-0.34.0}/src/main/fred/integrations/databricks/wrappers/dbutils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|