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-03-03 15:32:27 +00:00
|
|
|
// build/static/charts/traefik-9.18.2.tgz
|
|
|
|
// build/static/charts/traefik-crd-9.18.2.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-05-10 22:58:41 +00:00
|
|
|
var _chartsTraefik9182Tgz = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x07\x40\xf8\xbf\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\xec\x5c\x7b\x6f\x1b\x37\xb6\xef\xdf\xfa\x14\xbc\x0e\x2e\xd6\x06\x64\xf9\x99\xa4\x75\x2f\x2e\xea\xda\x4e\xa3\xdd\xd4\x0e\x6c\x67\x73\x8b\x62\x91\x50\x33\x1c\x89\xcd\x68\x38\x4b\xce\x58\xd6\x16\xfb\xdd\xef\x79\x90\x1c\x8e\x24\x3b\x59\xdc\xb4\xbb\xb8\x1b\xa1\x8d\xa5\xd1\x0c\x79\x78\x1e\xbf\xf3\x22\xd5\x58\xa9\x0a\xfd\x61\xef\xab\xdf\xf0\xb5\x0f\xaf\xe7\x4f\x9f\xd2\x5f\x78\xad\xfe\xa5\xf7\x07\x47\xcf\x9f\x1f\x1d\x3f\x3b\xe2\xeb\xcf\x8f\x9e\x1f\x7f\x25\x9e\xfe\x96\x44\x85\x57\xeb\x1a\x69\x85\xf8\x3d\xa6\xfa\x57\x7c\x35\x5e\xfe\xa3\x99\x2a\xe7\x7a\x5a\x19\xab\x3e\xfb\x1c\x28\xe0\x67\xc7\xc7\x8f\xc8\xff\x79\x5f\xfe\x07\x07\x4f\x0f\x8f\xbe\x12\xfb\x9f\x9d\x92\x0d\xaf\x7f\x77\xf9\x2b\xd7\xb8\xbd\xc1\x3f\x9b\x8c\x2f\xaf\x7f\xd2\x2b\xd8\xff\xd9\x4c\xda\x66\xb4\x94\xf3\xf2\xf3\xcf\xf1\x11\xfb\x3f\xd8\x3f\xda\x5f\xb5\xff\xa3\x83\x2f\xf6\xff\xbb\xbc\x64\xad\xff\xac\xac\xd3\xa6\x3a\x11\x77\x87\x03\x59\xd7\xf1\xe3\xe1\xe8\x78\xf4\xf5\x20\x57\x2e\xb3\xba\x6e\xe8\xd2\xa9\xb8\x65\x7d\x11\x13\xe9\x54\x2e\xfe\xd4\x4e\x94\xad\x14\x80\x88\xd0\xd5\xd4\x2a\xe7\x44\x66\xaa\xc6\x9a\xb2\x54\x76\x30\x33\x73\x75\x22\x66\x4d\x53\xbb\x93\xbd\x3d\xaf\x69\x23\x6d\xf6\x06\x3a\xc3\xd1\xc2\x37\x56\x2e\x46\x53\xdd\xcc\xda\x49\xeb\x94\xc5\x01\x54\xd5\x8c\x32\x33\x0f\xcf\xc4\xbf\x77\x87\xa3\xa3\xbd\xdc\x64\x6e\xcf\xdf\xb5\x27\x9d\x53\x00\x60\x7a\x3e\x8d\x13\x94\x66\x6a\x46\x75\x35\x1d\x7c\x50\xcb\x85\xb1\xb9\x3b\x19\xec\x0a\xff\x25\xbc\xf3\x84\x0e\xe6\x52\x57\x0d\xfc\x0f\xcb\xc5\x1b\x14\x7c\x2e\x4f\xe0\x8f\x2e\xd5\x77\x77\xb2\x9d\x2a\xa4\x60\x20\x44\x25\x71\x15\x74\x9d\x2e\x77\xf7\xe6\xb2\xd2\xaa\x1c\x35\x66\x9e\xa9\x5f\xbe\x9b\xe2\xc5\xde\x33\x39\x7f\xd3\x3d\x50\xe6\xea\x6f\xdf\x75\x7c\x88\x37\xe2\xf5\x01\xbf\x0d\x74\x3a\xd3\xda\x4c\x11\x65\x81\x4d\xcc\xa2\x4d\x7c\xf9\xa4\x9b\x76\xd1\xc3\xef\x66\x68\xe7\x83\x66\x59\xc3\x5c\x20\xec\x52\x67\x12\x45\x3b\xb8\x0b\x52\xff\x66\x74\xf0\xf5\xe8\xf0\x8b\x43\xf8\x37\x79\x05\x25\xf9\xa1\xd5\xb9\x2a\xc1\x1a\xdc\x68\x9e\x7f\xe6\x39\x3e\x82\xff\x4f\x9f\x3f\x3f\x58\xc1\xff\xc3\xfd\xc3\xfd\x2f\xf8\xff\x7b\xbc\x9e\x44\x44\x7f\x09\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\x6d\xa2\x30\x56\xe4\xea\x4e\x95\xa6\x06\x7c\x1d\x8a\xb9\xac\xe4\x14\xde\x09\x59\xe5\x42\xdd\x03\x54\xe7\xf8\x09\x9f\x0a\xf3\x21\x1c\x09\x82\xa3\xd1\x60\x70\x45\x0e\x46\x96\xa5\x6e\x96\x83\xd3\xb2\x14\x95\xa9\x76\xc1\xef\x34\x80\x4f\xa5\x28\x94\x6c\x5a\x00\x6d\xb1\xfd\x22\xbc\xab\x4c\x83\x93\xe4\xb2\x31\x76\x29\x1a\x23\x50\x8c\x0d\xce\xe1\xc7\xdf\x01\xa0\xa7\xf9\xba\x79\xc4\x1c\x84\x2d\x26\x4a\x18\x3f\xdb\x48\x3c\x3c\x95\x9b\x99\xb6\xcc\xf1\xee\x5c\x3b\x39\x29\xc1\xdb\x6d\x03\xaa\x22\x17\xe0\x2d\xf0\x21\x4e\x70\x27\xcb\x16\xcc\x06\x63\x27\x51\x80\x97\xe0\x51\xc3\x1c\x9f\x7d\xf8\x21\xf1\x74\x26\xef\x94\x90\xc2\x3f\x22\x9e\x88\xed\xc0\xc2\xf8\x20\x4a\x46\xc8\x89\xb9\x03\x8a\x48\x8a\xc0\x5e\xb3\x70\x62\xae\x2b\x3d\x07\x5a\xc0\x85\x16\x7a\xda\x5a\x72\x00\x3c\xaa\x02\xaf\x2e\x4c\xc1\x12\x43\x7f\x00\xa2\x79\xf2\x44\x9c\x05\xf2\x3d\xfb\xc5\xc5\xbd\x9c\xd7\xa5\x1a\x0c\xde\xbf\x7f\x8f\x84\x0d\x60\xc0\xa9\x3a\x89\x0e\x2d\xf8\x25\xf8\xda\x6b\x90\x5f\xb8\x80\xb7\x81\x19\x3c\x25\x50\x6a\x15\xa8\x0f\x7d\x95\xc3\x53\x15\xac\x3f\x2b\x95\xb4\xe5\xf2\x41\x0e\x13\x55\x97\xc0\xd8\x8f\x53\xf6\x04\x34\xc3\x58\xa2\xee\x89\x10\x21\x3c\xb9\x34\xb9\xbf\x20\x04\x3b\x43\x35\xaf\x9b\xe5\xb9\xb6\x9b\x69\x4e\x85\xb8\x81\xee\x9e\xe4\xc4\x64\x89\x0b\x91\x6d\xd9\x3c\xb2\x80\x5b\xc3\xf2\x80\xef\xb5\x1b\x8a\x06\xe6\x2f\x65\xa3\xc4\xa4\x34\xd9\x07\xb4\x2f\xd9\x08\x08\x87\xe8\x6b\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\x27\x1d\x47\x7e\xfd\x15\x82\xa0\x42\x8c\xfe\xcc\x44\x79\xf6\xfc\xfd\xef\x20\xbd\xcd\x5f\x8d\x12\xa6\x09\xba\x4f\x88\x3d\x88\xc0\x72\x45\x6f\x7f\xfd\xf5\xb1\x07\x46\xc8\x5e\x11\x47\x07\x20\xc0\x0f\xc9\x5b\xcf\x6f\xb5\xd1\x50\x02\x23\x53\x83\xa9\x4d\xdd\x22\xab\x72\xe1\x0c\xf3\x0
|
2019-03-20 00:27:44 +00:00
|
|
|
|
2021-03-03 15:32:27 +00:00
|
|
|
func chartsTraefik9182TgzBytes() ([]byte, error) {
|
2019-03-20 00:27:44 +00:00
|
|
|
return bindataRead(
|
2021-03-03 15:32:27 +00:00
|
|
|
_chartsTraefik9182Tgz,
|
|
|
|
"charts/traefik-9.18.2.tgz",
|
2019-03-20 00:27:44 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2021-03-03 15:32:27 +00:00
|
|
|
func chartsTraefik9182Tgz() (*asset, error) {
|
|
|
|
bytes, err := chartsTraefik9182TgzBytes()
|
2019-03-20 00:27:44 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2021-03-03 15:32:27 +00:00
|
|
|
info := bindataFileInfo{name: "charts/traefik-9.18.2.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-03-03 15:32:27 +00:00
|
|
|
var _chartsTraefikCrd9182Tgz = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x92\x03\x6d\xfc\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\xed\x99\xcb\x72\x9b\x30\x14\x86\xb3\xe6\x29\x34\xe9\xa6\x5d\x04\xcc\xcd\x4e\xbd\xcb\xd8\x59\x64\xa6\x69\x3b\x76\xda\x4d\xa7\x0b\x05\x14\x5b\x63\x6e\x23\x09\xb7\x79\xfb\x4a\xe0\xb8\x20\xe3\x90\x8e\x0d\x69\xeb\xf3\x6d\xc0\x12\xe8\x68\xa4\xf3\xff\x3a\x24\x82\x61\xf2\x40\x57\x17\x01\x0b\xad\xb3\x8e\x18\x48\x46\xbe\x5f\x5c\x25\xfa\xb5\xb8\xb7\xdd\xd1\xc8\xf5\x86\x6e\xd1\x6e\x0f\x6c\xcf\x39\x43\x7e\x57\x13\xaa\x92\x73\x81\x19\x42\x7d\x84\xfa\x1b\x11\x95\xfd\x9f\x2c\x31\x13\xe6\x23\x8e\xa3\xe3\xc6\x50\x1b\x3c\xf4\xbc\xbd\xfb\xef\xb8\x23\x6d\xff\x9d\xc1\xc8\x3e\x43\x83\xe3\x4e\xa3\x99\x13\xdf\x7f\x9c\xd1\xaf\x84\x71\x9a\x26\x63\xb4\x76\x8c\xf5\xd3\xfd\x7b\xd3\xbe\x34\x1d\x23\x24\x3c\x60\x34\x13\x45\xdb\x4d\x22\xd7\x2a\x8a\x38\x12\x4b\x82\x26\xb3\x29\x47\x0f\x29\x43\x9b\x0c\x32\x8d\x04\xc7\x64\x8c\x2a\x09\x65\x88\xc7\x4c\xb6\xe0\x2c\x8b\x68\x80\xd5\x18\x06\x4e\x92\x54\x14\xb7\x7c\x6c\x20\x24\x5b\x71\x94\x2e\x4c\x79\x15\x11\x31\x69\x6a\x2d\x69\x18\x12\x19\xeb\x5c\xb0\x9c\x9c\x1b\xaf\xbd\x3c\xff\x3d\x55\xfd\xcf\xae\xaf\xa6\xb7\xd7\x66\x1c\x1e\x39\x46\xab\xfe\x6d\x4f\xd3\xbf\xed\xd9\x43\xd0\x7f\x1f\xbc\xa9\x09\xf6\x0a\xcd\x70\x12\x2c\x09\x43\x81\x3a\x0b\xa4\xd0\xb1\x40\x74\x47\xf6\x39\x27\x21\xba\x7f\x44\xdf\x36\xef\x7e\x7f\xbb\x14\x22\xe3\x63\xcb\x5a\x50\xb1\xcc\xef\xcd\x20\x8d\x2d\x56\x8e\x64\x85\x64\x7d\x51\x8c\xc6\x2d\xc1\x08\xb1\x62\xcc\x85\x6c\xce\x70\xb0\xc2\x0b\xa2\x1a\x8b\x31\xde\x99\x20\xf6\x57\xa0\xaa\x7f\x41\xe2\x2c\xc2\x42\xee\xc9\x71\x63\xfc\x79\xfd\x27\x1d\x61\x00\xf5\x5f\x1f\x34\xef\x3f\x4d\x16\x8c\x70\xce\xd2\x5c\x90\xc3\x0b\xc2\x36\xff\xf7\x5c\xdd\xff\x7d\xdf\x07\xff\xef\x85\x6a\xfd\x27\xef\xc9\x4f\x41\x12\xf5\x8b\x9b\xab\x4b\xae\x0a\xb2\xb5\x7d\x4f\x04\xb6\x8d\x15\x4d\xc2\x31\x9a\xc8\xe5\x4a\xe3\x19\xe1\x69\xce\x02\x32\x95\xa9\x93\xd0\xa2\xb0\x8b\xe5\x43\xa1\xac\xe6\x54\x55\x57\x16\x82\xd5\x1c\xe2\xe6\x53\x95\x18\xa4\x89\xc0\x34\x49\xcd\x9c\x1b\x3c\x23\x81\x7a\x7e\x21\x9f\xc9\xb6\x95\x63\xed\x11\x84\xb6\x15\xe9\xda\xc6\x51\xb6\x94\x33\x29\x03\x14\xf5\x23\x42\xe5\xb4\x6e\xca\x58\x33\x15\xab\x68\xce\xa2\x9c\xe1\x48\x9b\x44\xd1\xc3\x65\x53\x1e\x61\x56\xef\x93\x5d\x3c\x48\x55\xb5\xfa\x51\x8d\x2d\x0f\x27\x12\x9e\xc4\x79\xd4\xae\x7f\x11\x64\x07\x5a\x40\xab\xfe\x7d\xdd\xff\x87\xce\xd0\x05\xfd\xf7\x41\x3f\xfa\x97\x39\xd4\xa7\x05\xdc\x4d\x3e\xef\x75\x01\x35\x95\x67\x8c\x40\x76\x9f\x94\x17\xb4\xeb\x3f\x0f\xbb\xd7\xbf\xbd\xab\x7f\x38\xff\x7b\xa1\x1f\xfd\xcb\x1c\x6a\xd6\x7f\x47\x06\xf0\x65\xba\xdf\x00\xd4\x5c\x9e\x31\x00\xd9\x7d\x4a\x06\xd0\xac\xff\x98\x86\x61\x44\x7e\x60\xb9\x2a\x47\xf8\x7b\x70\xab\xfe\x9d\x9d\xfa\xdf\x95\x4d\xa0\xff\x1e\xe8\x4e\xff\xd5\x1c\xea\xf6\xe8\xbf\xdd\x46\xaa\x89\xbe\x32\x01\x4d\xef\x71\xf5\x85\x93\x91\x7a\x23\xcd\xfa\xe7\x84\xa9\x95\x97\x9d\x09\xcf\x52\x26\x0e\x73\x81\xf6\xf3\xdf\xd5\xcf\xff\xa1\x3f\x02\xfd\xf7\x41\x77\xfa\xdf\xcd\xa1\x6e\x5d\x60\x5e\xc6\xbb\x7b\x8a\x57\xf3\x82\x9d\xc9\x68\x8e\xa0\xf7\x37\xf9\xc2\x6b\x6f\x55\x27\x34\xeb\x5f\x44\x3c\x2d\xfe\xe9\x77\x8c\xe3\xff\x05\xe7\xbf\xfe\xfd\xef\x3b\x2e\xd4\xff\xbd\xd0\x9d\xfe\x2b\x39\xd4\xad\xf0\xef\x3e\xcc\x3f\x15\x81\x6a\x8a\xff\x1d\x5e\x93\xfa\xb6\xe3\xe4\xcf\x7e\xc5\x5e\xfd\xcb\x7d\x3e\x4e\xf5\xff\x02\xfd\xdb\xbe\xae\xff\x01\x7c\xff\xf7\x43\xa7\xfa\xdf\xe4\x50\xc7\x1f\xfe\x52\xff\x73\x15\x48\x97\x7f\x19\x7d\x57\xfd\x7c\xf3\x30\x88\xff\x6c\xaf\xfe\xcb\x56\x55\x15\xd1\xe0\x60\x17\x68\xd5\xbf\xa7\x7f\xff\x0f\x1d\x1b\xea\xff\x5e\xe8\x50\xff\x5a\x0e\x75\x5c\x04\x94\xaf\xce\xcb\x68\x75\x2b\xa8\x4f\x44\x37\x84\x5a\x2f\xd8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x0c\xbf\x00\xee\x43\x63\xee\x00\x50\x00\x00\x01\x00\x00\xff\xff\xa8\x56\x8e\x31\x92\x03\x00\x00")
|
2020-12-23 01:28:19 +00:00
|
|
|
|
2021-03-03 15:32:27 +00:00
|
|
|
func chartsTraefikCrd9182TgzBytes() ([]byte, error) {
|
2020-12-23 01:28:19 +00:00
|
|
|
return bindataRead(
|
2021-03-03 15:32:27 +00:00
|
|
|
_chartsTraefikCrd9182Tgz,
|
|
|
|
"charts/traefik-crd-9.18.2.tgz",
|
2020-12-23 01:28:19 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2021-03-03 15:32:27 +00:00
|
|
|
func chartsTraefikCrd9182Tgz() (*asset, error) {
|
|
|
|
bytes, err := chartsTraefikCrd9182TgzBytes()
|
2020-12-23 01:28:19 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2021-03-03 15:32:27 +00:00
|
|
|
info := bindataFileInfo{name: "charts/traefik-crd-9.18.2.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-03-03 15:32:27 +00:00
|
|
|
"charts/traefik-9.18.2.tgz": chartsTraefik9182Tgz,
|
|
|
|
"charts/traefik-crd-9.18.2.tgz": chartsTraefikCrd9182Tgz,
|
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-03-03 15:32:27 +00:00
|
|
|
"traefik-9.18.2.tgz": &bintree{chartsTraefik9182Tgz, map[string]*bintree{}},
|
|
|
|
"traefik-crd-9.18.2.tgz": &bintree{chartsTraefikCrd9182Tgz, 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, "/")...)...)
|
|
|
|
}
|