~hopem/charms/precise/chef-server/trunk

« back to all changes in this revision

Viewing changes to README

  • Committer: Edward Hope-Morley
  • Date: 2013-01-28 15:36:38 UTC
  • Revision ID: edward.hope-morley@canonical.com-20130128153638-fcc1v3thjei6gq1j
created juju charm for chef-server

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Introduction
 
2
 
 
3
Chef is a DevOps tool used for configuring cloud services or to streamline the
 
4
task of configuring a company's internal servers. Chef automatically sets up
 
5
and tweaks the operating systems and programs that run in massive data centers.
 
6
 
 
7
Chef can run using a client/server model, or on a consolidated configuration
 
8
named "chef-solo". Chef can be integrated with Cloud-based platforms such as
 
9
Rackspace and Amazon EC2. Traditionally, Chef is used to manage Linux but later
 
10
versions support running on Windows as well.
 
11
 
 
12
The user writes "recipes" that describe how a Chef manages server applications
 
13
(such as Apache, MySQL, or Hadoop) and how they are to be configured. These
 
14
recipes describe a series of resources that should be in a particular state -
 
15
packages that should be installed, services that should be running, or files
 
16
that should be written. Chef makes sure each resource is properly configured,
 
17
and automatically discovers data points of the system.[2]
 
18
 
 
19
Chef can be used to create clones of Quality Assurance environments,
 
20
pre-production environments, and partner preview environments. Once automated,
 
21
a blueprint is created for the infrastructure, enabling the user to build, or
 
22
rebuild, automatically in minutes or hours.
 
23
 
 
24
 
 
25
# Configurable options
 
26
 
 
27
The Chef Server charm allows for certain values to be configurable via the
 
28
config.yaml file.
 
29
 
 
30
Most default values used in the config.yaml file are taken from those used in a
 
31
standard installation.
 
32
 
 
33
 
 
34
# Deployment
 
35
 
 
36
    # Bootstrap the juju environment. This is required before any other
 
37
    # operation can be performed.
 
38
    juju bootstrap
 
39
 
 
40
    # Check that the environment has been bootstrapped successfully.
 
41
    juju status
 
42
 
 
43
        machines:
 
44
          0:
 
45
            agent-state: running
 
46
            dns-name: <bootstrap-instance-ip-address>
 
47
            instance-id: <bootstrap-instance-id>
 
48
            instance-state: running
 
49
 
 
50
    # Now deploy the service
 
51
    juju deploy chef-server
 
52
 
 
53
    # Check the status
 
54
    juju status
 
55
 
 
56
    machines:
 
57
      0:
 
58
        agent-state: running
 
59
        dns-name: <bootstrap-instance-ip-address>
 
60
        instance-id: <bootstrap-instance-id>
 
61
        instance-state: running
 
62
      1:
 
63
        agent-state: running
 
64
        dns-name: <server-ip-address>
 
65
        instance-id: <service-instance-id>
 
66
        instance-state: running
 
67
    services:
 
68
      chef-server:
 
69
        charm: local:precise/chef-server-0
 
70
        exposed: false
 
71
        relations: {}
 
72
        units:
 
73
          chef-server/4:
 
74
            agent-state: started
 
75
            machine: 1
 
76
            public-address: <server-ip-address>
 
77
 
 
78
    # And then expose the service so that it is accessible over the internet.
 
79
    juju expose chef-server
 
80
 
 
81
    # And check status again
 
82
    juju status
 
83
 
 
84
        machines:
 
85
          0:
 
86
            agent-state: running
 
87
            dns-name: <bootstrap-instance-ip-address>
 
88
            instance-id: <bootstrap-instance-id>
 
89
            instance-state: running
 
90
          1:
 
91
            agent-state: running
 
92
            dns-name: <server-ip-address>
 
93
            instance-id: <service-instance-id>
 
94
            instance-state: running
 
95
        services:
 
96
          chef-server:
 
97
            charm: local:precise/chef-server-0
 
98
            exposed: true
 
99
            relations: {}
 
100
            units:
 
101
              chef-server/4:
 
102
                agent-state: started
 
103
                machine: 1
 
104
                open-ports:
 
105
                - 4040/tcp
 
106
                - 4000/tcp
 
107
                public-address: <server-ip-address>
 
108
 
 
109
 
 
110
# Troubleshooting
 
111
 
 
112
TBD
 
113
 
 
114