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

codenamephp_dev (12) Versions 2.4.0

Installs all dev tools for infomax project development like browsers, git, openjdk, ...

Berkshelf
Policyfile
Knife
cookbook 'codenamephp_dev', '= 2.4.0'
cookbook 'codenamephp_dev', '= 2.4.0', :supermarket
knife supermarket install codenamephp_dev
knife supermarket download codenamephp_dev
README
Dependencies
Quality 50%

Chef Cookbook Dev

Build Status

Cookbook that contains recipes for dev tools, like vscode, chrome, openjdk ...

Requirements

Supported Platforms

  • Debian Buster
  • (Probably works still works for older debian versions but this is not tested)

Chef

  • Chef 13.0+

Cookbook Depdendencies

Tools

Usage

Add the cookbook to your Berksfile:

cookbook 'codenamephp_dev'

Add the tools cookbook to your runlist, e.g. in a role:

{
  "name": "default",
  "chef_type": "role",
  "json_class": "Chef::Role",
  "run_list": [
      "recipe[codenamephp_dev::chrome]"
  ]
}

Note that the default recipe is a No-Op, so you need to add the tools you want. This cookbook is moving to resources and most recipes are only shortcuts for those resources so the preferred way is to create a wrapper cookbook and just resources since it is more flexible and stable that way.

Attributes

resolver

  • ['resolver']['nameservers'] The array of ips to add to the resolver config. Defaults to ['127.0.0.1', '8.8.8.8', '8.8.4.4', '10.0.2.3']. This is now deprecated.
  • ['codenamephp']['dev']['vscode']['extensions'] Is a hashmap with the usernames as keys and the extensions for each users as array. Defaults to {} so no extensions are installed. This is now deprecated. Build a wrapper cookbook and use the resources Example: ['codenamephp']['dev']['vscode']['extensions'] = {'user1' => ['ext1', 'ext2']}

Resources

Jetbrains Toolbox

The codenamephp_dev_jetrbains_toolbox resource installs or uninstalls the Jetbrains toolbox which can then be used to manage the Jetbrains products.

Actions

  • :install: Downloads the toolbox to a shared location and adds an X11 session script that installs the toolbox for the logged in user
  • :uninstall: Deletes the shared script and the login script. Already installed apps for the users are not removed

Properties

  • toolbox_path: The path where the files are downloaded to, extracted, ..., default: '/usr/share/jetbrains-toolbox'. If you have a custom path you need to provide it as well for the uninstall action.

Examples

# Minmal parameters
codenamephp_dev_jetbrains_toolbox 'install jetbrains-toolbox'

# Custom source and path
codenamephp_dev_jetbrains_toolbox 'install jetbrains-toolbox' do
  toolbox_path '/my/custom/executable/path'
end

# Uninstall
codenamephp_dev_jetbrains_toolbox 'uninstall jetbrains-toolbox' do
  toolbox_path '/my/custom/executable/path'
end

Chrome

The codenamephp_dev_chrome resource installs or uninstalls the Google Chrome Browser and its apt repository.

Actions

  • :install: Adds the apt repository and installs the browser via apt
  • :remove: Removes the apt repository and the chrome package via apt

Examples

# Minmal parameters
codenamephp_dev_chrome 'install chrome'

# Uninstall
codenamephp_dev_chrome 'install chrome' do
  action :remove
end

VisualStudio Code

The codenamephp_dev_vscode resource installs or uninstalls the VisualStudio Code IDE and extensions. The IDE and extensions are installed by the codenamephp_dev_vscode_extensions resource. Both are extensions to the resources in the sc_vscode Cookbook by Sous Chefs.

Actions

  • :install: Adds the apt repository and installs the IDE via apt
  • :uninstall: Removes IDE package via apt

Properties

  • users_extensions: Hash with the users as keys and an array of extension names as strings as values that will be installed

Examples

# Minimal parameters
codenamephp_dev_vscode 'Install VSCode'

# With extensions
codenamephp_dev_vscode 'Install extensions' do
  users_extensions 'user1' => %w[ext1 ext2], 'user2' => %w[ext2, ext3]
end

# Uninstall
codenamephp_dev_vscode 'Uninstall VSCode' do
  action :uninstall
end

VisualStudio Code Extensions

The codenamephp_dev_vscode_extensions resource installs or uninstalls extensions for the VisualStudio Code IDE. It's an extension to the resource in the sc_vscode Cookbook by Sous Chefs.

Actions

  • :install: Installs the given extensions for the given users
  • :uninstall: removes the given extensions for the given users

Properties

  • users_extensions: Hash with the users as keys and an array of extension names as strings as values that will be uninstalled

Examples

# Minmal parameters
codenamephp_dev_vscode_extensions 'Install extensions' do
  users_extensions 'user1' => %w[ext1 ext2], 'user2' => %w[ext2, ext3]
end

# Uninstall
codenamephp_dev_vscode_extensions 'Uninstall extensions' do
  action :uninstall
  users_extensions 'user1' => %w[ext1 ext2], 'user2' => %w[ext2, ext3]
end

Recipes

The recipes are just shortcuts for simple use cases so the tools can be installed e.g. with the chef server gui. For more complex use cases the resources should be used.

Default

The default cookbook (as stated multiple times) is a No-Op. Pick and choose the tools you want via the recipes.

Chrome

Adds the google apt repository and installs Google Chrome from package.

DNSMasq

This recipe is deprecated.

Purges the Avahi Deamon which is installed at least on Ubuntu and tends to occupy ports. Also the resolver Cookbook is used to add localhost, Google DNS and 10.0.2.3 which is needed in [VirtualBox][virutalbox_url] for network operations to work. The IPs can be overridden/added to via the attributes.

At last, DNSMasq is installed and the local domain and all subdomains is resolved to 127.0.0.1.

gnome-terminal

Just installs the gnome-terminal from package.

Unzip

Just installs unzip from package (no gui client is installed)

VSCode

Installs VSCode from package using the Sous Chefs vscode cookbook. Extensions can also be installed by giving the users and extensions as hashmap in the attributes.

Jetbrains Toolbox

The jetbrains_toolbox recipe installs the jetbrains toolbox to a shared location and adds an X-Server startup script so it will be installed for each user on first login.

Collaborator Number Metric
            

2.4.0 failed this metric

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

Contributing File Metric
            

2.4.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
            

2.4.0 passed this metric

No Binaries Metric
            

2.4.0 passed this metric

Publish Metric
            

2.4.0 passed this metric

Supported Platforms Metric
            

2.4.0 passed this metric

Testing File Metric
            

2.4.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
            

2.4.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