Use HTTP Basic Auth for MLflow authentication
Changed MLflow authentication to use HTTP Basic Auth by embedding credentials in the tracking URI (https://user:pass@host). This is the standard authentication method for MLflow when using basic auth, rather than relying on environment variables alone. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
bc5d96981a
commit
a4ddfb57be
@ -13,14 +13,25 @@ from sklearn.ensemble import RandomForestClassifier
|
|||||||
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
|
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
# Configure MLflow
|
# Configure MLflow with authentication
|
||||||
mlflow.set_tracking_uri(os.getenv("MLFLOW_TRACKING_URI", "https://mlflow.sortifal.dev"))
|
tracking_uri = os.getenv("MLFLOW_TRACKING_URI", "https://mlflow.sortifal.dev")
|
||||||
|
username = os.getenv("MLFLOW_TRACKING_USERNAME")
|
||||||
|
password = os.getenv("MLFLOW_TRACKING_PASSWORD")
|
||||||
|
|
||||||
# Set MLflow credentials from environment variables
|
# Build authenticated URI if credentials are provided
|
||||||
if os.getenv("MLFLOW_TRACKING_USERNAME") and os.getenv("MLFLOW_TRACKING_PASSWORD"):
|
if username and password:
|
||||||
os.environ["MLFLOW_TRACKING_USERNAME"] = os.getenv("MLFLOW_TRACKING_USERNAME")
|
# Extract protocol and host from URI
|
||||||
os.environ["MLFLOW_TRACKING_PASSWORD"] = os.getenv("MLFLOW_TRACKING_PASSWORD")
|
if tracking_uri.startswith("https://"):
|
||||||
print("MLflow credentials configured from environment variables")
|
auth_uri = f"https://{username}:{password}@{tracking_uri[8:]}"
|
||||||
|
elif tracking_uri.startswith("http://"):
|
||||||
|
auth_uri = f"http://{username}:{password}@{tracking_uri[7:]}"
|
||||||
|
else:
|
||||||
|
auth_uri = tracking_uri
|
||||||
|
mlflow.set_tracking_uri(auth_uri)
|
||||||
|
print(f"MLflow credentials configured for {tracking_uri}")
|
||||||
|
else:
|
||||||
|
mlflow.set_tracking_uri(tracking_uri)
|
||||||
|
print("MLflow configured without authentication")
|
||||||
|
|
||||||
# Try to set experiment, but handle auth errors gracefully
|
# Try to set experiment, but handle auth errors gracefully
|
||||||
USE_MLFLOW = True
|
USE_MLFLOW = True
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user