Files
kubesphere/pkg/simple/client/cache/options.go
Wenhao Zhou 6af86c2cf1 add dynamic options for cache (#4894)
* add dynamic options for cache

* fixed bugs based on unit-test

* add doc for cache

* make cache implements be private

* Change simpleCache name to InMemoryCache

Signed-off-by: Wenhao Zhou <wenhaozhou@yunify.com>

* Remove fake cache and replacing to in memory cache with default parameter

Signed-off-by: Wenhao Zhou <wenhaozhou@yunify.com>

Signed-off-by: Wenhao Zhou <wenhaozhou@yunify.com>
2022-09-19 16:46:15 +08:00

47 lines
1.1 KiB
Go

/*
Copyright 2019 The KubeSphere Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package cache
import (
"fmt"
)
type Options struct {
Type string `json:"type"`
Options DynamicOptions `json:"options"`
}
// NewCacheOptions returns options points to nowhere,
// because redis is not required for some components
func NewCacheOptions() *Options {
return &Options{
Type: "",
Options: map[string]interface{}{},
}
}
// Validate check options
func (r *Options) Validate() []error {
errors := make([]error, 0)
if r.Type == "" {
errors = append(errors, fmt.Errorf("invalid cache type"))
}
return errors
}