first commit ish

This commit is contained in:
Nils Blomgren
2026-06-04 08:51:22 +02:00
parent e0f967482e
commit 658f15d086
320 changed files with 307404 additions and 1187 deletions

View File

@@ -79,12 +79,57 @@ public class AppDeployment
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
// ── Git source fields (only used when Type is GitYaml, GitHelm, or GitAppOfApps) ──
/// <summary>
/// The registered GitRepository to sync from.
/// </summary>
public Guid? GitRepositoryId { get; set; }
/// <summary>
/// Path within the repository to the manifest directory, Helm chart root,
/// or app-of-apps directory. Use "." for the repo root.
/// </summary>
public string? GitPath { get; set; }
/// <summary>
/// Branch, tag, or commit SHA to check out. Defaults to the repository's
/// DefaultBranch when null.
/// </summary>
public string? GitRevision { get; set; }
/// <summary>
/// SHA of the commit that was last successfully synced from Git.
/// </summary>
public string? GitLastSyncedCommit { get; set; }
/// <summary>
/// When the last successful Git sync completed.
/// </summary>
public DateTime? GitLastSyncedAt { get; set; }
/// <summary>
/// When true the background GitSyncService will poll this deployment
/// and sync whenever a new commit is detected.
/// </summary>
public bool GitAutoSync { get; set; } = true;
/// <summary>
/// For GitAppOfApps child deployments: the parent deployment that manages
/// this deployment's lifecycle. Null for top-level deployments.
/// </summary>
public Guid? ParentDeploymentId { get; set; }
// Navigation
public App App { get; set; } = null!;
public Environment Environment { get; set; } = null!;
public KubernetesCluster Cluster { get; set; } = null!;
public GitRepository? GitRepository { get; set; }
public AppDeployment? ParentDeployment { get; set; }
public ICollection<AppDeployment> ChildDeployments { get; set; } = [];
public ICollection<DeploymentManifest> Manifests { get; set; } = [];
public ICollection<DeploymentResource> Resources { get; set; } = [];
public ICollection<StorageBinding> StorageBindings { get; set; } = [];
public ICollection<DatabaseBinding> DatabaseBindings { get; set; } = [];
public ICollection<CacheBinding> CacheBindings { get; set; } = [];
}