[chef] How best to reprepresent a hosted site in Chef?


Chronological Thread 
  • From: Dmitry V'yal < >
  • To:
  • Subject: [chef] How best to reprepresent a hosted site in Chef?
  • Date: Wed, 02 Jun 2010 13:14:14 +0400
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; b=rRyoei0ydiGGsLXIfP/U85cELbVhh3+XLLI8voe6TJYFTAikEE0bUM6mk7n3PW8PZ6 xns84v/R+SLPUPjMONvgxNn0HTow5B7lFa1pdi2jk1QXURDU34LoYIyZMIOrJyNjUgAm YBKC/w8Va2y/M5B7gOoSUcTo6xFDdJRMc4wOk=

Hello,

thanks to anyone, with your advices finally I've finished preparations and I've started cooking my server.

I described some basic stuff like web server configuration till now.

Now I have more questions. It's main function is serving about two dozens of sites we developed and currently supporting. Adding a new site is multi-step process. Script I wrote adds an user, setups a repository, creates a database, adds a config for webserver and log analysis system.

There is currently no way to remove the site and no central repository where the current configuration is stored. Also, there is a separate host used for backups, it makes commits through ssh on a regular basis and fetches them from the server. It's scripts need tweaking after adding a new site too.

I feel all this chaos can be greatly reduced with Chef. I hope, at least. But I'm not sure, how best to represent "the site" in terms of chef. For me it looks like some kind of resource having it's attributes like domain name, ip, username, passwords(?). Is it feasible to write an extension to Chef? I've read it's quite easy.

But also site can be described in terms of operations needed to set it up, like add this user, create this file, put that file there and so on. This way I may use Chef as is, but such imperative descriptions give me an uncomfortable feeling.

I'd like to hear some thoughts from the community regarding my situation and pros and conses of various approaches possible.

Best wishes,
Dmitry



Archive powered by MHonArc 2.6.16.

§