I'm currently in the process of testing Traffic Ops under docker and making a ready to go layered image but doing it without the RPM (call it either dev or prepping docker images). I'm sure there is work ongoing and would like to discuss.
install_goose.sh - Is there a requirement github/lib/pq to run Traffic Ops? - Is there another requirement to have golang installed outside of install_goose? - Do we need to delete golang tarball everytime it runs? Is gcc and all the development library needed to run Traffic Ops? Or is this only required for the RPM Build? I see those in the spec file : "expat-devel gcc-c++ libpcap-devel openssl-devel libcurl-devel libidn-devel" A few new requirement for Traffic Ops RPM not added to spec file which was discovered during installation and planning to add to the Traffic Ops RPM Spec file : "postgresql96 postgresql96-devel cronie git" Note that git is probably only required for "install_goose.sh". There is a function called "find_conf_path" which seems to assume all configuration is in /opt/traffic-ops/app/conf. This makes it difficult to mount a volume to store configuration file (if you need to). There is a MOJO_CONFIG for cdn.conf, but it doesn't apply to influx/riak/etc. I would add a variable called MOJO_CONFIG_PATH to override this behavior. I would rather see configurations in /etc/traffic_ops/conf than in the current /opt/traffic_ops/app/conf directory. There is a requirement to have this file called "invalid_passwords.txt". The process doesn't start if not present and it is located in the "conf" folder. Should this be environment dependent and be optional? Any objections about adding a "Makefile" at the root of the project to build the docker containers? I can give an example through a pull request. This might be confusing for the normal build of the project (RPMS). I'll try to find a way to put in infrastructure/docker, but had issues with directory structure. Steve
