Article
Using Fake Cookbooks for Writing ChefSpec Tests for your Custom Chef Resources (3 mins read).
A directory structure I've found quite useful for writing ChefSpec tests for custom resources, by creating a fake cookbook within the cookbook you're testing.
Thu, 29 Nov 2018 21:18 by Jamie Tanna
.
#blogumentation
#chef
#custom-resource
#chefspec .
Article
Creating a versionable, self-contained (fat-/uber-) JAR for Gatling tests (17 mins read).
Why you'd want a fat JAR for your Gatling tests and how you'd achieve it.
Mon, 19 Nov 2018 22:46 by Jamie Tanna
.
#blogumentation
#java
#gatling
#testing
#jar
#artifact
#artefact
#maven
#uber-jar .
Article
Tweaking Gatling HighCharts Response Time Bounds (3 mins read).
How to configure the bounds that Gatling marks your response times within for console output and graphing purposes.
Mon, 19 Nov 2018 22:46 by Jamie Tanna
.
#blogumentation
#gatling
#gatling-highcharts .
Article
Setting your default AWS profile for the AWS CLI and SDKs (2 mins read).
Setting the default AWS profile when working with multiple profiles and the AWS CLI / SDKs.
Thu, 15 Nov 2018 00:12 by Jamie Tanna
.
#blogumentation
#aws
#aws-cli
#aws-sdk
#command-line .
Article
Chef 14 Upgrade: Custom Resource Properties are Silently Coerced to Hash
if they are a nil
(2 mins read).
Finding out that a nil
gets silently coerced to an empty Hash
if given to a custom resource's property of type Hash
.
Tue, 13 Nov 2018 00:47 by Jamie Tanna
.
#blogumentation
#chef-14
#chef-14-upgrade
#chefspec
#test-coverage .
Article
Chef 14: ChefSpec Coverage Reporting Deprecation (1 mins read).
Noting the deprecation of using ChefSpec::Coverage.start!
when using Chef 14 and above.
Tue, 13 Nov 2018 00:23 by Jamie Tanna
.
#blogumentation
#chef-14
#chef-14-upgrade
#chefspec
#test-coverage .
Article
Chef 14 Upgrade: Change in ValidationFailed
error messages when setting required
properties (2 mins read).
The updated error message returned by a Chef ValidationFailed
error, when you're specifying which properties are required
on a custom resource.
Mon, 12 Nov 2018 23:35 by Jamie Tanna
.
#blogumentation
#chef-14-upgrade
#chef
#chefspec
#chef-14 .
Article
Why You Should Be Unit Testing Your Functional Acceptance Tests (7 mins read).
A few reasons explaining why you should be writing unit tests for your functional tests.
Wed, 07 Nov 2018 22:28 by Jamie Tanna
.
#persuasive
#testing
#software-testing
#tdd
#bdd
#cucumber
#software-quality
#quality-engineering
#unit-testing .
Article
Viewing X.509 DER Certificate Details with OpenSSL (2 mins read).
How to convert an X.509 DER file to a human-readable format using openssl
commands.
Fri, 02 Nov 2018 07:57 by Jamie Tanna
.
#blogumentation
#certificates
#command-line
#der
#openssl .
Article
Viewing X.509 PEM Certificate Details with OpenSSL (2 mins read).
How to convert an X.509 PEM file to a human-readable format using openssl
commands.
Fri, 02 Nov 2018 07:57 by Jamie Tanna
.
#blogumentation
#certificates
#command-line
#pem
#openssl .
Article
Backporting/Replaying Changes Using git cherry-pick
(6 mins read).
Using git cherry-pick
to make it easier to backport or replay Git commits across different versions of your codebase.
Sun, 28 Oct 2018 22:22 by Jamie Tanna
.
#blogumentation
#git
#git-cherry-pick .
Article
Revert 'Some knowledge-sharing news' (5 mins read).
The unfortunate decision to cancel my Packt training courses.
Sun, 28 Oct 2018 18:40 by Jamie Tanna
.
#news
#events
#chef
#testing
#tdd .
Article
DevOpsDays London 2018 (51 mins read).
My writeup of my first DevOpsDays conference, and the awesome talks and conversations I was part of.
Thu, 25 Oct 2018 09:49 by Jamie Tanna
.
#devopsdays
#aws
#cloud
#devops
#capital-one
#cloud-custodian
#dashboards
#events
#bash
#monolith
#serverless
#management
#agile
#testing
#microservices .
Article
Showing response headers with curl -i
(3 mins read).
Showing just response headers when curl
ing a resource, using curl -i
.
Fri, 19 Oct 2018 12:34 by Jamie Tanna
.
#blogumentation
#curl .
Article
Safely Force Pushing with Git using --force-with-lease=ref
(6 mins read).
How git push --force-with-lease=ref
can save you from overriding others' changes on shared Git branches.
Tue, 18 Sep 2018 17:08 by Jamie Tanna
.
#git
#blogumentation
#command-line .
Article
My editorial workflow for blog posts (8 mins read).
Taking you through the journey I go on when writing blog posts, from ideation to publishing the post.
Tue, 11 Sep 2018 23:16 by Jamie Tanna
.
#www.jvt.me
#workflow
#ci
#gitlab
#git
#automation
#command-line
#shell
#gitlab-ci
#review-apps .
Article
Viewing Git history of a file in git log
while ignoring file renames (5 mins read).
How to track changes to files in Git without pesky file renames getting in the way, using git log --follow
.
Tue, 11 Sep 2018 18:27 by Jamie Tanna
.
#git
#command-line
#shell
#blogumentation .
Article
Test-Driven Chef Cookbook Development Using ChefSpec (and a sprinkling of InSpec) (39 mins read).
Using the example of deploying and running a Java JAR file as a way to show the lifecycle of a fully test-driven Chef cookbook.
Tue, 04 Sep 2018 14:52 by Jamie Tanna
.
#howto
#blogumentation
#chef
#test-kitchen
#chefspec
#tdd
#testing
#guide .
Article
Pretty Printing JSON Web Tokens (JWTs) on the Command Line using Ruby (3 mins read).
How to easily introspect and pretty print a signed JWT (JWS) or an encrypted JWT (JWE) on the command line using Ruby's standard library, or using the ruby-jwt external library.
Fri, 31 Aug 2018 10:43 by Jamie Tanna
.
#blogumentation
#ruby
#command-line
#jwt
#json
#pretty-print .
Article
Using chef-shell
to interactively debug attributes and recipes (5 mins read).
How to use chef-shell
to see attribute config and recipes, with and without a Chef Server.
Wed, 29 Aug 2018 13:38 by Jamie Tanna
.
#chef
#chef-shell
#blogumentation
#test-kitchen
#chef-server
#chefdk .
Article
OggCamp 2018 (21 mins read).
A look at my time at OggCamp 2018, the talks I presented and attended.
Thu, 23 Aug 2018 18:18 by Jamie Tanna
.
#events
#oggcamp
#chef
#public-speaking
#openapi
#swagger
#free-software
#open-source
#collaborative-culture .
Article
Context is key: thinking about your audience (5 mins read).
How to have inclusive conversations by providing the right context for those who may not have the same level of understanding.
Thu, 16 Aug 2018 11:59 by Jamie Tanna
.
#thoughts
#communication
#capital-one
#context .
Article
Creating a versionable, self-contained (fat-/uber-) JAR for Cucumber tests (11 mins read).
Why you'd want a fat JAR and how you'd achieve it.
Wed, 15 Aug 2018 10:23 by Jamie Tanna
.
#blogumentation
#java
#cucumber
#testing
#jar
#artifact
#artefact
#maven
#uber-jar .
Article
My Path from School to University to Work (25 mins read).
A look back at my journey up to now, the choices I've made, and what advice I have for others who are embarking on their own journeys into tech.
Sun, 05 Aug 2018 17:07 by Jamie Tanna
.
#musings
#blogumentation
#capital-one
#career
#university
#nottingham
#school
#a-level
#gcse .
Article
Being More Explicit on Content Licensing (3 mins read).
Why I'm re-licensing the code snippets and post content on my site is, and how I'm making it more obvious.
Sun, 29 Jul 2018 15:47 by Jamie Tanna
.
#thoughts
#site
#licensing .
Article
Some exciting job and knowledge-sharing news (4 mins read).
Moving into Quality Engineering, publishing Chef training courses, conference speaking about Chef at OggCamp and the complex mess that is this very static website at DevOpsDays London.
Fri, 06 Jul 2018 22:24 by Jamie Tanna
.
#news
#capital-one
#events
#chef
#testing
#conference
#job
#tdd
#oggcamp
#devopsdays .
Article
Notes from the AWS + Chef Dev Day Roadshow in London (13 mins read).
Notes from the AWS Dev Day Roadshow in London, where we got to play around with Chef, Chef Automate and InSpec using AWS OpsWorks.
Sun, 24 Jun 2018 22:25 by Jamie Tanna
.
#aws
#chef
#events
#chef-server
#opsworks
#cloud-formation
#cloud-custodian
#deployment
#containers
#chef-automate
#inspec .
Article
Pretty Printing JSON on the Command Line with Ruby (1 mins read).
Using Ruby's JSON module to pretty print JSON objects from the command line.
Mon, 18 Jun 2018 19:13 by Jamie Tanna
.
#blogumentation
#ruby
#json
#pretty-print .
Article
Merging multiple repositories into a monorepo, while preserving history, using git subtree
(3 mins read).
How to merge multiple repositories, with their history, into a single repository, using the git subtree add
command.
Fri, 01 Jun 2018 20:44 by Jamie Tanna
.
#blogumentation
#git
#monorepo
#git-subtree
#command-line .
Article
Sharing Multiple SSH Sessions over the Same Network Socket (3 mins read).
Reusing network sockets for speed and reduction of authentication handshakes with OpenSSH.
Fri, 04 May 2018 17:21 by Jamie Tanna
.
#blogumentation
#ssh
#openssh
#command-line .
Article
Better Git Diff Outputs with Git Submodules (2 mins read).
How to get nicer diff
s when working with submodules.
Fri, 04 May 2018 11:59 by Jamie Tanna
.
#blogumentation
#git
#command-line .
Article
Beware: delete
ing a file
in Chef doesn't actually delete
it (3 mins read).
Why you should explicitly add backup false
when delete
ing a file
through Chef, to avoid leaving potentially sensitive files still on the box.
Mon, 30 Apr 2018 17:54 by Jamie Tanna
.
#blogumentation
#chef .
Article
Morsels of Goodness: What's Cooking in Chef 14? (5 mins read).
A look at the new features coming in the new Chef 14 release, as well as what to watch out for when upgrading.
Mon, 23 Apr 2018 16:09 by Jamie Tanna
.
#chef-14
#chef
#foodcritic
#cookstyle
#rubocop
#ruby
#test-kitchen .
Article
Finally Returning to Full Time Work After 123 Days (2 mins read).
Receiving the final sign off after four months off for my ruptured appendix.
Thu, 19 Apr 2018 11:02 by Jamie Tanna
.
#thoughts
#appendix
#health .
Article
Serving Branches on a Subdomain using Caddy and GitLab Review Apps (2 mins read).
How to dynamically serve a branch on a subdomain for GitLab Review Apps using Caddy Labels.
Sun, 15 Apr 2018 15:18 by Jamie Tanna
.
#guide
#gitlab
#review-apps
#caddy
#howto
#deploy .
Article
Deploying to Netlify using GitLab CI (3 mins read).
How adding two lines to my .gitlab-ci.yml
migrated my existing site from GitLab Pages to Netlify.
Thu, 12 Apr 2018 22:06 by Jamie Tanna
.
#netlify
#gitlab-ci
#automation
#continuous-deployment
#ci
#deploy
#howto .
Article
Executing an Interactive Python Shell (REPL) for a Script (1 mins read).
Using python -i
to get an interactive REPL after running a Python source file.
Sun, 08 Apr 2018 16:07 by Jamie Tanna
.
#command-line
#python
#blogumentation
#tools
#howto .
Article
Bundling Common Rake Tasks into a Gem (8 mins read).
An example of how to create a helper gem for common Rake task, using the real-world example of Chef cookbooks.
Thu, 05 Apr 2018 21:17 by Jamie Tanna
.
#blogumentation
#chef
#chefdk
#gem
#ruby
#rake
#foodcritic
#rubocop
#rspec
#knife-cookbook-doc
#gitlab-ci .
Article
Running docker login
as another user in Chef (2 mins read).
Hitting the error permission denied while trying to connect to the Docker daemon socket
when trying to run docker login
as a non-root user in Chef.
Mon, 26 Mar 2018 21:14 by Jamie Tanna
.
#docker
#chef
#blogumentation .
Article
My First Week Back to Working (Remotely) After Three Months (6 mins read).
How I've found the first week back to work after almost three months, and the productivity gains of working reduced hours.
Thu, 15 Mar 2018 17:57 by Jamie Tanna
.
#thoughts
#capital-one
#spectat-designs .
Article
Chef 13 Upgrade: knife-cookbook-doc
Rubocop Updates (1 mins read).
Disabling the Missing space after #
and Do not use block comments
errors for your knife-cookbook-doc
formatted comments.
Fri, 09 Mar 2018 17:30 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef
#knife-cookbook-doc
#chef-13
#documentation
#chef-13-upgrade-rubocop .
Article
Chef 13 Upgrade: knife-cookbook-doc
gem upgrade (1 mins read).
Fixing odd Logger
entries in autogenerated knife-cookbook-doc
README.md
s for Chef 13.
Wed, 07 Mar 2018 20:34 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef
#knife-cookbook-doc
#chef-13
#documentation .
Article
Chef 13 Upgrade: Deprecation of Namespace Collisions in Custom Resources (1 mins read).
Preparing for breaking changes in Chef 14 by renaming property_name
to new_resource.property_name
in Custom Resources.
Wed, 07 Mar 2018 20:34 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef-13-upgrade-deprecation
#chef
#chef-13
#chef-14 .
Article
Verify a Ruby Class Method is Called with Arguments in Rspec, Without Doubles or Mocks (1 mins read).
Rspec code to verify that a Ruby Class Method is called from another method, without needing to mock anything.
Wed, 07 Mar 2018 15:28 by Jamie Tanna
.
#blogumentation
#ruby
#testing
#rspec .
Article
Testing Chef's ruby_block
s with ChefSpec (3 mins read).
Testing implementation of a ruby_block
in ChefSpec, to ensure that the code executes as expected.
Wed, 07 Mar 2018 12:01 by Jamie Tanna
.
#blogumentation
#chef
#chefspec
#testing .
Article
Chef 13 Upgrade: Lessons Learnt and Documented for Posterity (1 mins read).
Notes on the main problems encountered when upgrading from Chef 12 to Chef 13, both with ChefSpec and Rubocop.
Tue, 06 Mar 2018 20:34 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef-13-upgrade-rubocop
#chef-13-upgrade-chefspec
#chef
#rubocop
#chefspec
#chef-13
#chefspec-7
#rubocop-0-49 .
Article
Chef 13 Upgrade: Rubocop Changes for lazy
Parameters (1 mins read).
How to resolve the Parenthesize the param lazy
Rubocop error when upgrading your cookbook to Chef 13.
Tue, 06 Mar 2018 20:34 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef-13-upgrade-rubocop
#chef
#rubocop
#chef-13
#rubocop-0-49 .
Article
Chef 13 Upgrade: Rubocop Changes for Testing render_file
with ChefSpec and a with_content
Block (1 mins read).
How to resolve the Parenthesize the param render_file
Rubocop error when upgrading your cookbook to Chef 13.
Tue, 06 Mar 2018 20:34 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef-13-upgrade-chefspec
#chef
#chefspec .
Article
Chef 13 Upgrade: Rubocop Changes for Word Array Literals (%w
) (1 mins read).
A one-liner shell command to fix Rubocop errors %w-literals should be delimited by [ and ]
.
Tue, 06 Mar 2018 20:34 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef-13-upgrade-rubocop
#chef
#rubocop
#chef-13
#rubocop-0-49 .
Article
Chef 13 Upgrade: Testing ruby_block
s with ChefSpec (1 mins read).
Replace your block.old_run_action
with block.block.call
to trigger ruby_block
s within ChefSpec 7 and Chef 13.
Tue, 06 Mar 2018 20:34 by Jamie Tanna
.
#blogumentation
#chef-13-upgrade
#chef-13-upgrade-chefspec
#chef
#chefspec
#chef-13
#chefspec-7 .