As a designer, when I jump into doing a UI review, or hacking on the templates / CSS of a new project, one of the most painful steps for me is getting my dev environment set up.
Most of our webapps do have very good documentation on getting a dev environment set up, but invariably this takes a good chunk of time and fiddling for me (being someone that is not super-familiar with setting up and running the back-ends of webapps). This is especially relevant if what i am trying to fix is just a simple template change, and TBH manually tweaking postgres config files is not really my idea of a good time. :)
Long story short, i am asking for comments and thoughts on how to make setting up a dev environment simpler and easier (and perhaps even standardized between all our apps).
I recently started playing with Vagrant, and made this vagrant setup[1] for bootstrapping a bodhi dev envirionment using Vagrant on top of vagrant-libvirt, and it works pretty well for me -- i can just use one command to spin up a new clean instance of a bodhi dev environment, with the DB configured and populated and ready to go. Note that i chose libvirt with Vagrant here, primarily because i am not well versed in Docker, but Docker on Vagrant is possible too.
cheers, ryanlerch
[1] - https://gist.github.com/ryanlerch/577eb8cd9d8ff66023cb2f98dc78bfe5
Il 14/apr/2016 03:47 AM, "Ryan Lerch" rlerch@redhat.com ha scritto:
As a designer, when I jump into doing a UI review, or hacking on the
templates / CSS of a new project, one of the most painful steps for me is getting my dev environment set up.
Most of our webapps do have very good documentation on getting a dev
environment set up, but invariably this takes a good chunk of time and fiddling for me (being someone that is not super-familiar with setting up and running the back-ends of webapps). This is especially relevant if what i am trying to fix is just a simple template change, and TBH manually tweaking postgres config files is not really my idea of a good time. :)
Long story short, i am asking for comments and thoughts on how to make
setting up a dev environment simpler and easier (and perhaps even standardized between all our apps).
I recently started playing with Vagrant, and made this vagrant setup[1]
for bootstrapping a bodhi dev envirionment using Vagrant on top of vagrant-libvirt, and it works pretty well for me -- i can just use one command to spin up a new clean instance of a bodhi dev environment, with the DB configured and populated and ready to go. Note that i chose libvirt with Vagrant here, primarily because i am not well versed in Docker, but Docker on Vagrant is possible too.
cheers, ryanlerch
[1] - https://gist.github.com/ryanlerch/577eb8cd9d8ff66023cb2f98dc78bfe5
infrastructure mailing list infrastructure@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/infrastructure@lists.fedoraprojec...
Nod nod, I agree with Ryan that we could probably have an easier way to set up local instances of our apps, this would help not only designers or websites folks but also new contributors. On the other hand it is rather difficult to make a unified way to launch all apps the same way, because they are sometimes very different. Recently we have only Flask based apps, so that could help, but the thought about vagrant or docker solutions is really nice. I'll try your bodhi development environment, maybe this is a good start. Thanks for sharing.
Robert
On Thu, Apr 14, 2016 at 11:37:11AM +1000, Ryan Lerch wrote:
As a designer, when I jump into doing a UI review, or hacking on the templates / CSS of a new project, one of the most painful steps for me is getting my dev environment set up.
Most of our webapps do have very good documentation on getting a dev environment set up, but invariably this takes a good chunk of time and fiddling for me (being someone that is not super-familiar with setting up and running the back-ends of webapps). This is especially relevant if what i am trying to fix is just a simple template change, and TBH manually tweaking postgres config files is not really my idea of a good time. :)
Long story short, i am asking for comments and thoughts on how to make setting up a dev environment simpler and easier (and perhaps even standardized between all our apps).
I recently started playing with Vagrant, and made this vagrant setup[1] for bootstrapping a bodhi dev envirionment using Vagrant on top of vagrant-libvirt, and it works pretty well for me -- i can just use one command to spin up a new clean instance of a bodhi dev environment, with the DB configured and populated and ready to go. Note that i chose libvirt with Vagrant here, primarily because i am not well versed in Docker, but Docker on Vagrant is possible too.
[1] - https://gist.github.com/ryanlerch/577eb8cd9d8ff66023cb2f98dc78bfe5
I am all for vagrant or docker for my apps, I do think it would make things way easier for new contributors to get started.
I know I've been meaning to get faitout on docker so that one could run a local instance of faitout, but still haven't done it.
On the docker vs vagrant, I have no idea, I must confess I lack knowledge on both (played w/ docker once over a year ago, never with vagrant).
Pierre
On Thu, Apr 14, 2016 at 5:53 PM, Pierre-Yves Chibon pingou@pingoured.fr wrote:
On Thu, Apr 14, 2016 at 11:37:11AM +1000, Ryan Lerch wrote:
As a designer, when I jump into doing a UI review, or hacking on the templates / CSS of a new project, one of the most painful steps for
me is
getting my dev environment set up.
Most of our webapps do have very good documentation on getting a dev environment set up, but invariably this takes a good chunk of time and fiddling for me (being someone that is not super-familiar with
setting up
and running the back-ends of webapps). This is especially relevant if
what
i am trying to fix is just a simple template change, and TBH manually tweaking postgres config files is not really my idea of a good time.
:)
Long story short, i am asking for comments and thoughts on how to make setting up a dev environment simpler and easier (and perhaps even standardized between all our apps).
I recently started playing with Vagrant, and made this vagrant
setup[1]
for bootstrapping a bodhi dev envirionment using Vagrant on top of vagrant-libvirt, and it works pretty well for me -- i can just use one command to spin up a new clean instance of a bodhi dev environment,
with
the DB configured and populated and ready to go. Note that i chose
libvirt
with Vagrant here, primarily because i am not well versed in Docker,
but
Docker on Vagrant is possible too.
[1] -
https://gist.github.com/ryanlerch/577eb8cd9d8ff66023cb2f98dc78bfe5
I am all for vagrant or docker for my apps, I do think it would make things way easier for new contributors to get started.
I know I've been meaning to get faitout on docker so that one could run a local instance of faitout, but still haven't done it.
On the docker vs vagrant, I have no idea, I must confess I lack knowledge on both (played w/ docker once over a year ago, never with vagrant).
We can use Docker with vagrant too. But i don't know too much about Docker, so in my use of Vagrant, i pretty much have stuck with using libvirt with Vagrant to do what I need to do.
I have a few Vagrant setups working now too, and added a pagure repo with some instructions as well:
https://pagure.io/fedora-apps-vagrantfiles/tree/master
So far, I have ones for fedora-hubs, bodhi and a quick one for getting a modern_paste test instance up and running. I also should note that I am not a sysadmin, so i might be doing some of the steps in the provisioning a bit weird, so feel free to test these out and submit a PR or three ;)
cheers, ryanlerch
Pierre _______________________________________________ infrastructure mailing list infrastructure@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/infrastructure@lists.fedoraprojec...
On Tue, Jun 7, 2016 at 2:57 PM, Ryan Lerch rlerch@redhat.com wrote:
On Thu, Apr 14, 2016 at 5:53 PM, Pierre-Yves Chibon pingou@pingoured.fr wrote:
On Thu, Apr 14, 2016 at 11:37:11AM +1000, Ryan Lerch wrote:
As a designer, when I jump into doing a UI review, or hacking on the templates / CSS of a new project, one of the most painful steps for
me is
getting my dev environment set up.
Most of our webapps do have very good documentation on getting a dev environment set up, but invariably this takes a good chunk of time
and
fiddling for me (being someone that is not super-familiar with
setting up
and running the back-ends of webapps). This is especially relevant
if what
i am trying to fix is just a simple template change, and TBH manually tweaking postgres config files is not really my idea of a good time.
:)
Long story short, i am asking for comments and thoughts on how to
make
setting up a dev environment simpler and easier (and perhaps even standardized between all our apps).
I recently started playing with Vagrant, and made this vagrant
setup[1]
for bootstrapping a bodhi dev envirionment using Vagrant on top of vagrant-libvirt, and it works pretty well for me -- i can just use
one
command to spin up a new clean instance of a bodhi dev environment,
with
the DB configured and populated and ready to go. Note that i chose
libvirt
with Vagrant here, primarily because i am not well versed in Docker,
but
Docker on Vagrant is possible too.
[1] -
https://gist.github.com/ryanlerch/577eb8cd9d8ff66023cb2f98dc78bfe5
I am all for vagrant or docker for my apps, I do think it would make things way easier for new contributors to get started.
I know I've been meaning to get faitout on docker so that one could run a local instance of faitout, but still haven't done it.
On the docker vs vagrant, I have no idea, I must confess I lack knowledge on both (played w/ docker once over a year ago, never with vagrant).
We can use Docker with vagrant too. But i don't know too much about Docker, so in my use of Vagrant, i pretty much have stuck with using libvirt with Vagrant to do what I need to do.
I have a few Vagrant setups working now too, and added a pagure repo with some instructions as well:
https://pagure.io/fedora-apps-vagrantfiles/tree/master
So far, I have ones for fedora-hubs, bodhi and a quick one for getting a modern_paste test instance up and running. I also should note that I am not a sysadmin, so i might be doing some of the steps in the provisioning a bit weird, so feel free to test these out and submit a PR or three ;)
cheers, ryanlerch
Pierre _______________________________________________ infrastructure mailing list infrastructure@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/infrastructure@lists.fedoraprojec...
I suggest we decide what we want on the box, set up Ansible as a provisioner, and release side by side on both formats. I work with Packer a LOT in my day job and part of the benefit of that tooling is cross platform builds. With Packer I can write files to generate both dockers and vagrant boxes for dev. If someone can do the Ansible side of this, I can build the Packerfiles. That would make it easy to generate and update the dev standard boxes.
I have two other thoughts on this: we ought to build the box with a standardized credentialing setup, so that when someone wants to put their creds in, they know how and where to put them (I mean keys or other creds). At my day job where I have done quite a lot of work on infrastructure development environments, I have the vms setup with a folder at ~ called .cloud8 (which is the name of the utility we use for deploys) and all the creds go there. That means I can write automations to a fixed path for credentialling and it gives my devs guidance for where their vital creds are.
Secondly, I provision infrastructure dev boxes as dependency replicas of the buildserver, which is core to the infrastructure integrity. The same provisioning is done for infrastructure dev as what I use to build the buildserver, but I just don't install the buildserver or the heavy infrastructure security stuffs. This means the dev environment resembles a base server, and any other dependencies added are explicit. It helps to avoid accidental upgrades or configuration conflicts when infrastructure services are released.
Kudos for considering vms or containers. Infrastructure development environments are usually deeply personal and undocumented, which makes it hard to collaborate and ramp up, not to mention the noise and dependency messes that come out of diverse boxes on a team. Small mistakes are big breaks in infrstructure programming, and a sane dev environment means saner engineers haha!
On Mon, Jun 6, 2016 at 8:59 PM, Ryan Lerch rlerch@redhat.com wrote:
On Tue, Jun 7, 2016 at 2:57 PM, Ryan Lerch rlerch@redhat.com wrote:
On Thu, Apr 14, 2016 at 5:53 PM, Pierre-Yves Chibon pingou@pingoured.fr wrote:
On Thu, Apr 14, 2016 at 11:37:11AM +1000, Ryan Lerch wrote:
As a designer, when I jump into doing a UI review, or hacking on the templates / CSS of a new project, one of the most painful steps for
me is
getting my dev environment set up.
Most of our webapps do have very good documentation on getting a dev environment set up, but invariably this takes a good chunk of time
and
fiddling for me (being someone that is not super-familiar with
setting up
and running the back-ends of webapps). This is especially relevant
if what
i am trying to fix is just a simple template change, and TBH
manually
tweaking postgres config files is not really my idea of a good
time. :)
Long story short, i am asking for comments and thoughts on how to
make
setting up a dev environment simpler and easier (and perhaps even standardized between all our apps).
I recently started playing with Vagrant, and made this vagrant
setup[1]
for bootstrapping a bodhi dev envirionment using Vagrant on top of vagrant-libvirt, and it works pretty well for me -- i can just use
one
command to spin up a new clean instance of a bodhi dev environment,
with
the DB configured and populated and ready to go. Note that i chose
libvirt
with Vagrant here, primarily because i am not well versed in
Docker, but
Docker on Vagrant is possible too.
[1] -
https://gist.github.com/ryanlerch/577eb8cd9d8ff66023cb2f98dc78bfe5
I am all for vagrant or docker for my apps, I do think it would make things way easier for new contributors to get started.
I know I've been meaning to get faitout on docker so that one could run a local instance of faitout, but still haven't done it.
On the docker vs vagrant, I have no idea, I must confess I lack knowledge on both (played w/ docker once over a year ago, never with vagrant).
We can use Docker with vagrant too. But i don't know too much about Docker, so in my use of Vagrant, i pretty much have stuck with using libvirt with Vagrant to do what I need to do.
I have a few Vagrant setups working now too, and added a pagure repo with some instructions as well:
https://pagure.io/fedora-apps-vagrantfiles/tree/master
So far, I have ones for fedora-hubs, bodhi and a quick one for getting a modern_paste test instance up and running. I also should note that I am not a sysadmin, so i might be doing some of the steps in the provisioning a bit weird, so feel free to test these out and submit a PR or three ;)
cheers, ryanlerch
Pierre _______________________________________________ infrastructure mailing list infrastructure@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/infrastructure@lists.fedoraprojec...
infrastructure mailing list infrastructure@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/infrastructure@lists.fedoraproje...
infrastructure@lists.fedoraproject.org