(env string, config types.FileReferenceConfig)
| 137 | } |
| 138 | |
| 139 | func createTar(env string, config types.FileReferenceConfig) (bytes.Buffer, error) { |
| 140 | value := []byte(env) |
| 141 | b := bytes.Buffer{} |
| 142 | tarWriter := tar.NewWriter(&b) |
| 143 | mode := types.FileMode(0o444) |
| 144 | if config.Mode != nil { |
| 145 | mode = *config.Mode |
| 146 | } |
| 147 | |
| 148 | var uid, gid int |
| 149 | if config.UID != "" { |
| 150 | v, err := strconv.Atoi(config.UID) |
| 151 | if err != nil { |
| 152 | return b, err |
| 153 | } |
| 154 | uid = v |
| 155 | } |
| 156 | if config.GID != "" { |
| 157 | v, err := strconv.Atoi(config.GID) |
| 158 | if err != nil { |
| 159 | return b, err |
| 160 | } |
| 161 | gid = v |
| 162 | } |
| 163 | |
| 164 | header := &tar.Header{ |
| 165 | Name: config.Target, |
| 166 | Size: int64(len(value)), |
| 167 | Mode: int64(mode), |
| 168 | ModTime: time.Now(), |
| 169 | Uid: uid, |
| 170 | Gid: gid, |
| 171 | } |
| 172 | err := tarWriter.WriteHeader(header) |
| 173 | if err != nil { |
| 174 | return bytes.Buffer{}, err |
| 175 | } |
| 176 | _, err = tarWriter.Write(value) |
| 177 | if err != nil { |
| 178 | return bytes.Buffer{}, err |
| 179 | } |
| 180 | err = tarWriter.Close() |
| 181 | return b, err |
| 182 | } |
no test coverage detected