2019-08-10 05:07:43 +00:00
|
|
|
// Code generated for package static by go-bindata DO NOT EDIT. (@generated)
|
2019-03-20 00:27:44 +00:00
|
|
|
// sources:
|
2021-07-03 09:03:50 +00:00
|
|
|
// build/static/charts/traefik-10.3.0.tgz
|
|
|
|
// build/static/charts/traefik-crd-10.3.0.tgz
|
2020-09-11 21:51:45 +00:00
|
|
|
// +build !no_stage
|
|
|
|
|
2019-03-20 00:27:44 +00:00
|
|
|
package static
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"compress/gzip"
|
|
|
|
"fmt"
|
|
|
|
"io"
|
|
|
|
"io/ioutil"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
"strings"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
func bindataRead(data []byte, name string) ([]byte, error) {
|
|
|
|
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
var buf bytes.Buffer
|
|
|
|
_, err = io.Copy(&buf, gz)
|
|
|
|
clErr := gz.Close()
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
|
|
|
}
|
|
|
|
if clErr != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return buf.Bytes(), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type asset struct {
|
|
|
|
bytes []byte
|
|
|
|
info os.FileInfo
|
|
|
|
}
|
|
|
|
|
|
|
|
type bindataFileInfo struct {
|
|
|
|
name string
|
|
|
|
size int64
|
|
|
|
mode os.FileMode
|
|
|
|
modTime time.Time
|
|
|
|
}
|
|
|
|
|
2019-08-10 05:07:43 +00:00
|
|
|
// Name return file name
|
2019-03-20 00:27:44 +00:00
|
|
|
func (fi bindataFileInfo) Name() string {
|
|
|
|
return fi.name
|
|
|
|
}
|
2019-08-10 05:07:43 +00:00
|
|
|
|
|
|
|
// Size return file size
|
2019-03-20 00:27:44 +00:00
|
|
|
func (fi bindataFileInfo) Size() int64 {
|
|
|
|
return fi.size
|
|
|
|
}
|
2019-08-10 05:07:43 +00:00
|
|
|
|
|
|
|
// Mode return file mode
|
2019-03-20 00:27:44 +00:00
|
|
|
func (fi bindataFileInfo) Mode() os.FileMode {
|
|
|
|
return fi.mode
|
|
|
|
}
|
2019-08-10 05:07:43 +00:00
|
|
|
|
|
|
|
// Mode return file modify time
|
2019-03-20 00:27:44 +00:00
|
|
|
func (fi bindataFileInfo) ModTime() time.Time {
|
|
|
|
return fi.modTime
|
|
|
|
}
|
2019-08-10 05:07:43 +00:00
|
|
|
|
|
|
|
// IsDir return file whether a directory
|
2019-03-20 00:27:44 +00:00
|
|
|
func (fi bindataFileInfo) IsDir() bool {
|
2019-08-10 05:07:43 +00:00
|
|
|
return fi.mode&os.ModeDir != 0
|
2019-03-20 00:27:44 +00:00
|
|
|
}
|
2019-08-10 05:07:43 +00:00
|
|
|
|
|
|
|
// Sys return file is sys mode
|
2019-03-20 00:27:44 +00:00
|
|
|
func (fi bindataFileInfo) Sys() interface{} {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
var _chartsTraefik1030Tgz = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x04\x40\xfb\xbf\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\xec\x5c\x79\x73\x1b\xb9\x95\x9f\xbf\xf9\x29\xb0\x72\x6d\x45\xaa\xa2\xa8\xcb\x47\xa2\xd9\xda\x1a\x8d\x24\xcf\x30\xf1\x48\x2a\x49\x8e\x33\x35\x95\xb2\xc1\x6e\x34\x89\x71\xb3\xd1\x01\xba\x45\x31\xb3\xf9\xee\x79\x07\x80\x46\x93\x94\xec\xd4\x7a\x3c\xa9\x5d\xb3\x92\xb1\xd8\x07\xf0\xf0\x8e\xdf\xbb\x00\x36\x56\xaa\x42\xbf\xdf\xfb\xea\x57\xfc\xec\xc3\xe7\xc5\xb3\x67\xf4\x2f\x7c\x56\xff\xa5\xbf\x0f\x8e\x5e\xbc\x38\x7a\xfa\xfc\x88\xaf\xbf\x38\x7a\xf1\xf4\x2b\xf1\xec\xd7\x24\x2a\x7c\x5a\xd7\x48\x2b\xc4\xe7\x98\xea\xdf\xf1\xd3\x78\xf9\x8f\x66\xaa\x9c\xeb\x69\x65\xac\xfa\xe4\x73\xa0\x80\x9f\x3f\x7d\xfa\x88\xfc\x5f\xf4\xe5\x7f\x70\xf0\xec\xf0\xe8\x2b\xb1\xff\xc9\x29\xd9\xf0\xf9\xff\x2e\x7f\xe5\x1a\xb7\x37\xf8\xad\xc9\xf8\xf2\xf9\x8d\x3e\xc1\xfe\x4f\x67\xd2\x36\xa3\xa5\x9c\x97\x9f\x7e\x8e\x0f\xd8\xff\xc1\xfe\xd1\xfe\xaa\xfd\x1f\x1d\x7c\xb1\xff\xcf\xf2\x91\xb5\xfe\xb3\xb2\x4e\x9b\xea\x58\xdc\x1d\x0e\x64\x5d\xc7\xaf\x87\xa3\x67\xa3\xfd\x41\xae\x5c\x66\x75\xdd\xd0\xa5\x13\x71\xcb\xfa\x22\x26\xd2\xa9\x5c\xfc\xa9\x9d\x28\x5b\x29\x00\x11\xa1\xab\xa9\x55\xce\x89\xcc\x54\x8d\x35\x65\xa9\xec\x60\x66\xe6\xea\x58\xcc\x9a\xa6\x76\xc7\x7b\x7b\x5e\xd3\x46\xda\xec\x0d\x74\x86\xa3\x85\x3b\x56\x2e\x46\x53\xdd\xcc\xda\x49\xeb\x94\xc5\x01\x54\xd5\x8c\x32\x33\x0f\xef\xc4\x7f\xef\x0e\x47\x47\x7b\xb9\xc9\xdc\x9e\x7f\x6a\x4f\x3a\xa7\x00\xc0\xf4\x7c\x1a\x27\x28\xcd\xd4\x8c\xea\x6a\x3a\x78\xaf\x96\x0b\x63\x73\x77\x3c\xd8\x15\xfe\x26\xfc\xe5\x09\x1d\xcc\xa5\xae\x1a\xf8\x3f\x2c\x17\x1f\x50\xf0\xbd\x3c\x86\x7f\x74\xa9\xbe\xb9\x93\xed\x54\x21\x05\x03\x21\x2a\x89\xab\xa0\xeb\x74\xb9\x7b\x36\x97\x95\x56\xe5\xa8\x31\xf3\x4c\xfd\xfc\xcd\x14\x2f\xf6\xde\xc9\xf9\x4e\xf7\x42\x99\xab\xbf\x7f\xd3\xf1\x21\x3e\x88\xd7\x07\xfc\x67\xa0\xd3\x99\xd6\x66\x8a\x28\x0b\x6c\x62\x16\x6d\xe2\xcb\x47\x3d\xb4\x8b\x1e\x7e\x37\x43\x3b\x1f\x34\xcb\x1a\xe6\x02\x61\x97\x3a\x93\x28\xda\xc1\x5d\x90\xfa\xc1\xfe\xe8\x08\xc4\xfe\x5b\xeb\xe5\x97\xcf\xe7\xf9\x04\x25\xf9\xae\xd5\xb9\x2a\xc1\x1a\xdc\x68\x9e\x7f\xe2\x39\x3e\x80\xff\xcf\x5e\xbc\x38\x58\xc1\xff\xc3\xfd\xc3\xfd\x2f\xf8\xff\x39\x3e\x4f\x22\xa2\x7f\x0f\xf0\x20\x28\x0c\x10\x9d\x32\x0c\x06\xb7\x33\xed\x04\x40\x6e\x3b\x07\xb8\x15\xa6\x6d\xe8\xba\x68\x66\x4a\x4c\xe3\x63\xa2\x30\x56\xe4\xea\x4e\x95\xa6\x06\x7c\x1d\x8a\xb9\xac\xe4\x14\xfe\x12\xb2\xca\x85\xba\x07\xa8\xce\xf1\x1b\xbe\x15\xe6\x43\x38\x12\x04\x47\xa3\xc1\xe0\x92\x1c\x8c\x2c\x4b\xdd\x2c\x07\x27\x65\x29\x2a\x53\xed\x82\xdf\x69\x00\x9f\x4a\x51\x28\xd9\xb4\x00\xda\x62\xfb\x65\xf8\xab\x32\x0d\x4e\x92\xcb\xc6\xd8\xa5\x68\x8c\x40\x31\x36\x38\x87\x1f\x7f\x07\x80\x9e\xe6\xeb\xe6\x11\x73\x10\xb6\x98\x28\x61\xfc\x6c\x23\xf1\xf0\x54\x6e\x66\xda\x32\xc7\xa7\x73\xed\xe4\xa4\x04\x6f\xb7\x0d\xa8\x8a\x5c\x80\x3f\x81\x0f\x71\x82\x3b\x59\xb6\x60\x36\x18\x3b\x89\x02\xbc\x04\x8f\x1a\xe6\xf8\xe4\xc3\x0f\x89\xa7\x33\x79\xa7\x84\x14\xfe\x15\xf1\x44\x6c\x07\x16\xc6\x17\x51\x32\x42\x4e\xcc\x1d\x50\x44\x52\x04\xf6\x9a\x85\x13\x73\x5d\xe9\x39\xd0\x02\x2e\xb4\xd0\xd3\xd6\x92\x03\xe0\x51\x15\x78\x75\x61\x0a\x96\x18\xfa\x03\x10\xcd\x93\x27\xe2\x34\x90\xef\xd9\x2f\xce\xef\xe5\xbc\x2e\xd5\x60\xf0\xee\xdd\x3b\x24\x6c\x00\x03\x4e\xd5\x71\x74\x68\xc1\x2f\xc1\x6d\xaf\x41\x7e\xe1\x02\xfe\x0c\xcc\xe0\x29\x81\x52\xab\x40\x7d\xe8\x56\x0e\x6f\x55\xb0\xfe\xac\x54\xd2\x96\xcb\x07\x39\x4c\x54\x5d\x00\x63\x3f\x4c\xd9\x13\xd0\x0c\x63\x89\xba\x27\x42\x84\xf0\xe4\xc2\xe4\xfe\x82\x10\xec\x0c\xd5\xbc\x6e\x96\x67\xda\x6e\xa6\x39\x15\xe2\x06\xba\x7b\x92\x13\x93\x25\x2e\x44\xb6\x65\xf3\xc8\x02\x6e\x0d\xcb\x03\xee\x6b\x37\x14\x0d\xcc\x5f\xca\x46\x89\x49\x69\xb2\xf7\x68\x5f\xb2\x11\x10\x0e\xd1\x6d\x51\x29\x18\x1a\x94\xdc\xaa\xac\x05\x3f\x0d\x76\x06\x3a\x0f\x99\x1b\xd9\x9d\xba\xd7\x0e\xc4\x95\x91\xe4\x78\x26\xd0\x2b\x22\xad\x75\xde\xea\xe6\xc7\x1d\x47\x7e\xf9\x05\x82\xa0\x42\x8c\xfe\xcc\x44\x79\xf6\xfc\xe3\x1f\x20\xbd\xcd\xb7\x46\x09\xd3\x04\x3d\x27\xc4\x1e\x44\x60\xb9\xa2\x3f\x7f\xf9\xe5\xb1\x17\x46\xc8\x5e\x11\x47\x07\x20\xc0\x2f\xc9\x9f\x9e\xdf\x6a\xa3\xa1\x04\x46\xa6\x06\x53\x9b\xba\x45\x56\xe5\xc2\x1
|
2019-03-20 00:27:44 +00:00
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
func chartsTraefik1030TgzBytes() ([]byte, error) {
|
2019-03-20 00:27:44 +00:00
|
|
|
return bindataRead(
|
2021-07-03 09:03:50 +00:00
|
|
|
_chartsTraefik1030Tgz,
|
|
|
|
"charts/traefik-10.3.0.tgz",
|
2019-03-20 00:27:44 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
func chartsTraefik1030Tgz() (*asset, error) {
|
|
|
|
bytes, err := chartsTraefik1030TgzBytes()
|
2019-03-20 00:27:44 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
info := bindataFileInfo{name: "charts/traefik-10.3.0.tgz", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
|
2020-12-23 01:28:19 +00:00
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
var _chartsTraefikCrd1030Tgz = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\xe3\x1c\x1c\xe3\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\xed\x3d\xdb\x72\xdb\xb8\x92\xe7\x39\x5f\xc1\xca\x3c\x4c\xb2\x65\xc9\xf1\x2d\xd9\xcd\x9b\x63\x27\x3b\xa9\x49\x32\x2e\xcb\x3b\x67\xb7\xce\x39\x55\x03\x91\x90\x84\x35\x45\x72\x79\xb1\xa3\xb3\xb5\xff\xbe\xdd\x0d\x92\x22\x29\xe2\xa2\x8b\x65\x7b\x82\x7e\x48\x64\x12\x68\x02\x8d\x46\xa3\xbb\xd1\x68\xe4\x29\xe3\x13\x71\x3b\xf0\xd3\xe0\xf0\x2f\x0f\x04\x6f\x00\xde\x9d\x9d\xd1\xff\x00\xdd\xff\xe9\xf7\xd1\xc9\xbb\x77\x27\xa7\x6f\x4f\xe8\xf9\xd1\x9b\xa3\xd3\xe3\xbf\x78\x67\x0f\xd5\xa0\x26\x14\x59\xce\x52\xcf\xdb\xc7\xa7\x9e\x22\xe4\x8d\xf1\xbf\x98\xb1\x34\x1f\x2e\xd8\x3c\xdc\xed\x37\x70\x80\xdf\x9e\x9e\x2a\xc7\xff\xf8\xe4\x5d\x67\xfc\x8f\xdf\xbc\x3b\xfa\x8b\xf7\x66\xb7\xcd\xe8\x87\x1f\x7c\xfc\x59\x22\x7e\xe7\x69\x26\xe2\xe8\xbd\x77\x77\xfc\xe2\xae\xfa\x7d\xf4\x66\x78\x32\x7c\xf3\x22\xe0\x99\x9f\x8a\x24\xa7\x67\x9f\x23\xa0\x55\x18\x66\x5e\x3e\xe3\xde\xc5\xf5\x65\xe6\x4d\xe2\xd4\x2b\x39\x68\xf8\x22\x62\x73\xfe\xde\x6b\x30\xd4\x8b\x7c\x91\xc0\x13\x96\x24\xa1\xf0\x19\xe2\x78\xc1\xa2\x28\xce\xe9\x67\xf6\xfe\x85\xe7\xc1\x53\x16\xc6\xd3\x21\xfc\x9f\x87\x7c\x28\xe2\xc3\x99\x08\x02\x0e\xdf\x7a\x99\xa7\x05\x7f\xf9\xe2\xb1\xc9\xf3\xa7\x87\xe6\xfc\xbf\xfe\x78\x7e\xf9\xf5\xe3\x70\x1e\xec\xf8\x1b\xc6\xf9\x7f\x74\xda\x99\xff\x47\xa7\x47\x6f\xdd\xfc\xdf\x07\xfc\xd4\x9a\xb0\xe7\xde\x35\x8b\xfc\x19\x4f\x3d\x1f\xd7\x02\x98\xe8\x2c\xf7\xc4\xca\xb4\x2f\x32\x1e\x78\xe3\x85\xf7\xb7\xb2\xee\x3f\x5e\xcd\xf2\x3c\xc9\xde\x1f\x1e\x4e\x45\x3e\x2b\xc6\x43\x3f\x9e\x1f\xa6\x12\xd3\x61\xc0\xef\x06\x84\x2d\x3b\xcc\x53\xce\x0f\xe7\x2c\xcb\xe1\x71\xc2\xfc\x5b\x36\xe5\xf8\x90\x70\xbc\x1e\xba\xc9\xfe\x08\xd0\x9c\xff\x39\x9f\x27\x21\xcb\x61\x4c\x76\xfb\x8d\xf5\xf5\x3f\x90\x08\x6f\x9c\xfe\xb7\x0f\xe8\x1f\x7f\x11\x4d\x53\x9e\x65\x69\x5c\xe4\x7c\x7b\x85\x50\x2f\xff\x8f\xde\x9d\x1c\x9d\x75\xc6\xff\xec\xec\xed\xa9\x93\xff\xfb\x80\xa6\xfe\x07\xbf\xf9\xf7\x9c\x47\xf8\x57\x36\xbc\xfd\xd7\x0c\x15\xb2\xbb\xa3\x17\xb7\x22\x0a\xde\x7b\x17\x40\xa9\x78\x7e\xcd\xb3\xb8\x48\x7d\x7e\x09\x5c\x13\x09\xd2\xe9\xe6\x3c\x67\x01\x28\x72\xa8\xd0\x75\xf4\x3b\xd0\xf0\xe2\x28\x4f\xe3\x30\xe4\xe9\x60\xca\xa3\xe1\x6d\x31\xe6\xe3\x42\x84\x01\x4f\x09\x79\xad\x7a\xbe\x19\x9e\x0e\x8f\x50\x23\x4c\x39\x55\xbf\x11\x73\x0e\x23\x33\x4f\xde\x7b\x51\x11\x86\xf0\x46\xaa\x97\x4d\xce\xcc\x86\x95\xee\x89\x5f\x61\x22\x8a\x87\x45\xf6\x22\x4b\xb8\x8f\xdf\x9e\x42\x99\xa4\xd6\x47\x5b\x45\x24\xb2\xb2\x85\xb2\x77\x9f\x25\xde\x6b\xc4\x4b\x8f\x43\x91\xe5\xbf\xae\xbc\xfa\x02\x4f\xe9\x75\x12\x16\x29\x0b\x3b\xed\xa1\x37\x19\x3c\x2a\x42\x96\xb6\xdf\xc1\xab\xcc\x8f\x51\x1d\xfe\x86\x9f\x86\xd5\x8f\x07\xf0\xac\x24\x00\x35\x65\x50\x76\xf1\xee\x88\x85\xc9\x8c\x1d\x49\x6c\xb0\x86\xce\x99\x6c\xa9\xe7\x01\x82\xe8\xfc\xea\xf3\xef\x27\xa3\xd6\x63\xcf\xeb\xe8\xe9\xcb\x06\x7b\x22\x83\x41\xa9\x1e\xe1\xf2\xed\x21\x81\xc4\xa4\xd4\xc8\x87\x35\x8a\x24\x05\xec\x69\x2e\x2a\xba\x48\x68\xf0\x47\xe3\x69\xe7\x83\x3f\x63\x9b\x64\x29\x78\x01\x8c\xc1\xa5\xb2\x50\xf6\x0e\x94\x05\xd9\x0d\x2f\x9e\xc0\x73\x68\x51\xca\x13\x68\x0e\x8f\x24\xab\xb4\x10\x7b\x58\x08\x5a\x1c\x8f\xff\x9b\xfb\xf9\xd0\x1b\xf1\x14\xd1\x78\xd9\x2c\x2e\xc2\x00\xf9\x09\xfe\xcc\x01\x83\x1f\x4f\x23\xf1\xcf\x1a\x37\x7c\x31\xa6\x8f\x92\x04\xcb\x3b\x38\x45\x04\x3a\x47\xc4\x42\xef\x8e\x85\x05\x3f\x80\x0f\x04\xde\x9c\x2d\x00\x0d\x7e\xc5\x2b\xa2\x06\x3e\x2a\x92\x0d\xbd\xaf\x71\x0a\xe4\x8b\x26\xf1\x7b\xaf\xa1\xde\x54\xf3\x02\x54\x9c\x79\x01\x33\x60\x71\x48\x2c\x2e\xc6\x45\x1e\xa7\x19\x6a\x3b\x3c\x3c\xcc\xc4\x74\xc0\x52\x7f\x26\x72\xc0\x5e\xa4\xfc\x10\xc8\x38\xa0\xa6\x47\x34\x37\x40\xc7\xfe\x29\x2d\x67\x52\xf6\x73\xab\xad\xd2\x66\xca\x00\x63\x34\x6d\xbc\x20\x2e\xd5\x8c\x00\xb2\x2a\x8d\x75\x59\x55\xf6\x62\x49\x68\x7c\x84\xd4\xb9\xfe\x38\xba\xf1\xaa\x4f\xd3\x60\x74\xa9\x4f\x74\x5f\x56\xcc\x96\x43\x80\x04\x03\x7a\x80\x76\x48\x83\x38\x49\xe3\x39\xe1\xe4\x51\x90\xc4\x40\x61\xfa\xc3\x0f\x05\xd4\xea\x20\xcd\x8a\xf1\x5c\xe4\x38\xee\xff\x03\xa4\xcd\x71\xac\x86\xde\x05\x09\x0b\x6f\xcc\xbd\x22\x01\xf9\xc1\x83\x21\xb0\x29\x3c\x9d\xf3\xf0\x82\x65\xfc\xc1\x07\x00\x29\x9d\x0d
|
2020-12-23 01:28:19 +00:00
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
func chartsTraefikCrd1030TgzBytes() ([]byte, error) {
|
2020-12-23 01:28:19 +00:00
|
|
|
return bindataRead(
|
2021-07-03 09:03:50 +00:00
|
|
|
_chartsTraefikCrd1030Tgz,
|
|
|
|
"charts/traefik-crd-10.3.0.tgz",
|
2020-12-23 01:28:19 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
func chartsTraefikCrd1030Tgz() (*asset, error) {
|
|
|
|
bytes, err := chartsTraefikCrd1030TgzBytes()
|
2020-12-23 01:28:19 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2021-07-03 09:03:50 +00:00
|
|
|
info := bindataFileInfo{name: "charts/traefik-crd-10.3.0.tgz", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)}
|
2019-03-20 00:27:44 +00:00
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// Asset loads and returns the asset for the given name.
|
|
|
|
// It returns an error if the asset could not be found or
|
|
|
|
// could not be loaded.
|
|
|
|
func Asset(name string) ([]byte, error) {
|
|
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
if f, ok := _bindata[cannonicalName]; ok {
|
|
|
|
a, err := f()
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
|
|
|
}
|
|
|
|
return a.bytes, nil
|
|
|
|
}
|
|
|
|
return nil, fmt.Errorf("Asset %s not found", name)
|
|
|
|
}
|
|
|
|
|
|
|
|
// MustAsset is like Asset but panics when Asset would return an error.
|
|
|
|
// It simplifies safe initialization of global variables.
|
|
|
|
func MustAsset(name string) []byte {
|
|
|
|
a, err := Asset(name)
|
|
|
|
if err != nil {
|
|
|
|
panic("asset: Asset(" + name + "): " + err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
return a
|
|
|
|
}
|
|
|
|
|
|
|
|
// AssetInfo loads and returns the asset info for the given name.
|
|
|
|
// It returns an error if the asset could not be found or
|
|
|
|
// could not be loaded.
|
|
|
|
func AssetInfo(name string) (os.FileInfo, error) {
|
|
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
if f, ok := _bindata[cannonicalName]; ok {
|
|
|
|
a, err := f()
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
|
|
|
|
}
|
|
|
|
return a.info, nil
|
|
|
|
}
|
|
|
|
return nil, fmt.Errorf("AssetInfo %s not found", name)
|
|
|
|
}
|
|
|
|
|
|
|
|
// AssetNames returns the names of the assets.
|
|
|
|
func AssetNames() []string {
|
|
|
|
names := make([]string, 0, len(_bindata))
|
|
|
|
for name := range _bindata {
|
|
|
|
names = append(names, name)
|
|
|
|
}
|
|
|
|
return names
|
|
|
|
}
|
|
|
|
|
|
|
|
// _bindata is a table, holding each asset generator, mapped to its name.
|
|
|
|
var _bindata = map[string]func() (*asset, error){
|
2021-07-03 09:03:50 +00:00
|
|
|
"charts/traefik-10.3.0.tgz": chartsTraefik1030Tgz,
|
|
|
|
"charts/traefik-crd-10.3.0.tgz": chartsTraefikCrd1030Tgz,
|
2019-03-20 00:27:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// AssetDir returns the file names below a certain
|
|
|
|
// directory embedded in the file by go-bindata.
|
|
|
|
// For example if you run go-bindata on data/... and data contains the
|
|
|
|
// following hierarchy:
|
|
|
|
// data/
|
|
|
|
// foo.txt
|
|
|
|
// img/
|
|
|
|
// a.png
|
|
|
|
// b.png
|
|
|
|
// then AssetDir("data") would return []string{"foo.txt", "img"}
|
|
|
|
// AssetDir("data/img") would return []string{"a.png", "b.png"}
|
|
|
|
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
|
|
|
|
// AssetDir("") will return []string{"data"}.
|
|
|
|
func AssetDir(name string) ([]string, error) {
|
|
|
|
node := _bintree
|
|
|
|
if len(name) != 0 {
|
|
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
pathList := strings.Split(cannonicalName, "/")
|
|
|
|
for _, p := range pathList {
|
|
|
|
node = node.Children[p]
|
|
|
|
if node == nil {
|
|
|
|
return nil, fmt.Errorf("Asset %s not found", name)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if node.Func != nil {
|
|
|
|
return nil, fmt.Errorf("Asset %s not found", name)
|
|
|
|
}
|
|
|
|
rv := make([]string, 0, len(node.Children))
|
|
|
|
for childName := range node.Children {
|
|
|
|
rv = append(rv, childName)
|
|
|
|
}
|
|
|
|
return rv, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type bintree struct {
|
|
|
|
Func func() (*asset, error)
|
|
|
|
Children map[string]*bintree
|
|
|
|
}
|
|
|
|
|
|
|
|
var _bintree = &bintree{nil, map[string]*bintree{
|
|
|
|
"charts": &bintree{nil, map[string]*bintree{
|
2021-07-03 09:03:50 +00:00
|
|
|
"traefik-10.3.0.tgz": &bintree{chartsTraefik1030Tgz, map[string]*bintree{}},
|
|
|
|
"traefik-crd-10.3.0.tgz": &bintree{chartsTraefikCrd1030Tgz, map[string]*bintree{}},
|
2019-03-20 00:27:44 +00:00
|
|
|
}},
|
|
|
|
}}
|
|
|
|
|
|
|
|
// RestoreAsset restores an asset under the given directory
|
|
|
|
func RestoreAsset(dir, name string) error {
|
|
|
|
data, err := Asset(name)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
info, err := AssetInfo(name)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// RestoreAssets restores an asset under the given directory recursively
|
|
|
|
func RestoreAssets(dir, name string) error {
|
|
|
|
children, err := AssetDir(name)
|
|
|
|
// File
|
|
|
|
if err != nil {
|
|
|
|
return RestoreAsset(dir, name)
|
|
|
|
}
|
|
|
|
// Dir
|
|
|
|
for _, child := range children {
|
|
|
|
err = RestoreAssets(dir, filepath.Join(name, child))
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func _filePath(dir, name string) string {
|
|
|
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
|
|
|
|
}
|