langflow auth env vars in tui
This commit is contained in:
parent
650d4c1e59
commit
cad271350b
2 changed files with 58 additions and 2 deletions
|
|
@ -40,6 +40,11 @@ class EnvConfig:
|
||||||
aws_secret_access_key: str = ""
|
aws_secret_access_key: str = ""
|
||||||
langflow_public_url: str = ""
|
langflow_public_url: str = ""
|
||||||
|
|
||||||
|
# Langflow auth settings
|
||||||
|
langflow_auto_login: str = "False"
|
||||||
|
langflow_new_user_is_active: str = "False"
|
||||||
|
langflow_enable_superuser_cli: str = "False"
|
||||||
|
|
||||||
# Document paths (comma-separated)
|
# Document paths (comma-separated)
|
||||||
openrag_documents_paths: str = "./documents"
|
openrag_documents_paths: str = "./documents"
|
||||||
|
|
||||||
|
|
@ -98,6 +103,9 @@ class EnvManager:
|
||||||
'AWS_SECRET_ACCESS_KEY': 'aws_secret_access_key',
|
'AWS_SECRET_ACCESS_KEY': 'aws_secret_access_key',
|
||||||
'LANGFLOW_PUBLIC_URL': 'langflow_public_url',
|
'LANGFLOW_PUBLIC_URL': 'langflow_public_url',
|
||||||
'OPENRAG_DOCUMENTS_PATHS': 'openrag_documents_paths',
|
'OPENRAG_DOCUMENTS_PATHS': 'openrag_documents_paths',
|
||||||
|
'LANGFLOW_AUTO_LOGIN': 'langflow_auto_login',
|
||||||
|
'LANGFLOW_NEW_USER_IS_ACTIVE': 'langflow_new_user_is_active',
|
||||||
|
'LANGFLOW_ENABLE_SUPERUSER_CLI': 'langflow_enable_superuser_cli',
|
||||||
}
|
}
|
||||||
|
|
||||||
if key in attr_map:
|
if key in attr_map:
|
||||||
|
|
@ -193,6 +201,13 @@ class EnvManager:
|
||||||
f.write(f"OPENRAG_DOCUMENTS_PATHS={self.config.openrag_documents_paths}\n")
|
f.write(f"OPENRAG_DOCUMENTS_PATHS={self.config.openrag_documents_paths}\n")
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
|
|
||||||
|
# Langflow auth settings
|
||||||
|
f.write("# Langflow auth settings\n")
|
||||||
|
f.write(f"LANGFLOW_AUTO_LOGIN={self.config.langflow_auto_login}\n")
|
||||||
|
f.write(f"LANGFLOW_NEW_USER_IS_ACTIVE={self.config.langflow_new_user_is_active}\n")
|
||||||
|
f.write(f"LANGFLOW_ENABLE_SUPERUSER_CLI={self.config.langflow_enable_superuser_cli}\n")
|
||||||
|
f.write("\n")
|
||||||
|
|
||||||
# OAuth settings
|
# OAuth settings
|
||||||
if self.config.google_oauth_client_id or self.config.google_oauth_client_secret:
|
if self.config.google_oauth_client_id or self.config.google_oauth_client_secret:
|
||||||
f.write("# Google OAuth settings\n")
|
f.write("# Google OAuth settings\n")
|
||||||
|
|
|
||||||
|
|
@ -282,6 +282,47 @@ class ConfigScreen(Screen):
|
||||||
self.inputs["openrag_documents_paths"] = input_widget
|
self.inputs["openrag_documents_paths"] = input_widget
|
||||||
yield Static(" ")
|
yield Static(" ")
|
||||||
|
|
||||||
|
# Langflow Auth Settings
|
||||||
|
yield Static("Langflow Auth Settings", classes="tab-header")
|
||||||
|
yield Static(" ")
|
||||||
|
|
||||||
|
# Langflow Auto Login
|
||||||
|
yield Label("Langflow Auto Login")
|
||||||
|
current_value = getattr(self.env_manager.config, "langflow_auto_login", "False")
|
||||||
|
input_widget = Input(
|
||||||
|
placeholder="False",
|
||||||
|
value=current_value,
|
||||||
|
id="input-langflow_auto_login"
|
||||||
|
)
|
||||||
|
yield input_widget
|
||||||
|
self.inputs["langflow_auto_login"] = input_widget
|
||||||
|
yield Static(" ")
|
||||||
|
|
||||||
|
# Langflow New User Is Active
|
||||||
|
yield Label("Langflow New User Is Active")
|
||||||
|
current_value = getattr(self.env_manager.config, "langflow_new_user_is_active", "False")
|
||||||
|
input_widget = Input(
|
||||||
|
placeholder="False",
|
||||||
|
value=current_value,
|
||||||
|
id="input-langflow_new_user_is_active"
|
||||||
|
)
|
||||||
|
yield input_widget
|
||||||
|
self.inputs["langflow_new_user_is_active"] = input_widget
|
||||||
|
yield Static(" ")
|
||||||
|
|
||||||
|
# Langflow Enable Superuser CLI
|
||||||
|
yield Label("Langflow Enable Superuser CLI")
|
||||||
|
current_value = getattr(self.env_manager.config, "langflow_enable_superuser_cli", "False")
|
||||||
|
input_widget = Input(
|
||||||
|
placeholder="False",
|
||||||
|
value=current_value,
|
||||||
|
id="input-langflow_enable_superuser_cli"
|
||||||
|
)
|
||||||
|
yield input_widget
|
||||||
|
self.inputs["langflow_enable_superuser_cli"] = input_widget
|
||||||
|
yield Static(" ")
|
||||||
|
yield Static(" ")
|
||||||
|
|
||||||
# Langflow Secret Key removed from UI; generated automatically on save
|
# Langflow Secret Key removed from UI; generated automatically on save
|
||||||
|
|
||||||
# Add optional fields only in full mode
|
# Add optional fields only in full mode
|
||||||
|
|
@ -379,7 +420,7 @@ class ConfigScreen(Screen):
|
||||||
new_value = getattr(self.env_manager.config, field_name)
|
new_value = getattr(self.env_manager.config, field_name)
|
||||||
input_widget.value = new_value
|
input_widget.value = new_value
|
||||||
|
|
||||||
self.notify("Generated secure passwords", severity="info")
|
self.notify("Generated secure passwords", severity="information")
|
||||||
|
|
||||||
def action_save(self) -> None:
|
def action_save(self) -> None:
|
||||||
"""Save the configuration."""
|
"""Save the configuration."""
|
||||||
|
|
@ -398,7 +439,7 @@ class ConfigScreen(Screen):
|
||||||
|
|
||||||
# Save to file
|
# Save to file
|
||||||
if self.env_manager.save_env_file():
|
if self.env_manager.save_env_file():
|
||||||
self.notify("Configuration saved successfully!", severity="success")
|
self.notify("Configuration saved successfully!", severity="information")
|
||||||
# Switch to monitor screen
|
# Switch to monitor screen
|
||||||
from .monitor import MonitorScreen
|
from .monitor import MonitorScreen
|
||||||
self.app.push_screen(MonitorScreen())
|
self.app.push_screen(MonitorScreen())
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue