Remove public internet features and fix upstream source UI (#107)

- Remove is_public field from upstream sources (all sources are internal)
- Remove allow_public_internet setting from cache settings
- Remove seeding of public registry URLs
- Fix connectivity test to not follow redirects (fixes Artifactory error)
- Add dedicated Test column with OK/Error status badges
- Auto-test sources after save
- Add error modal for viewing full error details
- Fix table layout (no-wrap on source name)
- Add ORCHARD_PURGE_SEED_DATA to stage helm values
This commit is contained in:
Mondo Diaz
2026-01-29 12:50:23 -06:00
parent e93e7e7021
commit 1f18bb4383
12 changed files with 188 additions and 171 deletions

View File

@@ -61,8 +61,7 @@ class Settings(BaseSettings):
# Cache settings
cache_encryption_key: str = "" # Fernet key for encrypting upstream credentials (auto-generated if empty)
# Global cache settings overrides (None = use DB value, True/False = override DB)
cache_allow_public_internet: Optional[bool] = None # Override allow_public_internet (air-gap mode)
# Global cache settings override (None = use DB value, True/False = override DB)
cache_auto_create_system_projects: Optional[bool] = None # Override auto_create_system_projects
# JWT Authentication settings (optional, for external identity providers)
@@ -108,7 +107,6 @@ class EnvUpstreamSource:
url: str,
source_type: str = "generic",
enabled: bool = True,
is_public: bool = True,
auth_type: str = "none",
username: Optional[str] = None,
password: Optional[str] = None,
@@ -118,7 +116,6 @@ class EnvUpstreamSource:
self.url = url
self.source_type = source_type
self.enabled = enabled
self.is_public = is_public
self.auth_type = auth_type
self.username = username
self.password = password
@@ -188,7 +185,6 @@ def parse_upstream_sources_from_env() -> list[EnvUpstreamSource]:
url=url,
source_type=data.get("TYPE", "generic").lower(),
enabled=parse_bool(data.get("ENABLED"), True),
is_public=parse_bool(data.get("IS_PUBLIC"), True),
auth_type=data.get("AUTH_TYPE", "none").lower(),
username=data.get("USERNAME"),
password=data.get("PASSWORD"),