Skip to content
118 changes: 100 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,111 @@
# chef-services
# Context

The repo, Chef-Services, will become the recommended way to install both the Open Source and commercial Chef Products.
It provides full automation of the install.
It works both behind the firewall on pre-provisioned machines and out on the internet.
It is a work in progress.

For provisioning:
* It will set up today in any environment where the machines are already provisioned, including VMware.
* Server provisioning is presently out of scope from this repository. Just supply IP addresses.
* this is covered in https://github.com/echohack/tf_chef_automate
* it supports the provisioning step today only on AWS
* features include private networking and basic security: see the repo for details.
* In the future it will provision other computing resources using Terraform
* this is not yet supported. https://github.com/stephenlauck/chef-services/issues/44
* If you are creating machines manually:
* the following are suggested names, sizes and O/S:
* chef-server 2g Centos-7
* automate 2g Centos-7
* build-node 2g Centos-7
* supermarket 2g Centos-7
* compliance 2g Centos-7
* Make a note of the names / IP addresses, these become parameters to installer.sh:
```
kitchen list
kitchen converge
installer.sh \
-c|--chef-server-fqdn REQUIRED: The FQDN you want the Chef Server configured to use.
-a|--chef-automate-fqdn The FQDN of the Chef Automate server.
-b|--build-node-fqdn The FQDN of the build node.
```
### Sets up:
* (See Installer.sh for more options)

1. chef-server
4. automate
5. build-node
3. supermarket
6. compliance
## Objectives
* This suite is for people that want a full set of Commercial products for Chef.
* This installs:
* Chef Server,
* Chef Supermarket
* Chef Automate (Workflow, Visibility and Compliance)

### Add this to your local workstation /etc/hosts
## Product Maturity
* This in active test on some large customer sites.
* It is still considered preproduction and needs hand-holding to install

## Environments
* Presently works on Ubuntu 14, Centos 6 & 7.
* Some issues on Ubuntu 16.

## Installation

You perform the installation from a Chef Server. It will either provision and use or just use the other machines in the /etc/hosts file.
Chef Server itself does not have to (but can) be installed prior to running

## Pre-requisites
list the things I need to have / know before starting
* You must be prepared to run Chef Server for controlling your nodes (no Chef Solo)
* It must be a Chef 12 server
* An accessible domain (assumed ".services.com") must be in a DNS server reachable by the servers
* All servers need access via the ssh keys held on the Chef Server server

## Manual Preparation
list the things I need to do before
* change .services.com in (which?) files
* plan IP addresses for the VMs used for the services

## How to install
* what do I log into
* ``ssh your-empty-chef-server``
* what do I clone
* ``git clone https://github.com/stephenlauck/chef-services.git``
* preparation
Set up your /etc/hosts file
* what do I run
* ``kitchen create 72``

For the scenario you described where you have 3-5 existing machines, you could use the one liner

``curl -O https://raw.githubusercontent.com/stephenlauck/chef-services/master/files/default/installer.sh && sudo bash ./installer.sh -c 33.33.33.10 -a 33.33.33.11 -b 33.33.33.12 -u vagrant -p vagrant``

executed on whatever machine you want to be the chef server, and give the inputs of the FQDN or IP of the other machines and the user/pass for the root user

## Troubleshooting
- known issues
- order of things to check
- how to ask for help

### Testing and Development
See TESTING.md

?? It's not clear if these are only for development and testing
```
33.33.33.10 chef.services.com
33.33.33.11 automate.services.com
33.33.33.12 build.services.com
33.33.33.13 supermarket.services.com
33.33.33.14 compliance.services.com
kitchen list - shows AWS nodes
kitchen converge - see TESTING.md
```

#### Login to chef-server



#### Example Output

`` blah blah ``

## Success!

You can now login to the Chef services with the details shown below.

## Next Steps
* Change passwords.
* Enjoy

##### user/password: delivery/delivery
[http://chef.services.com](http://chef.services.com)

Expand All @@ -47,6 +131,4 @@ kitchen converge

`ssh [email protected] "sudo /tmp/installer.sh -c 33.33.33.10"`

or

`curl -O https://raw.githubusercontent.com/stephenlauck/chef-services/master/files/default/installer.sh && sudo bash ./installer.sh -c 33.33.33.10 -a 33.33.33.11 -b 33.33.33.12 -u vagrant -p vagrant`
22 changes: 22 additions & 0 deletions TESTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
### Sets up:

kitchen converge - does what??

1. chef-server
4. automate
5. build-node
3. supermarket
6. compliance

## Process

If you don't have DNS pointing to the computing resources.
### Add this to your local workstation /etc/hosts

```
33.33.33.10 chef.services.com
33.33.33.11 automate.services.com
33.33.33.12 build.services.com
33.33.33.13 supermarket.services.com
33.33.33.14 compliance.services.com
```