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

RSS

azure_file (1) Versions 0.1.0

Downloads the file from Azure Blob Storage

Berkshelf
Policyfile
Knife
cookbook 'azure_file', '~> 0.1.0'
cookbook 'azure_file', '~> 0.1.0', :supermarket
knife cookbook site install azure_file
knife cookbook site download azure_file
README
Dependencies
Changelog
Quality 25%

azure_file cookbook

Description

This cookbook provides a Lightweight Resource and Provider to download files from Azure blob storage. It's a replacement for the s3_file cookbook for Azure.

Requirements

  • A Microsoft Azure account is required.
  • Requires Chef 0.7.10 or higher for Lightweight Resource and Provider support. Chef 0.8+ is recommended. Download and Install the Chef DK.

NOTE: azure-storage-common gem has runtime dependencies on azure-core and nokogiri both of which are embedded in the Chef DK Ruby gems.

Quickstart

mkdir cookbooks
cd cookbooks
git clone https://github.com/adobe/azure_file.git
chef-client --local-mode --override-runlist azure_file

While this cookbook can be used in chef-solo mode, to gain the most flexibility, we recommend using chef-client with a Chef Server.

Recipes

default.rb

The default recipe installs the azure-storage-common RubyGem, which this cookbook requires in order to work with the Azure API. Make sure that the azure_file recipe is in the node or role run_list before any resources from this cookbook are used.

"run_list": [
  "recipe[azure_file]"
]

The gem_package is created as a Ruby Object and thus installed during the Compile Phase of the Chef run.

Resources and Providers

This cookbook provides one resource and a corresponding provider.

azure_file

This resource is a wrapper around the core remote_file resource that will generate an expiring link for you to retrieve your file from protected blob storage.

Actions:

  • create - create the file
  • create_if_missing - create the file if it does not already exist. default
  • delete - delete the file
  • touch - touch the file

Attribute Parameters:

  • storage_account - the azure storage account you are accessing
  • access_key - the access key to this azure storage account
  • path - where this file will be created on the machine
  • remote_path - the path of the file/key to pull including folder
  • container - the name of the azure blob storage container/bucket from where to pull

The following parameters are inherited from the remote_file resource:

  • owner
  • group
  • mode
  • checksum
  • backup
  • inherits
  • rights

Example:

azure_file '/tmp/secret_file.jpg' do
  storage_account 'secretstorage'
  access_key 'eW91cmtleWluYmFzZTY0.....'
  container 'images'
  remote_path 'secret_file.jpg'
end

Unit Test

Unit tests are defined under the ./spec folder.

To execute unit tests, run the following command:

chef exec rspec

Code Style

To verify the code style of cookbook, just run the command:

cookstyle

Contributing

Contributions are welcomed! Read the [Contributing Guide](CONTRIBUTING.md) for more information.

Licensing

This project is licensed under the Apache V2 License. See [LICENSE](LICENSE) for more information.

Author

Akash Lalwani (alalwani@adobe.com)

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

0.1.0

  • Cookbook to download the file from azure blob storage. Initial commit.

Collaborator Number Metric
            

0.1.0 failed this metric

Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

0.1.0 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.1.0 failed this metric

FC064: Ensure issues_url is set in metadata: azure_file/metadata.rb:1
FC065: Ensure source_url is set in metadata: azure_file/metadata.rb:1
FC066: Ensure chef_version is set in metadata: azure_file/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: azure_file/metadata.rb:1
Run with Foodcritic Version 14.0.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

0.1.0 passed this metric

Publish Metric
            

0.1.0 passed this metric

Supported Platforms Metric
            

0.1.0 failed this metric

azure_file should declare what platform(s) it supports.

Testing File Metric
            

0.1.0 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.1.0 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 include a tag that matches this cookbook version number