docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.88k stars 877 forks source link

Boto depends on the python rsa library to generate signed URLs for CloudFront #985

Open willglynn opened 9 years ago

willglynn commented 9 years ago

docker-registry:0.9.1 fails when configured for CloudFront:

ERROR: Exception on /v1/images/ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2/layer [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/toolkit.py", line 280, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/images.py", line 38, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/toolkit.py", line 37, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/images.py", line 59, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/lib/mirroring.py", line 145, in wrapper
    resp = f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/images.py", line 190, in get_image_layer
    return _get_image_layer(image_id, headers, bytes_range)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/images.py", line 85, in _get_image_layer
    content_redirect_url = store.content_redirect_url(path)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/drivers/s3.py", line 161, in content_redirect_url
    return self.signer(path, expire_time=60)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/drivers/s3.py", line 62, in sign
    expire_time=int(expire_time)
  File "/usr/local/lib/python2.7/dist-packages/boto/cloudfront/distribution.py", line 568, in create_signed_url
    private_key_string=private_key_string)
  File "/usr/local/lib/python2.7/dist-packages/boto/cloudfront/distribution.py", line 609, in _create_signing_params
    signature = self._sign_string(policy, private_key_file, private_key_string)
  File "/usr/local/lib/python2.7/dist-packages/boto/cloudfront/distribution.py", line 658, in _sign_string
    raise NotImplementedError("Boto depends on the python rsa "
NotImplementedError: Boto depends on the python rsa library to generate signed URLs for CloudFront