Documentation ¶
Index ¶
- Constants
- Variables
- func Digest2filename(digest digest.Digest) string
- func EventAnnotations(image string) map[string]string
- func EventLabels(image string) map[string]string
- func GetImageEvents(kube kubernetes.Interface, eventNamespace, image string) ([]v1.Event, error)
- func MakeDaemonSet(name, namespace, image string, labels map[string]string, args []string, ...) *appsv1.DaemonSet
- func MakeRbac(name, namespace string) (*rbacv1.Role, *rbacv1.RoleBinding)
- func MakeServiceAccount(name, namespace string) *v1.ServiceAccount
- func NewDeployer(kube kubernetes.Interface, namespace, name string, imageRepo, imageTag string, ...) *deployer
- func NewLocalImagePuller(imageCache Cache, refFile string, directory string, ...) *localImagePuller
- type Cache
- type CacheImpl
- type Deployer
- type EventNotifier
- type LocalImagePuller
- type Notifier
Constants ¶
View Source
const ( // marked as "true" always, for searching CacheGlobalLabel = "cache.wasme.io/cache_event" // ref to the image CacheImageRefLabel = "cache.wasme.io/image_ref" Reason_ImageAdded = "ImageAdded" Reason_ImageError = "ImageError" )
Variables ¶
View Source
var ( CacheName = "wasme-cache" CacheNamespace = "wasme" CacheImageRepository = "quay.io/solo-io/wasme" CacheImageTag = version.Version ImagesKey = "images" DefaultCacheArgs = func(namespace string) []string { return []string{ "cache", "--directory", "/var/local/lib/wasme-cache", "--ref-file", "/etc/wasme-cache/images.txt", "--cache-ns", namespace, } } )
Functions ¶
func Digest2filename ¶ added in v0.0.13
func Digest2filename(digest digest.Digest) string
func EventAnnotations ¶ added in v0.0.16
func EventLabels ¶ added in v0.0.16
func GetImageEvents ¶ added in v0.0.16
get the cache events for an image. used by tests and the istio deployer, not by this package
func MakeDaemonSet ¶ added in v0.0.13
func MakeRbac ¶ added in v0.0.16
func MakeRbac(name, namespace string) (*rbacv1.Role, *rbacv1.RoleBinding)
func MakeServiceAccount ¶ added in v0.0.16
func MakeServiceAccount(name, namespace string) *v1.ServiceAccount
func NewDeployer ¶
func NewDeployer(kube kubernetes.Interface, namespace, name string, imageRepo, imageTag string, args []string, pullPolicy v1.PullPolicy) *deployer
func NewLocalImagePuller ¶ added in v0.0.13
func NewLocalImagePuller(imageCache Cache, refFile string, directory string, cacheNotifier EventNotifier) *localImagePuller
Types ¶
type Cache ¶
type Cache interface { // adds the image retrieve the digest for the image. // the digest will be cached if it is the initial Get Add(ctx context.Context, image string) (digest.Digest, error) // retrieve the wasm file from the image Get(ctx context.Context, digest digest.Digest) (model.Filter, error) http.Handler }
Cache stores digests and image contents in memory
func NewCache ¶
func NewCache(puller pull.ImagePuller) Cache
type CacheImpl ¶
type CacheImpl struct { Puller pull.ImagePuller // contains filtered or unexported fields }
type Deployer ¶
type Deployer interface { // ensures the desired cache is deployed. // if a cache component already exists, it is updated EnsureCache() error }
the cache deployer deploys an instance of the cache to Kubernetes.
type EventNotifier ¶ added in v0.0.16
type LocalImagePuller ¶ added in v0.0.13
type LocalImagePuller interface { // watches ref file (images.txt) pulls each image to disk WatchFile(ctx context.Context) error }
pulls images for a local cache
type Notifier ¶ added in v0.0.16
type Notifier struct {
// contains filtered or unexported fields
}
sends Events to kubernetes when images are added to the cache
func NewNotifier ¶ added in v0.0.16
func NewNotifier(kube kubernetes.Interface, wasmeNamespace string, cacheName string) *Notifier
Click to show internal directories.
Click to hide internal directories.