add more debugging information (#65)

- makes debugging configuration issues easier by adding more context
  instead of misleading "missing signature key" and similar
This commit is contained in:
Paweł Prażak 2018-02-18 17:17:29 +01:00 committed by Jess Frazelle
parent 706e96ba44
commit f29941a2ba
6 changed files with 15 additions and 1 deletions

View file

@ -65,8 +65,10 @@ func (c *Clair) getJSON(url string, response interface{}) (http.Header, error) {
return nil, err
}
defer resp.Body.Close()
c.Logf("clair.clair resp.Status=%s", resp.Status)
if err := json.NewDecoder(resp.Body).Decode(response); err != nil {
c.Logf("clair.clair resp.Status=%s, body=%s", resp.Status, response)
return nil, err
}

View file

@ -39,6 +39,7 @@ func (c *Clair) PostLayer(layer *Layer) (*Layer, error) {
return nil, err
}
defer resp.Body.Close()
c.Logf("clair.clair resp.Status=%s", resp.Status)
var respLayer layerEnvelope
if err := json.NewDecoder(resp.Body).Decode(&respLayer); err != nil {
@ -67,6 +68,7 @@ func (c *Clair) DeleteLayer(name string) error {
return err
}
defer resp.Body.Close()
c.Logf("clair.clair resp.Status=%s", resp.Status)
if resp.StatusCode == http.StatusOK || resp.StatusCode == http.StatusAccepted || resp.StatusCode == http.StatusNotFound {
return nil

View file

@ -110,6 +110,7 @@ func (c *Clair) NewClairLayer(r *registry.Registry, image string, fsLayers []sch
}
if token == "" || useBasicAuth {
c.Logf("clair.vulns using basic auth")
h = map[string]string{
"Authorization": fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(r.Username+":"+r.Password))),
}

View file

@ -300,9 +300,12 @@ func main() {
// filter out the empty layers
var filteredLayers []schema1.FSLayer
for _, layer := range m.FSLayers {
for i, layer := range m.FSLayers {
if !clair.IsEmptyLayer(layer.BlobSum) {
filteredLayers = append(filteredLayers, layer)
logrus.Debugf("%d: layer=%s <-- append", i, layer)
} else {
logrus.Debugf("%d: layer=%s", i, layer)
}
}
m.FSLayers = filteredLayers
@ -310,6 +313,7 @@ func main() {
fmt.Printf("No need to analyse image %s:%s as there is no non-emtpy layer", repo, ref)
return nil
}
fmt.Printf("Analysing %d layers\n", len(m.FSLayers))
// initialize clair
cr, err := clair.New(c.String("clair"), c.GlobalBool("debug"))

View file

@ -33,6 +33,7 @@ func (r *Registry) Manifest(repository, ref string) (distribution.Manifest, erro
if err != nil {
return nil, err
}
r.Logf("registry.manifests resp.Status=%s, body=%s", resp.Status, body)
m, _, err := distribution.UnmarshalManifest(resp.Header.Get("Content-Type"), body)
if err != nil {
@ -49,6 +50,7 @@ func (r *Registry) ManifestList(repository, ref string) (manifestlist.ManifestLi
var m manifestlist.ManifestList
if _, err := r.getJSON(uri, &m, true); err != nil {
r.Logf("registry.manifests response=%v", m)
return m, err
}
@ -62,6 +64,7 @@ func (r *Registry) ManifestV2(repository, ref string) (schema2.Manifest, error)
var m schema2.Manifest
if _, err := r.getJSON(uri, &m, true); err != nil {
r.Logf("registry.manifests response=%v", m)
return m, err
}
@ -75,6 +78,7 @@ func (r *Registry) ManifestV1(repository, ref string) (schema1.SignedManifest, e
var m schema1.SignedManifest
if _, err := r.getJSON(uri, &m, false); err != nil {
r.Logf("registry.manifests response=%v", m)
return m, err
}

View file

@ -123,6 +123,7 @@ func (r *Registry) getJSON(url string, response interface{}, addV2Header bool) (
return nil, err
}
defer resp.Body.Close()
r.Logf("registry.registry resp.Status=%s", resp.Status)
if err := json.NewDecoder(resp.Body).Decode(response); err != nil {
return nil, err