summaryrefslogtreecommitdiff
path: root/RELEASE_NOTES.md
blob: 049640d7ab5a5bed12b6ed61080543c333503edb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Chef Client Release Notes 12.4.0:

## Knife Key Management Commands for Users and Clients

`knife user` and `knife client` now have a suite of subcommands that live under
the `key` subcommand. These subcommands allow you to list, show, create, delete
and edit keys for a given user or client. They can be used to implement
key rotation with multiple expiring keys for a single actor or just
for basic key management. See `knife user key` and `knife client key`
for a full list of subcommands and their usage.

## System Loggers

You can now have all Chef logs sent to a logging system of your choice.

### Syslog Logger

Syslog can be used by adding the following line to your chef config
file:

```ruby
log_location Chef::Log::Syslog.new("chef-client", ::Syslog::LOG_DAEMON)
```

THis will write to the `daemon` facility with the originator set as
`chef-client`.

### Windows Event Logger

The logger can be used by adding the following line to your chef config file:

```ruby
log_location Chef::Log::WinEvt.new
```

This will write to the Application log with the source set as Chef.

## RemoteFile resource supports UNC paths on Windows

You can now use UNC paths with `remote_file` on Windows machines. For
example, you can get `Foo.tar.gz` off of `fooshare` on `foohost` using
the following resource:

```ruby
remote_file 'C:\Foo.tar.gz' do
  source "\\\\foohost\\fooshare\\Foo.tar.gz"
end
```

## WindowsPackage resource supports URLs

The `windows_package` resource now allows specifying URLs for the source
attribute. For example, you could install 7zip with the following resource:

```ruby
windows_package '7zip' do
  source "http://www.7-zip.org/a/7z938-x64.msi"
end
```

Internally, this is done by using a `remote_file` resource to download the
contents at the specified url. If needed, you can modify the attributes of
the `remote_file` resource using the `remote_file_attributes` attribute. 
The `remote_file_attributes` accepts a hash of attributes that will be set
on the underlying remote_file. For example, the checksum of the contents can 
be verified using

```ruby
windows_package '7zip' do
  source "http://www.7-zip.org/a/7z938-x64.msi"
  remote_file_attributes {
    :path => "C:\\7zip.msi",
    :checksum => '7c8e873991c82ad9cfcdbdf45254ea6101e9a645e12977dcd518979e50fdedf3'
  }
end
```

To make the transition easier from the Windows cookbook, `windows_package` also 
accepts the `checksum` attribute, and the previous resource could be rewritten
as:

```ruby
windows_package '7zip' do
  source "http://www.7-zip.org/a/7z938-x64.msi"
  checksum '7c8e873991c82ad9cfcdbdf45254ea6101e9a645e12977dcd518979e50fdedf3'
end
```