func validateContainer()

in internal/api/v1/authproxyworkload_webhook.go [129:159]


func validateContainer(spec *AuthProxyContainerSpec, f *field.Path) field.ErrorList {
	if spec == nil {
		return nil
	}

	var allErrs field.ErrorList
	if spec.AdminServer != nil {
		if len(spec.AdminServer.EnableAPIs) == 0 {
			allErrs = append(allErrs, field.Invalid(
				f.Child("adminServer", "enableAPIs"), nil,
				"enableAPIs must have at least one valid element: Debug or QuitQuitQuit"))
		}
		for i, v := range spec.AdminServer.EnableAPIs {
			if v != "Debug" && v != "QuitQuitQuit" {
				allErrs = append(allErrs, field.Invalid(
					f.Child("adminServer", "enableAPIs", fmt.Sprintf("%d", i)), v,
					"enableAPIs may contain the values \"Debug\" or \"QuitQuitQuit\""))
			}
		}
	}
	if spec.AdminServer != nil {
		errors := apivalidation.IsValidPortNum(int(spec.AdminServer.Port))
		for _, e := range errors {
			allErrs = append(allErrs, field.Invalid(
				f.Child("adminServer", "port"),
				spec.AdminServer.Port, e))
		}
	}

	return allErrs
}