|
1 | 1 | --- |
2 | 2 | layout: default |
3 | | -title: "Installing Puppet agent: macOS" |
| 3 | +title: "Installing OpenVox agent: macOS" |
4 | 4 | --- |
5 | 5 |
|
6 | | -[server_install]: {{puppetserver}}/install_from_packages.html |
7 | | -[where]: ./whered_it_go.html |
8 | 6 | [agent_settings]: ./config_important_settings.html#settings-for-agents-all-nodes |
9 | 7 |
|
10 | | -These instructions cover installing Puppet agent on macOS machines. |
| 8 | +These instructions cover installing `openvox-agent` on macOS systems. |
11 | 9 |
|
12 | | -1. Before installing Puppet agent, read the [pre-install tasks](./install_pre.html) and [install Puppet Server][server_install]. |
| 10 | +1. Before installing `openvox-agent`, read the [pre-install tasks](./install_pre.html). |
13 | 11 |
|
14 | | - > **Note:** If you've used older Puppet versions, Puppet 4 changed the locations for a lot of the most important files and directories. [See this page for a summary of the changes.][where] |
| 12 | +2. Download the current macOS package from |
| 13 | + <https://downloads.voxpupuli.org/mac>. |
15 | 14 |
|
16 | | -2. Download the macOS [`puppet-agent` package](https://downloads.puppetlabs.com/mac/) specific to your version of macOS. |
| 15 | + The macOS package bundles the runtime it needs, so you do not need to install |
| 16 | + Ruby or other OpenVox dependencies separately. |
17 | 17 |
|
18 | | - The `puppet-agent` package bundles all of Puppet's prerequisites, so you don't need to download anything else to install Puppet on an agent node. |
| 18 | +3. Install the package. |
19 | 19 |
|
20 | | - OS X packages are named according to their `puppet-agent` version and compatible OS X version: |
| 20 | + You can use the graphical installer or install from the command line. |
21 | 21 |
|
22 | | - `puppet-agent-<PACKAGE VERSION>.osx<OS X VERSION>.dmg` |
| 22 | +## Graphical installation |
23 | 23 |
|
24 | | - For example: |
| 24 | +1. Open the downloaded disk image. |
| 25 | +2. Run the included installer package. |
| 26 | +3. Follow the prompts to complete the installation. |
25 | 27 |
|
26 | | - `puppet-agent-1.3.2.osx10.11.dmg` |
| 28 | +## Command-line installation |
27 | 29 |
|
28 | | - Note that the filename uses "osx" on newer versions of the operating system, which are called macOS. |
| 30 | +1. Mount the disk image: |
29 | 31 |
|
30 | | - To see which versions of Puppet and its related tools and components are in a given `puppet-agent` release, as well as release notes for each release, [see About Puppet agent](./about_agent.html). |
| 32 | + ```bash |
| 33 | + sudo hdiutil mount <DMG FILE> |
| 34 | + ``` |
31 | 35 |
|
32 | | - > **Previous package names** |
33 | | - > |
34 | | - > We used some different naming schemes in the puppet-agent 1.2 series before settling on the current convention established in 1.2.5. |
35 | | - > |
36 | | - > - 1.2.0 through 1.2.2: `puppet-agent-<VERSION>-osx-<OS X VERSION>-<ARCH>.dmg`. Redundant; OS X only runs on x86_64. |
37 | | - > - 1.2.4: `puppet-agent-<VERSION>-<OS X CODE NAME>.dmg`. This was too hard for automated tooling to deal with, because OS X's built-in CLI tools don't report the code name. |
| 36 | +2. Install the package from the mounted image: |
38 | 37 |
|
39 | | -3. Make sure you can run Puppet executables. |
| 38 | + ```bash |
| 39 | + sudo installer -pkg /Volumes/<IMAGE>/<PKG FILE> -target / |
| 40 | + ``` |
40 | 41 |
|
41 | | - Puppet's executables are located in `/opt/puppetlabs/bin/`, which is not in your `PATH` environment variable by default. |
| 42 | +3. Unmount the disk image when you are done: |
42 | 43 |
|
43 | | - This doesn't matter for Puppet services, so enabling or disabling Puppet agent with `launchctl` works fine. However, if you're running any interactive `puppet` commands, you need to either add the location to your `PATH` or refer to the executables by their full locations. |
| 44 | + ```bash |
| 45 | + sudo hdiutil unmount /Volumes/<IMAGE> |
| 46 | + ``` |
44 | 47 |
|
45 | | - > **Note:** If upgrading from Puppet 3, see [our page about which files and directories moved in Puppet 4 and later][where]. |
| 48 | +## After installation |
46 | 49 |
|
47 | | -4. Install Puppet. |
| 50 | +1. Add `/opt/puppetlabs/bin` to your `PATH` if you want to run `puppet` and |
| 51 | + `facter` without the full path. |
48 | 52 |
|
49 | | - There are three ways to install Puppet on OS X: |
| 53 | +2. Configure the server name in `puppet.conf` if your server is not reachable |
| 54 | + as `puppet`. For commonly changed settings, see the |
| 55 | + [agent settings list][agent_settings]. |
50 | 56 |
|
51 | | - - With the GUI installer. |
52 | | - - On the command line. |
53 | | - - With Puppet (if upgrading). |
| 57 | +3. Run a test agent execution if this node will talk to an OpenVox Server: |
54 | 58 |
|
55 | | - Regardless which you choose, installing the package will start the `puppet` and `mcollective` services. You can later disable these services with `launchctl` or with `sudo puppet resource service <NAME> ensure=stopped enable=false`. |
| 59 | + ```bash |
| 60 | + sudo /opt/puppetlabs/bin/puppet agent --test |
| 61 | + ``` |
56 | 62 |
|
57 | | -5. Configure critical agent settings. |
| 63 | +4. Sign the certificate on the CA if your deployment uses manual certificate approval. |
58 | 64 |
|
59 | | - Set the `server` setting to your master's hostname. The default value is `server = puppet`, so if your master is reachable at that address, you can skip this. |
60 | | - |
61 | | - For other settings you might want to change, see [the list of agent-related settings.][agent_settings] |
62 | | - |
63 | | -6. Sign certificates (on the CA master) |
64 | | - |
65 | | - As each agent runs for the first time, it will submit a certificate signing request (CSR) to the certificate authority (CA) Puppet master. You'll need to log into that server to check for certs and sign them. |
66 | | - |
67 | | - - Run `sudo /opt/puppetlabs/bin/puppet cert list` to see any outstanding requests. |
68 | | - - Run `sudo /opt/puppetlabs/bin/puppet cert sign <NAME>` to sign a request. |
69 | | - |
70 | | - After an agent's certificate is signed, it regularly fetches and applies configurations from the Puppet master. |
71 | | - |
72 | | -## Installing with the GUI |
73 | | - |
74 | | -The Puppet installer on macOS provides a graphic user interface to help with manual installation. |
75 | | - |
76 | | -1. Double-click the `puppet-agent` disk image you downloaded. This mounts it at `/Volumes/<DMG NAME>`. |
77 | | - |
78 | | - A Finder window appears showing the disk's contents: a single `puppet-agent-<VERSION>-installer.pkg` file. |
79 | | - |
80 | | -2. Double-click the package file, and follow the installer prompts to install it. When installation finishes, Puppet agent and MCollective will be running. |
81 | | - |
82 | | -3. After installing, unmount and delete the disk image. |
83 | | - |
84 | | -## Installing on the command line |
85 | | - |
86 | | -Alternately, you can use the `hdiutil` and `installer` commands to mount the disk image and install the package from the command line. |
87 | | - |
88 | | -1. Mount the disk image by running `sudo hdiutil mount <DMG FILE>`. |
89 | | - |
90 | | -2. Locate the `.pkg` file in the mounted volume and install it by running `sudo installer -pkg /Volumes/<IMAGE>/<PKG FILE> -target /`. |
91 | | - |
92 | | - When installation finishes, Puppet agent and MCollective will be running. |
93 | | - |
94 | | -3. After installing, run `sudo hdiutil unmount /Volumes/<IMAGE>` to unmount the disk image. |
95 | | - |
96 | | -4. Optionally, you can then delete the `.dmg` file. |
97 | | - |
98 | | -## Upgrading with Puppet |
99 | | - |
100 | | -Puppet includes a `package` resource provider for macOS that can install `.pkg` files from a disk image. If you already have Puppet installed, you can use the `puppet resource` command to upgrade with fewer steps. |
101 | | - |
102 | | -1. Locate the disk image you downloaded, and note both the filename and its full path on disk. Then, run: |
103 | | - |
104 | | - `sudo puppet resource package "<NAME>.dmg" ensure=present source=<FULL PATH TO DMG>` |
| 65 | +If you are replacing legacy Puppet packages on the machine, back up `/etc/puppetlabs/` |
| 66 | +before you begin. OpenVox continues using the same configuration paths. |
0 commit comments