|
|
@ -165,7 +165,7 @@ func writeTarContents(out *tar.Writer, c *chart.Chart, prefix string) error {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := writeToTar(out, filepath.Join(base, ChartfileName), cdata); err != nil {
|
|
|
|
if err := writeToTar(out, filepath.Join(base, ChartfileName), cdata, c.ModTime); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -177,7 +177,7 @@ func writeTarContents(out *tar.Writer, c *chart.Chart, prefix string) error {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := writeToTar(out, filepath.Join(base, "Chart.lock"), ldata); err != nil {
|
|
|
|
if err := writeToTar(out, filepath.Join(base, "Chart.lock"), ldata, c.Lock.Generated); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -186,7 +186,7 @@ func writeTarContents(out *tar.Writer, c *chart.Chart, prefix string) error {
|
|
|
|
// Save values.yaml
|
|
|
|
// Save values.yaml
|
|
|
|
for _, f := range c.Raw {
|
|
|
|
for _, f := range c.Raw {
|
|
|
|
if f.Name == ValuesfileName {
|
|
|
|
if f.Name == ValuesfileName {
|
|
|
|
if err := writeToTar(out, filepath.Join(base, ValuesfileName), f.Data); err != nil {
|
|
|
|
if err := writeToTar(out, filepath.Join(base, ValuesfileName), f.Data, f.ModTime); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -197,7 +197,8 @@ func writeTarContents(out *tar.Writer, c *chart.Chart, prefix string) error {
|
|
|
|
if !json.Valid(c.Schema) {
|
|
|
|
if !json.Valid(c.Schema) {
|
|
|
|
return errors.New("Invalid JSON in " + SchemafileName)
|
|
|
|
return errors.New("Invalid JSON in " + SchemafileName)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := writeToTar(out, filepath.Join(base, SchemafileName), c.Schema); err != nil {
|
|
|
|
// TODO: read the modtime for the values.schema.json
|
|
|
|
|
|
|
|
if err := writeToTar(out, filepath.Join(base, SchemafileName), c.Schema, c.SchemaModTime); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -205,7 +206,7 @@ func writeTarContents(out *tar.Writer, c *chart.Chart, prefix string) error {
|
|
|
|
// Save templates
|
|
|
|
// Save templates
|
|
|
|
for _, f := range c.Templates {
|
|
|
|
for _, f := range c.Templates {
|
|
|
|
n := filepath.Join(base, f.Name)
|
|
|
|
n := filepath.Join(base, f.Name)
|
|
|
|
if err := writeToTar(out, n, f.Data); err != nil {
|
|
|
|
if err := writeToTar(out, n, f.Data, f.ModTime); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -213,7 +214,7 @@ func writeTarContents(out *tar.Writer, c *chart.Chart, prefix string) error {
|
|
|
|
// Save files
|
|
|
|
// Save files
|
|
|
|
for _, f := range c.Files {
|
|
|
|
for _, f := range c.Files {
|
|
|
|
n := filepath.Join(base, f.Name)
|
|
|
|
n := filepath.Join(base, f.Name)
|
|
|
|
if err := writeToTar(out, n, f.Data); err != nil {
|
|
|
|
if err := writeToTar(out, n, f.Data, f.ModTime); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -228,13 +229,13 @@ func writeTarContents(out *tar.Writer, c *chart.Chart, prefix string) error {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// writeToTar writes a single file to a tar archive.
|
|
|
|
// writeToTar writes a single file to a tar archive.
|
|
|
|
func writeToTar(out *tar.Writer, name string, body []byte) error {
|
|
|
|
func writeToTar(out *tar.Writer, name string, body []byte, modTime time.Time) error {
|
|
|
|
// TODO: Do we need to create dummy parent directory names if none exist?
|
|
|
|
// TODO: Do we need to create dummy parent directory names if none exist?
|
|
|
|
h := &tar.Header{
|
|
|
|
h := &tar.Header{
|
|
|
|
Name: filepath.ToSlash(name),
|
|
|
|
Name: filepath.ToSlash(name),
|
|
|
|
Mode: 0644,
|
|
|
|
Mode: 0644,
|
|
|
|
Size: int64(len(body)),
|
|
|
|
Size: int64(len(body)),
|
|
|
|
ModTime: time.Now(),
|
|
|
|
ModTime: modTime,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err := out.WriteHeader(h); err != nil {
|
|
|
|
if err := out.WriteHeader(h); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|