collector

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2024 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Version resource version
	Version = "v1"
	// Kind resource kind
	Kind = "NodeInfo"
)
View Source
const (
	// WorkerNode worker node type
	WorkerNode = "worker"
	// MasterNode master Node type
	MasterNode = "master"
)

Variables

This section is empty.

Functions

func CollectData

func CollectData(cmd *cobra.Command) error

CollectData run spec audit command and output it result data

func ExecuteCommands

func ExecuteCommands(shellCmd Shell, ci []Command) (map[string]*Info, error)

func LoadKubeletMapping

func LoadKubeletMapping(kubletConfigMapping string) (map[string]string, error)

func SanitizeString

func SanitizeString(output string, replaceable map[string]string) string

SanitizeString snitize string from special characters

func StringToArray

func StringToArray(output string, delimiter string) []interface{}

StringToArray convert string with delimiter to array

Types

type Cluster

type Cluster struct {
	// contains filtered or unexported fields
}

func GetCluster

func GetCluster() (*Cluster, error)

func NewCluster

func NewCluster(clientSet *kubernetes.Clientset, clientConfig clientcmd.ClientConfig, restMApper meta.RESTMapper, dynamicClient dynamic.Interface) *Cluster

func (*Cluster) Platfrom

func (cluster *Cluster) Platfrom() (Platform, error)

type Command

type Command struct {
	Key      string `yaml:"key"`
	Title    string `yaml:"title"`
	Audit    string `yaml:"audit"`
	NodeType string `yaml:"nodeType"`
}

Collector details of info to collect

func GetNodesCommands

func GetNodesCommands(nodeCommands string, configMap map[string]string, nodeType string) ([]Command, error)

type Config

type Config struct {
	Node NodeParams `yaml:"node"`
}

func LoadConfigParams

func LoadConfigParams(nodeFileconfig string) (*Config, error)

LoadConfigParams load audit params data

type Info

type Info struct {
	Values interface{} `json:"values"`
}

Info comand output result

type Mapper

type Mapper struct {
	VersionMapping map[string][]SpecVersion `yaml:"version_mapping"`
}

type Node

type Node struct {
	APIVersion string            `json:"apiVersion"`
	Kind       string            `json:"kind"`
	Metadata   map[string]string `json:"metadata"`
	Type       string            `json:"type"`
	Info       map[string]*Info  `json:"info"`
}

Node output node data with info results

type NodeParams

type NodeParams struct {
	APIserver         Params            `yaml:"apiserver"`
	ControllerManager Params            `yaml:"controllermanager"`
	Scheduler         Params            `yaml:"scheduler"`
	Etcd              Params            `yaml:"etcd"`
	Proxy             Params            `yaml:"proxy"`
	KubeLet           Params            `yaml:"kubelet"`
	Flanneld          Params            `yaml:"flanneld"`
	VersionMapping    map[string]string `yaml:"version_mapping"`
}

type Params

type Params struct {
	Config            []string `yaml:"confs,omitempty"`
	DefaultConfig     string   `yaml:"defaultconf,omitempty"`
	KubeConfig        []string `yaml:"kubeconfig,omitempty"`
	DefaultKubeConfig string   `yaml:"defaultkubeconfig,omitempty"`
	DataDirs          []string `yaml:"datadirs,omitempty"`
	DefaultDataDir    string   `yaml:"defaultdatadir,omitempty"`
	Binaries          []string `yaml:"bins,omitempty"`
	DefaultBinaries   string   `yaml:"defaultbins,omitempty"`
	Services          []string `yaml:"svc,omitempty"`
	DefalutServices   string   `yaml:"defaultsvc,omitempty"`
	CAFile            []string `yaml:"cafile,omitempty"`
	DefaultCAFile     string   `yaml:"defaultcafile,omitempty"`
}

type Platform

type Platform struct {
	Name    string
	Version string
}

type Shell

type Shell interface {
	Execute(commandArgs string) (string, error)
	FindNodeType() (string, error)
}

Shell command interface to preform shell exec commands

func NewShellCmd

func NewShellCmd() Shell

NewShellCmd instansiate new shell command

type SpecInfo

type SpecInfo struct {
	Version  string    `yaml:"version"`
	Name     string    `yaml:"name"`
	Title    string    `yaml:"title"`
	Commands []Command `yaml:"commands"`
}

SpecInfo spec info with require comand to collect

type SpecVersion

type SpecVersion struct {
	Name           string
	Version        string `yaml:"cluster_version"`
	Op             string `yaml:"op"`
	CisSpecName    string `yaml:"spec_name"`
	CisSpecVersion string `yaml:"spec_version"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL