Ejemplo n.º 1
0
        public void DeleteHelmDeployment(string deployment)
        {
            HelmConnection helmConnection = new HelmConnection();

            helmConnection.DeleteHelmReleases(deployment);

            _helmDeployments.Remove(SelectedHelmDeployment);
            OnPropertyChanged("HelmDeployments");
        }
Ejemplo n.º 2
0
        public void LoadItems(string kubeNameSpace)
        {
            KuberntesConnection kubernetesConnection = new KuberntesConnection();
            HelmConnection      helmConnection       = new HelmConnection();

            var config = kubernetesConnection.GetKubeConfigs();

            CurrentKubeContext = config.CurrentContext;
            OnPropertyChanged("CurrentKubeContext");

            var nodes = kubernetesConnection.GetNodes();

            _nodeInfo.Clear();
            foreach (var node in nodes)
            {
                var newNode = new NodeInfo()
                {
                    Name           = node.Metadata.Name,
                    IpAddress      = node.Status.Addresses.First().Address,
                    Cidr           = node.Spec.PodCIDR,
                    IsRunning      = node.Status.Conditions.FirstOrDefault(exp => exp.Type == "Ready").Status == "True",
                    StatusMessage  = node.Status.Conditions.FirstOrDefault(exp => exp.Type == "Ready").Message,
                    NodeSystemInfo = node.Status.NodeInfo
                };

                kubernetesConnection.GetPodsRunningOnNode(newNode.Name, kubeNameSpace).Items.ForEach(pod => newNode.PodList.Add(pod));
                _nodeInfo.Add(newNode);
            }

            var kubeDeployments = kubernetesConnection.GetDeployments(kubeNameSpace);

            if (kubeDeployments != null)
            {
                _kubernetesDeployments.Clear();
                kubeDeployments.Items.ForEach(deployment => _kubernetesDeployments.Add(deployment));
            }

            var helmDeployments = helmConnection.GetHelmReleases(kubeNameSpace);

            if (helmDeployments != null)
            {
                _helmDeployments.Clear();
                helmDeployments.Releases.ForEach(helmDeployment => _helmDeployments.Add(helmDeployment));
            }

            var pods = kubernetesConnection.GetPods(kubeNameSpace);

            if (pods != null)
            {
                _pods.Clear();
                pods.Items.ForEach(pod => _pods.Add(pod));
            }

            var services = kubernetesConnection.GetServices(kubeNameSpace);

            if (services != null)
            {
                _services.Clear();
                services.Items.ForEach(service => _services.Add(service));
            }

            var configMaps = kubernetesConnection.GetConfigMaps(kubeNameSpace);

            if (configMaps != null)
            {
                _configMaps.Clear();
                configMaps.Items.ForEach(configMap => _configMaps.Add(configMap));
            }

            var secrets = kubernetesConnection.GetSecrets(kubeNameSpace);

            if (secrets != null)
            {
                _secrets.Clear();
                secrets.Items.ForEach(secret => _secrets.Add(secret));
            }
        }