private static async Task Main()

in src/Azure.Deployments.Extensibility.Tools.K8sApiCatalogGenerator/Program.cs [16:39]


    private static async Task Main(string[] args)
    {
        var apiCatalogForCurrentMajorMinorServerVersion = await GenerateApiCatalogForCurrentMajorMinorServerVersionAsync();

        var apiCatalog = K8sApiDiscoveryService.LoadK8sApiCatalog()
            .Concat(apiCatalogForCurrentMajorMinorServerVersion)
            .GroupBy(x => (x.Group, x.Version, x.Kind, x.Plural, x.Namespaced))
            .Select(g => new K8sApiMetadata(
                g.Key.Group,
                g.Key.Version,
                g.Key.Kind,
                g.Key.Plural,
                g.Key.Namespaced,
                g.SelectMany(x => x.MajorMinorServerVersions).Distinct().ToImmutableArray().Sort()))
            .Order()
            .ToArray();


        using var streamWriter = new StreamWriter(GetApiCatalogCsvFilePath());
        using var csvWriter = new CsvWriter(streamWriter, CultureInfo.InvariantCulture);
        csvWriter.Context.TypeConverterCache.AddConverter<ImmutableArray<string>>(ImmutableArrayConverter.Instance);

        csvWriter.WriteRecords(apiCatalog);
    }