Skip to main content
Sign in
Snippets Groups Projects
Select Git revision
  • b0f1ef2c56bcbbc0fcb0a01d1f973f91be2ec4f1
  • master default protected
  • dev protected
  • Issue/3189-onboardingUniBonn
  • Issue/3130-onboardingUzK
  • Issue/3109-onboarding
  • Issue/2915-migrateSql2Linked
  • test_ci
  • Issue/xxxx-fixDevcontainer
  • Issue/xxxx-generateLatestTag
  • Issue/2980-fixContainerBuild
  • Issue/2967-fixGD
  • Issue/2944-gdShenanigans
  • Issue/2906-containerCron
  • Issue/2880-gd
  • petar.hristov-master-patch-9e49
  • Issue/2668-graphDeployer
  • gitkeep
  • Hotfix/xxxx-fastDeployment
  • Hotfix/2615-graphDeployerLag
  • Issue/2568-betterLogging
  • v2.2.2
  • v2.2.1
  • v2.2.0
  • v2.1.11
  • v2.1.10
  • v2.1.9
  • v2.1.8
  • v2.1.7
  • v2.1.6
  • v2.1.5
  • v2.1.4
  • v2.1.3
  • v2.1.2
  • v2.1.1
  • v2.1.0
  • v2.0.1
  • v2.0.0
  • v1.2.11
  • v1.2.10
  • v1.2.9
41 results

GraphDeployerConfiguration.cs

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    GraphDeployerConfiguration.cs 2.03 KiB
    namespace Coscine.GraphDeployer.Models.ConfigurationModels;
    
    public class GraphDeployerConfiguration
    {
        /// <summary>
        /// The section name in the configuration file.
        /// </summary>
        public static readonly string Section = "GraphDeployerConfiguration";
    
        /// <summary>
        /// Value indicating whether the graph deployer is enabled.
        /// </summary>
        public bool IsEnabled { get; init; }
    
        /// <summary>
        /// The working folder where the graph deployer will store the cloned repositories.
        /// </summary>
        public string? WorkingFolder { get; init; }
    
        /// <summary>
        /// API token for the coscine API.
        /// Requires the administrator role.
        /// </summary>
        public string ApiKey { get; set; } = null!;
    
        /// <summary>
        /// Address of the Coscine API.
        /// </summary>
        public string Endpoint { get; set; } = null!;
    
        /// <summary>
        /// Logger configuration settings.
        /// </summary>
        /// <value>
        /// The logger storage configuration settings, or <c>null</c> if not configured.
        /// </value>
        public LoggerConfiguration? Logger { get; init; }
    
        /// <summary>
        /// GitLab configuration settings.
        /// </summary>
        /// <value>
        /// The GitLab configuration settings, or <c>null</c> if not configured.
        /// </value>
        public GitLabConfiguration GitLab { get; init; } = null!;
    
        /// <summary>
        /// Represents the configuration settings for the logger.
        /// </summary>
        public record LoggerConfiguration(string? LogLevel, string? LogHome);
    
        /// <summary>
        /// Represents the configuration settings for GitLab.
        /// </summary>
        public record GitLabConfiguration
        {
            public required string HostUrl { get; init; }
            public required string Token { get; init; }
            public required List<RepositoryConfiguration> Repositories { get; init; }
        };
    
        public record RepositoryConfiguration
        {
            public required string Name { get; init; }
            public required Uri Url { get; init; }
            public string? Ref { get; init; }
        };
    }