)]}'
{"Dockerfile":[{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"62a7d81c2fa1b44465f4cb28632fb6de0e0d9c48","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM hyakuhei/anchor:base"},{"line_number":2,"context_line":"MAINTAINER Robert Clark \u003chyakuhei@gmail.com\u003e"},{"line_number":3,"context_line":"WORKDIR /root"},{"line_number":4,"context_line":"RUN git clone git://git.openstack.org/openstack/anchor"}],"source_content_type":"text/x-dockerfile","patch_set":2,"id":"da20952f_64b398ea","line":1,"updated":"2015-09-09 00:23:00.000000000","message":"I know this is not for production use, but still think it\u0027s a bad idea to allow easy setup on a private/unsupported image. Is there some reason we can\u0027t at least base it on ubuntu:latest, or something similar?","commit_id":"a907b498c4878a26c3900d7ccb1ffd9549015360"},{"author":{"_account_id":7063,"name":"Robert Clark","email":"hyakuhei@gmail.com","username":"hyakuhei"},"change_message_id":"5f077ffac01b9ff6c48994401390f9a466a7e0f7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM hyakuhei/anchor:base"},{"line_number":2,"context_line":"MAINTAINER Robert Clark \u003chyakuhei@gmail.com\u003e"},{"line_number":3,"context_line":"WORKDIR /root"},{"line_number":4,"context_line":"RUN git clone git://git.openstack.org/openstack/anchor"}],"source_content_type":"text/x-dockerfile","patch_set":2,"id":"da20952f_38dcd373","line":1,"in_reply_to":"da20952f_64b398ea","updated":"2015-09-09 10:50:46.000000000","message":"anchor:base is actually just a number of commits ontop of the standard ubuntu image.\n\nAt the time I was doing this I was trying different things and I found it really useful to have a base image with various Anchor related requirements already installed. Those requirements don\u0027t change very often and it means that when you want to test anchor, building a container with this Dockerfile is pretty quick.\n\nThe reason is that there\u0027s actually a lot of stuff that needs to be installed ontop of ubuntu; libffi, libssl, python-dev, pip, tox, git and various other things, then ontop of that there\u0027s all the pip installed stuff, which can take quite a bit of time, anchor:base has several layers that cover all that stuff.\n\nI don\u0027t like that it\u0027s hanging off my personal namespace though; I\u0027ve created a docker org for OpenStack Security with teams for Anchor and Bandit, just as an experiment really.\n\nSo if we changed this to be:\nFROM ubuntu:latest\n\nWe\u0027d add a bunch of stuff to the docker file for apt-get install x,y,z etc. Now the problem with that is that when there\u0027s a small change to Anchor that you want to test (by building a fresh container using this Dockerfile) all of those apt-get\u0027s and pip installs will be re-run.\n\nI guess that might not be a problem the question becomes would we rather make some effort to keep the Anchor image up to date (which we can do with an auto build) and move it under the openstacksecurity namespace *or* change this Dockerfile to use the base ubuntu image and spend a bit longer building for each new version of Anchor people want to try?\n\nTim and I went through 4-5 code iterations yesterday where this container was extremely useful and probably got rebuilt every 5-10 minutes.","commit_id":"a907b498c4878a26c3900d7ccb1ffd9549015360"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"62a7d81c2fa1b44465f4cb28632fb6de0e0d9c48","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  -nodes \\"},{"line_number":19,"context_line":"  -x509 \\"},{"line_number":20,"context_line":"  -days 365"},{"line_number":21,"context_line":"RUN chmod 0400 CA/root-ca-unwrapped.key"}],"source_content_type":"text/x-dockerfile","patch_set":2,"id":"da20952f_440a147b","line":21,"updated":"2015-09-09 00:23:00.000000000","message":"Could you add an ENTRYPOINT, so that the startup command doesn\u0027t need the extra arguments?","commit_id":"a907b498c4878a26c3900d7ccb1ffd9549015360"},{"author":{"_account_id":7063,"name":"Robert Clark","email":"hyakuhei@gmail.com","username":"hyakuhei"},"change_message_id":"5f077ffac01b9ff6c48994401390f9a466a7e0f7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  -nodes \\"},{"line_number":19,"context_line":"  -x509 \\"},{"line_number":20,"context_line":"  -days 365"},{"line_number":21,"context_line":"RUN chmod 0400 CA/root-ca-unwrapped.key"}],"source_content_type":"text/x-dockerfile","patch_set":2,"id":"da20952f_9d5ab129","line":21,"in_reply_to":"da20952f_440a147b","updated":"2015-09-09 10:50:46.000000000","message":"Great idea!","commit_id":"a907b498c4878a26c3900d7ccb1ffd9549015360"}],"Dockerfile.ubuntu":[{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"791b12593ebfff9baaff1b0d98a4995d1226bded","unresolved":false,"context_lines":[{"line_number":9,"context_line":"  libssl-dev \\"},{"line_number":10,"context_line":"  libffi-dev \\"},{"line_number":11,"context_line":"  python-pip \\"},{"line_number":12,"context_line":"  git"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# Clone Anchor, install required python packages"},{"line_number":15,"context_line":"# Setup a user to run anchor"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"da20952f_98761ed7","line":12,"updated":"2015-09-10 01:34:38.000000000","message":"According to docker best practices, there\u0027s a better way.\nOne the upgrade is not guaranteed to work in docker environment and the update and install should be on one line to avoid caching the lists update and package installation separately. Upgrades should be already incorporated in ubuntu:latest, so that\u0027s not needed.","commit_id":"fba610f0758a8968f256e27fa4964b632d848f30"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"791b12593ebfff9baaff1b0d98a4995d1226bded","unresolved":false,"context_lines":[{"line_number":16,"context_line":"WORKDIR /root"},{"line_number":17,"context_line":"RUN git clone git://git.openstack.org/openstack/anchor"},{"line_number":18,"context_line":"WORKDIR /root/anchor"},{"line_number":19,"context_line":"RUN pip install ."},{"line_number":20,"context_line":"RUN adduser --disabled-password --gecos \u0027\u0027 anchor-dev"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# anchor-dev user operations"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"da20952f_38335215","line":19,"updated":"2015-09-10 01:34:38.000000000","message":"If it\u0027s for development, shouldn\u0027t we use \"pip install -e .\" instead? That way you don\u0027t need to reinstall after changing sources.","commit_id":"fba610f0758a8968f256e27fa4964b632d848f30"}],"README.md":[{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"62a7d81c2fa1b44465f4cb28632fb6de0e0d9c48","unresolved":false,"context_lines":[{"line_number":95,"context_line":"We have prepared a base docker container for Anchor and a Dockerfile that will"},{"line_number":96,"context_line":"install the latest upstream version of Anchor and start the service. These"},{"line_number":97,"context_line":"instructions expect the reader to have a working Docker install already."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Fetch the most recent version of the Dockerfile:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    git clone -n git://git.openstack.org/openstack/anchor --depth 1"}],"source_content_type":"text/x-gfm","patch_set":2,"id":"da20952f_84102cad","line":98,"updated":"2015-09-09 00:23:00.000000000","message":"Could you add something like \"DO NOT use this in production\"? I know it says \"test\" in the header, but I don\u0027t trust people :)","commit_id":"a907b498c4878a26c3900d7ccb1ffd9549015360"},{"author":{"_account_id":7063,"name":"Robert Clark","email":"hyakuhei@gmail.com","username":"hyakuhei"},"change_message_id":"5f077ffac01b9ff6c48994401390f9a466a7e0f7","unresolved":false,"context_lines":[{"line_number":95,"context_line":"We have prepared a base docker container for Anchor and a Dockerfile that will"},{"line_number":96,"context_line":"install the latest upstream version of Anchor and start the service. These"},{"line_number":97,"context_line":"instructions expect the reader to have a working Docker install already."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Fetch the most recent version of the Dockerfile:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    git clone -n git://git.openstack.org/openstack/anchor --depth 1"}],"source_content_type":"text/x-gfm","patch_set":2,"id":"da20952f_783fab87","line":98,"in_reply_to":"da20952f_84102cad","updated":"2015-09-09 10:50:46.000000000","message":"Yeah I\u0027ll add something in the next version","commit_id":"a907b498c4878a26c3900d7ccb1ffd9549015360"}]}
