Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

managed_directory (6) Versions 0.3.1

Provides the managed_directory resource

Policyfile
Berkshelf
Knife
cookbook 'managed_directory', '= 0.3.1', :supermarket
cookbook 'managed_directory', '= 0.3.1'
knife supermarket install managed_directory
knife supermarket download managed_directory
README
Dependencies
Changelog
Quality 50%

Description

Provides a custom resource to declare that a directory's contents are
entirely managed by Chef. When a node is converged, any files present
in the managed_directory that are not managed by Chef will be removed.

Requirements

Platform

Known to work on CentOS and OS X. Should work on other Unix-like
systems.

Resource

managed_directory

Ensure that a directory contains only files put there by Chef in this
run. Any other files will be removed.

Actions

  • :clean - Remove any unmanaged files.

Attribute Parameters

  • path - (name attribute) The absolute path to the directory to be managed.
  • clean_files - Boolean to determine whether unmanaged files should be removed. Default is true.
  • clean_links - Boolean to determine whether unmanaged links should be removed. Default is true.
  • clean_directories - Boolean to determine whether unmanaged subdirectories should be removed. Default is false.

Usage

default

Include the default recipe in a run list to make the resource
available in your run.

test

The 'test' recipe illustrates use of the managed_directory resource.

test_directories

The 'test_directories' recipe illustrates use of the managed_directory
resource when having it clean up unwanted subdirectories.

Caveats

  • The directory to be managed must already exist. If you also need
    to ensure that the directory exists, use the Directory resource
    separately.

  • If you require subdirectories to be managed as well, be sure to set the
    clean_directories attribute to true

  • A file is considered to be managed if there is a resource with a
    name attribute equal to the file's full path. It will do the wrong
    thing if this assumption is not true for the contents of your
    directory.

  • Files managed by resources created after this resource is converged
    (eg, from within a ruby_block or resource later in the run list) will
    be incorrectly identified as "unmanaged", and then deleted. They
    will be recreated later in the run, but this creates a window where
    the file is missing.

License and Author

Authors:
- Zachary Stevens (zts)
- Gregory Ruiz-Ade (gkra)
- Heig Gregorian (hgregorian)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

MANAGED_DIRECTORY CHANGELOG

This file is used to list changes made in each version of the managed_directory cookbook.

v0.3.1

  • Fixed bug where a resource's 'identity' method returns a non-String (ex. package resource can accept an Array) causing an exception when using the 'start_with?' method.
  • Added CentOS 7.3 to test kitchen

v0.3.0

  • converted from LWRP to custom resource
  • fixed potential false positive where resource reported an update
  • fixed issue where non-path named resources were skipped
  • Chef 13 compatible

v0.2.1

  • Fix bug for subdirectories when clean_directories is false. This would cause the subdirectory to be handed to the file resource in the provider, which would then cause chef-client to abort.

v0.2.0

  • Added cleaning of subdirectories
  • Added separate handling of links, which were formerly handled by the file resource, as managing links via file resources is deprecated
  • Added attributes to control handling of files, directories and links
    • clean_files and clean_links default to true to preserve existing behavior
    • clean_directories defaults to false to preserve existing behavior
  • Updated tests to current ChefSpec and ServerSpec, following examples from ChefDK's chef generate cookbook output
  • Updated Test Kitchen to current CentOS (6.6)
  • Updated README.md for new behaviors
  • Added ChefSpec matchers for test-ability

v0.1.0

  • add chefspec tests
  • FIX don't blow up when resource names are symbols
    • Thanks to Mark Friedgan (hubrix) for this fix.

Check the Markdown Syntax Guide for help with Markdown.

The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.

Collaborator Number Metric
            

0.3.1 passed this metric

Contributing File Metric
            

0.3.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

0.3.1 failed this metric

FC069: Ensure standardized license defined in metadata: managed_directory/metadata.rb:1
Run with Foodcritic Version 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

0.3.1 passed this metric

Testing File Metric
            

0.3.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

0.3.1 passed this metric