-
abs(float)- Returns the absolute value of a given float. Example:abs(1)returns1, andabs(-1)would also return1, whereasabs(-3.14)would return3.14. See also thesignumfunction. -
basename(path)- Returns the last element of a path. -
base64decode(string)- Given a base64-encoded string, decodes it and returns the original string.
| node: Platform built on V8 to build network applications | |
| git: Distributed revision control system | |
| wget: Internet file retriever | |
| yarn: JavaScript package manager | |
| python3: Interpreted, interactive, object-oriented programming language | |
| coreutils: GNU File, Shell, and Text utilities | |
| pkg-config: Manage compile and link flags for libraries | |
| chromedriver: Tool for automated testing of webapps across many browsers | |
| awscli: Official Amazon AWS command-line interface | |
| automake: Tool for generating GNU Standards-compliant Makefiles |
| import os | |
| import boto3 | |
| import datetime | |
| import dateutil | |
| DEFAULT_MAX_MEM = 3000 | |
| LOW_CLUSTER_CPU_TH = 20 | |
| HIGH_CLUSTER_CPU_TH = 65 | |
| CONTAINERS_MAX_MEM = { | |
| 'cluster1': 1200, |
This has been moved into the official Chef docs:
https://docs.chef.io/custom_resources_notes.html
This is by far the most recommended way of writing resources for all users. There are two gotchas which we're working through:
- For helper functions that you used to write in your provider code or used to mixin to your provider code, you have to use an
action_class do ... endblock.
- Install Python 3.7.x from https://www.python.org/downloads/ or via homebrew.
$ brew install python3 # Installed at /usr/local/Cellar/python3
Check that python3 has been installed by running it at the terminal:
$ python3
>>> Python 3.7.2
- Download
get-pip.pyfrom https://bootstrap.pypa.io/get-pip.py and install (this should already be installed if python was installed from python.org or homebrew):
| #!groovy | |
| # Best of Jenkinsfile | |
| # `Jenkinsfile` is a groovy script DSL for defining CI/CD workflows for Jenkins | |
| node { | |
| } |
This gist uses TK+Berkshelf to drive creating a vagrant virts and converging a simple recipe to install and configure NTPd. This is a simple cookbook that has one recipe, one template (for ntp.conf) and one attribute file. It works on Ubuntu 12.04 and CentOS 6.4 (and derviatives) and the attribute file is used to support both distros.
This should work on Mac (where I developed it) and any chef-supported Linux that you can get Vagrant onto (Ubuntu/CentOS).
Because I use ChefDK and Test Kitchen, I can largely ignore setting up Vagrant and Berkshelf and can get right to work on writing recipe code.
| wget http://stedolan.github.io/jq/download/linux64/jq | |
| aws ec2 describe-instances --filters "Name=tag:Name,Values=$NAME" \ | |
| "Name=instance-state-name,Values=running" \ | |
| | jq -r \ | |
| ".Reservations[] | .Instances[] | .InstanceId" \ | |
| aws ec2 describe-volumes --filters \ | |
| "Name=status,Values=available" \ | |
| | jq -r ".Volumes[] | .VolumeId" \ |
| #!/bin/sh | |
| echo Install all AppStore Apps at first! | |
| # no solution to automate AppStore installs | |
| read -p "Press any key to continue... " -n1 -s | |
| echo '\n' | |
| echo Install and Set San Francisco as System Font | |
| ruby -e "$(curl -fsSL https://raw.github.com/wellsriley/YosemiteSanFranciscoFont/master/install)" | |
| echo Install Homebrew, Postgres, wget and cask | |
| ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" |