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(a)redhat.com> wrote:
On Tue, Jun 7, 2016 at 2:57 PM, Ryan Lerch <rlerch(a)redhat.com> wrote:
>
>
> On Thu, Apr 14, 2016 at 5:53 PM, Pierre-Yves Chibon <pingou(a)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(a)lists.fedoraproject.org
>>
>>
http://lists.fedoraproject.org/admin/lists/infrastructure@lists.fedorapro...
>>
>
>
_______________________________________________
infrastructure mailing list
infrastructure(a)lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/infrastructure@lists.fedorapr...