FreeBSD + Jail + Chef

W tym momencie sytuacja wygląda tak:

Na FreeBSD zamontowana jest baza danych, dwie aplikacji, bazy danych itd.

Chciałem wykorzystać chefa do zautomatyzowania stawiania aplikacji na serwerze FreeBSD, tak, żeby po instalacji systemu znaczna większość rzeczy po odpowiednim spreparowaniu pliku chefa zostały wszystko automatycznie zainstalowane. Dodatkowo chcę odseparować aplikację od bazy danych, itd. W tym celu chcę wykorzystać wirtualizację dostępną we FreeBSD (jail’e).

Przejrzalem już railscasta dotyczącego chefa i potrafię uruchomić już chef-solo i cookbooki, oraz dałbym radę zrobić jakiegoś nowego cookbooka. Nie wiem tylko czy w przypadku wirtualizacji, nie trzeba będzie wykorzystać mechanizm chef-server i chef-client (raczej tego trzeba będzie wykorzystać). Nie znalazłem jakiegoś konkretnego przzykładu z wykorzystaniem chef-server i chef-client.

Zna ktoś z was jakiś dobry opis jak ustawić chef’a (nie chef-solo) podobny do tego z railscastów, bo niestety w handbooku chefa brakuje przykładu konfiguracji.

Jakby co jest jeszcze puppet. No i jak już automatyzacja to może od razu z wirtualizacją?
Virtualize your development environments with Vagrant & Puppet

Dokumentacja OpsCode Chefa jest wystarczająca.

@mleszcz: Puppet jest rozwiązaniem, vagrant nie jest darmowy tak do końca, a freebsd ma własny system wirtualizacji (jail, o którym napisałem w temacie), który jest całkowicie darmowy. Do puppeta kiedyś szukałem informacji, ale było jeszcze gorzej z przykładami (albo właściwych nie znalazłem), screencast jest dobry, ale lepszy jest tekst bo szybciej można znaleźć interesującą informację, (w końcu z jakiegoś powodu wprowadzili formę tekstową railscastów).

@filiptepper: Dokumentacja to jedno, ale bardziej wartościowe są przykłady, bo dokumentacja opisuje ci wszystko, każdą komendę z osobą i jest przydatna jeśli się już coś wie. A jak się zaczyna prawie od podstaw, to przykłady są podstawą, żeby zminimalizować czas potrzebny na przyswojenie sobie podstaw.

Nieoczekiwanie, znalazłem coś takiego: http://warwickp.com/2009/12/configuration-management-with-chef-on-debian-part-1
Wprawdzie to opis do debiana, ale zamiana komend na odpowiedniki freebsd nie stanowi problemu.

Ja bez problemu zacząłem z Chefem z tym. http://wiki.opscode.com/display/chef/Fast+Start+Guide
Łącznie z postawieniem chef-servera.

Tutaj powinny być wystarczające informacje: http://wiki.opscode.com/display/chef/Fast+Start+Guide
Spróbuj z darmowym planem Opscode (serwer chefa z 5 “nodeami” za darmo)

dzięki za pomoc, zdecydowanie pomże

Taka refleksja z innej beczki - FreeBSD i Jail - dobrana z nich para :slight_smile:

@apohllo, ururchamiałeś Rails >=3.1 na FreeBSD, bo mam problem z therubyracer (execjs), brakuje mu jakiegoś pliku i aplikacja nie chce się uruchomić, instalowałem parę rzeczy jak radzili w googlach, ale nie przyniosło to pozytywnych rezultatów.

libv8 jest dostępne na *BSD?

nie wiem czy to ma jakiś związek ale na megiteam miałem problem z therubyracer, pomogła jak zwykle :slight_smile: ich porada

[quote]Proszę spróbować odinstalować gema libv8 w wersji 64bity i zainstalować
32bitową wersję

gem install libv8 --platform i686[/quote]

Mam zainstalowany portlang/v8
Ustawienia testuje na maszynie wirtualnej, na której jest zainstalowany 32bitowy freebsd

Próbowałem również:

gem install libv8 --version '=3.3.10.4' --platform 'i686'

niestety bez rezultatów

Znalazłem rozwiązanie

Odinstalowałem porty:

  • lang/v8
  • devel/libexecinfo

Odinstalowałem gem:

  • libv8

Przeinstalowałem port

  • /www/node

I aplikacja już się uruchamia, nie wiem tylko jak z wydajnością przy zastosowaniu node.js zamiast therubyracer

Produkcyjnie i tak powinieneś kompilować assety, a w development nie ma to aż tak dużego znaczenia.

node jest dużo wolniejszy bo jest to zewnętrzne polecenie.

therubyracer
Benchmark.ms { 100.times { ExecJS.eval “‘red yellow blue’.split(’ ')” } }
=> 205.87900000000002

node
Benchmark.ms { 100.times { ExecJS.eval “‘red yellow blue’.split(’ ')” } }
=> 5533.162

Sam miałem swego czasu problemy z therubyracer ostatnio przyszło znów mi go instalować wiec zrobiłem forka

https://github.com/madmax/therubyracer-freebsd