private static void PrintYaml(K8SConfiguration k8sConfig) { var serializer = new SerializerBuilder() .Build(); var output = serializer.Serialize(k8sConfig); Reporter.Output.Write(output); }
private static void PrintJson(K8SConfiguration k8sConfig) { var serializer = new SerializerBuilder() .JsonCompatible() .Build(); var output = serializer.Serialize(k8sConfig); // Prettify JSON output = JToken.Parse(output).ToString(Newtonsoft.Json.Formatting.Indented); Reporter.Output.Write(output); }
public static void WriteKubeConfig(K8SConfiguration k8sConfig, string kubeConfigPath = null) { if (k8sConfig == null) { throw new ArgumentNullException(nameof(k8sConfig)); } var serializer = new SerializerBuilder() .Build(); var output = serializer.Serialize(k8sConfig); var filePath = kubeConfigPath ?? KubeConfigDefaultLocation; File.WriteAllText(filePath, output); }
private static void RedactCertificateData(K8SConfiguration k8sConfig) { foreach (var cluster in k8sConfig.Clusters) { if (!string.IsNullOrWhiteSpace(cluster.ClusterEndpoint?.CertificateAuthorityData)) { cluster.ClusterEndpoint.CertificateAuthorityData = "REDACTED"; } } foreach (var user in k8sConfig.Users) { if (!string.IsNullOrWhiteSpace(user.UserCredentials?.ClientCertificateData)) { user.UserCredentials.ClientCertificateData = "REDACTED"; } if (!string.IsNullOrWhiteSpace(user.UserCredentials?.ClientKeyData)) { user.UserCredentials.ClientKeyData = "REDACTED"; } } }
private static K8SConfiguration MinifiedConfig(K8SConfiguration k8sConfig) { if (k8sConfig == null) { throw new ArgumentNullException(nameof(k8sConfig)); } var currentContext = k8sConfig.Contexts.First(c => c.Name == k8sConfig.CurrentContext); var minifiedK8sConfig = new K8SConfiguration { Preferences = k8sConfig.Preferences, ApiVersion = k8sConfig.ApiVersion, Kind = k8sConfig.Kind, CurrentContext = k8sConfig.CurrentContext, Contexts = new List <Context> { currentContext }, Clusters = k8sConfig.Clusters.Where(c => c.Name == currentContext.ContextDetails.Cluster), Users = k8sConfig.Users.Where(u => u.Name == currentContext.ContextDetails.User) }; return(minifiedK8sConfig); }