admission

package
v0.0.0-...-85ec1c0 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CPU_MIN                        = 100
	ISTIO_PROXY_CPU_MIN            = 5
	DEFAULT_ANNOTATION_DOMAIN      = `recut.geek7.io`
	DEFAULT_MEMORY_LIMIT_MIN       = 1024
	DEFAULT_ISTIO_MEMORY_LIMIT_MIN = 256
	DEFAULT_MEMORY_REQUEST_MIN     = 256
	DEFAULT_PROM_URL               = "http://vmsingle-vm.monitoring:8429"
	DEFAULT_PROM_CPU_QUERY         = "" /* 170-byte string literal not displayed */
	DEFAULT_PROM_MEM_QUERY         = "" /* 176-byte string literal not displayed */
	DEFAULT_PERIOD                 = "168h"
)

Variables

View Source
var (
	MIN_CPU_REQUEST = func() int {
		if minCpu := os.Getenv("CPU_REQUEST_MIN"); minCpu != "" {
			if v, err := strconv.Atoi(minCpu); err != nil {
				admLog.Error(err, "Env var CPU_REQUEST_MIN has wrong value. using predefined min")
				return CPU_MIN
			} else {
				return v
			}
		}
		return CPU_MIN
	}
	MIN_ISTIO_PROXY_CPU_REQUEST = func() int {
		if minCpu := os.Getenv("ISTIO_PROXY_CPU_REQUEST_MIN"); minCpu != "" {
			if v, err := strconv.Atoi(minCpu); err != nil {
				admLog.Error(err, "Env var ISTIO_PROXY_CPU_REQUEST_MIN has wrong value. using predefined min")
				return ISTIO_PROXY_CPU_MIN
			} else {
				return v
			}
		}
		return ISTIO_PROXY_CPU_MIN
	}
	ANNOTATION_DOMAIN = func() string {
		if domain := os.Getenv("ANNOTATION_DOMAIN"); domain != "" {
			return domain
		}
		return DEFAULT_ANNOTATION_DOMAIN
	}
	MEMORY_LIMIT_MIN = func() int64 {
		if minMem := os.Getenv("MEMORY_LIMIT_MIN"); minMem != "" {
			if v, err := strconv.ParseInt(minMem, 10, 64); err != nil {
				admLog.Error(err, "Env var MEMORY_LIMIT_MIN has wrong value. using predefined min")
				return DEFAULT_MEMORY_LIMIT_MIN
			} else {
				return v
			}
		}
		return DEFAULT_MEMORY_LIMIT_MIN
	}
	ISTIO_MEMORY_LIMIT_MIN = func() int64 {
		if minMem := os.Getenv("ISTIO_MEMORY_LIMIT_MIN"); minMem != "" {
			if v, err := strconv.ParseInt(minMem, 10, 64); err != nil {
				admLog.Error(err, "Env var MEMORY_LIMIT_MIN has wrong value. using predefined min")
				return DEFAULT_ISTIO_MEMORY_LIMIT_MIN
			} else {
				return v
			}
		}
		return DEFAULT_ISTIO_MEMORY_LIMIT_MIN
	}
	MEMORY_REQUEST_MIN = func() int64 {
		if minMem := os.Getenv("MEMORY_REQUEST_MIN"); minMem != "" {
			if v, err := strconv.ParseInt(minMem, 10, 64); err != nil {
				admLog.Error(err, "Env var MEMORY_REQUEST_MIN has wrong value. using predefined min")
				return DEFAULT_MEMORY_REQUEST_MIN
			} else {
				return v
			}
		}
		return DEFAULT_MEMORY_REQUEST_MIN
	}
	PROM_URL = func() string {
		if promUrl := os.Getenv("PROM_URL"); promUrl == "" {
			admLog.Info("Env var PROM_URL has wrong value or absent. Using predefined value")
			return DEFAULT_PROM_URL
		} else {
			return promUrl
		}
	}
	PROM_CPU_QUERY = func() string {
		if promCpuQuery := os.Getenv("PROM_CPU_QUERY"); promCpuQuery == "" {
			admLog.Info("Env var PROM_CPU_QUERY has wrong value or absent. Using predefined value")
			return DEFAULT_PROM_CPU_QUERY
		} else {
			return promCpuQuery
		}
	}
	PROM_MEM_QUERY = func() string {
		if promMemQuery := os.Getenv("PROM_MEM_QUERY"); promMemQuery == "" {
			admLog.Info("Env var PROM_MEM_QUERY has wrong value or absent. Using predefined value")
			return DEFAULT_PROM_MEM_QUERY
		} else {
			return promMemQuery
		}
	}
	PERIOD = func() string {
		if period := os.Getenv("PERIOD"); period == "" {
			admLog.Info("Env var PERIOD has wrong value or absent. Using predefined value")
			return DEFAULT_PERIOD
		} else {
			return period
		}
	}
)

Functions

This section is empty.

Types

type PodResourceSaver

type PodResourceSaver struct {
	Client client.Client
	// contains filtered or unexported fields
}

func (*PodResourceSaver) Handle

func (*PodResourceSaver) InjectDecoder

func (v *PodResourceSaver) InjectDecoder(d *admission.Decoder) error

type PromAnswer

type PromAnswer struct {
	Status string `json:"status"`
	Data   struct {
		ResultType string `json:"resultType"`
		Result     []struct {
			Metric map[string]string `json:"metric"`
			Value  []interface{}     `json:"value"`
		} `json:"result"`
	} `json:"data"`
}

type QueryParams

type QueryParams struct {
	Namespace string
	PodRegexp string
	Period    string
}

Jump to

Keyboard shortcuts

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