Provision an instance for the Chef Server (must be >= 1G ram).
-
Create instance with Ubuntu 12.04 amd64
-
Install Chef Server:
wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chef-server_11.0.11-1.ubuntu.12.04_amd64.deb -O /tmp/chef.deb ; sudo dpkg -i /tmp/chef.deb
-
Configure Chef Server:
sudo chef-server-ctl reconfigure
-
Copy
/etc/chef-server/admin.pem
and/etc/chef-server/chef-validator.pem
to client (I use a docker container) -
Start Docker instance to configure:
docker run -i -t -v /path/to/certs:/deis stackbrew/ubuntu:13.10 bash
-
Install deps:
sudo apt-get install -y ruby1.9.1 ruby1.9.1-dev rubygems git-core
-
Clone deis:
cd /var/tmp ; git clone https://github.com/opdemand/deis.git
-
Install gems:
cd deis && bundle install
-
Configure Knife:
knife configure --initial
- Config File:
- Chef server url:
- New User: deis
- Existing user: admin
- Path to admin cert: /deis/<your-admin-cert.pem>
- Validation clientname: chef-validator
- Path to validation key: /deis/<your-validation-key.pem>
- Chef repository:
- Password:
- Test:
knife client list
(you should see at least the chef-validator) - Install:
berks install && berks upload --ssl-verify=no
Start a new instance (Ubuntu 12.04 amd64)
- Use the
contrib/digitalocean/prepare-controller-image.sh
to install the controller requirements - Bootstrap:
knife bootstrap <controller-ip> --bootstrap-version 11.8.2 --ssh-user ubuntu --sudo --identity-file /path/to/ssh/key --node-name deis-controller --run-list "recipe[deis::controller]"