sets default admin creds in docker compose. first pass remote builder feature

This commit is contained in:
2026-07-04 18:40:29 +00:00
parent 78dde4fd0a
commit 7a04fa7c84
17 changed files with 1489 additions and 6 deletions
+60
View File
@@ -235,3 +235,63 @@ class LogParseState(Base):
key = Column(String(20), unique=True, nullable=False, default="default")
last_parsed_date = Column(Date, nullable=False)
updated_at = Column(DateTime, nullable=False, default=datetime.utcnow)
# ── Mobile Build Orchestration ─────────────────────────────────
class MobileBuildRequest(Base):
__tablename__ = "mobile_build_requests"
id = Column(Integer, primary_key=True, autoincrement=True)
tenant_key = Column(String(80), nullable=False, default="default")
platform_android = Column(Boolean, nullable=False, default=False)
platform_ios = Column(Boolean, nullable=False, default=False)
android_application_id = Column(String(200), nullable=True)
ios_bundle_id = Column(String(200), nullable=True)
version_name = Column(String(40), nullable=False)
build_number = Column(String(40), nullable=False)
release_profile = Column(String(80), nullable=False, default="release")
status = Column(String(20), nullable=False, default="draft")
preflight_passed = Column(Boolean, nullable=False, default=False)
preflight_report = Column(Text, nullable=False, default="")
build_log = Column(Text, nullable=False, default="")
error_message = Column(Text, nullable=True)
created_by_id = Column(Integer, ForeignKey("users.id", ondelete="SET NULL"), nullable=True)
created_at = Column(DateTime, nullable=False, default=datetime.utcnow)
updated_at = Column(DateTime, nullable=False, default=datetime.utcnow)
started_at = Column(DateTime, nullable=True)
completed_at = Column(DateTime, nullable=True)
class MobileBuildUploadedFile(Base):
__tablename__ = "mobile_build_uploaded_files"
id = Column(Integer, primary_key=True, autoincrement=True)
request_id = Column(Integer, ForeignKey("mobile_build_requests.id", ondelete="CASCADE"), nullable=False, index=True)
platform = Column(String(20), nullable=False)
file_kind = Column(String(40), nullable=False)
original_name = Column(String(260), nullable=False)
stored_path = Column(String(800), nullable=False)
sha256 = Column(String(64), nullable=False)
size = Column(Integer, nullable=False)
uploaded_at = Column(DateTime, nullable=False, default=datetime.utcnow)
__table_args__ = (
UniqueConstraint("request_id", "platform", "file_kind", name="uq_mobile_build_file_kind"),
)
class MobileBuildArtifact(Base):
__tablename__ = "mobile_build_artifacts"
id = Column(Integer, primary_key=True, autoincrement=True)
request_id = Column(Integer, ForeignKey("mobile_build_requests.id", ondelete="CASCADE"), nullable=False, index=True)
platform = Column(String(20), nullable=False)
artifact_type = Column(String(20), nullable=False)
file_name = Column(String(260), nullable=False)
file_path = Column(String(800), nullable=False)
sha256 = Column(String(64), nullable=False)
size = Column(Integer, nullable=False)
created_at = Column(DateTime, nullable=False, default=datetime.utcnow)