<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog O&#39; Matty on Prefetch Technologies</title>
    <link>https://prefetch.net/blog/</link>
    <description>Recent content in Blog O&#39; Matty on Prefetch Technologies</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>matty at prefetch dot net (Matty)</managingEditor>
    <webMaster>matty at prefetch dot net (Matty)</webMaster>
    <copyright>Copyright Matty 2002 - 2020</copyright>
    <lastBuildDate>Tue, 14 Nov 2017 00:00:00 -0400</lastBuildDate>
    
	<atom:link href="https://prefetch.net/blog/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Using terrascan to detect compliance and security violations</title>
      <link>https://prefetch.net/blog/2022/05/08/using-terrascan-to-detect-compliance-and-security-violations/</link>
      <pubDate>Sun, 08 May 2022 00:00:00 -0500</pubDate>
      <author>matty at prefetch dot net (Matty)</author>
      <guid>https://prefetch.net/blog/2022/05/08/using-terrascan-to-detect-compliance-and-security-violations/</guid>
      <description>Over the past several years I&amp;rsquo;ve read numerous horror stories about cloud deployments gone wrong. S3 buckets with PCI data left open to the raw Internet, EC2 instance profiles that weren&amp;rsquo;t scoped properly, misconfigured NSGs, etc. It takes a LOT of time to truly understand all the ins and outs of running workloads in the cloud, and making sure you get it &amp;ldquo;right&amp;rdquo;. This is one reason I&amp;rsquo;m always on the lookout for tools that can add additional guard rails to the infrastructure provisioning process.</description>
    </item>
    
    <item>
      <title>Understanding cloud spend in your Terraform workflows</title>
      <link>https://prefetch.net/blog/2022/05/01/understanding-cloud-spend-in-your-terraform-workflows/</link>
      <pubDate>Sun, 01 May 2022 00:00:00 -0500</pubDate>
      <author>matty at prefetch dot net (Matty)</author>
      <guid>https://prefetch.net/blog/2022/05/01/understanding-cloud-spend-in-your-terraform-workflows/</guid>
      <description>Having worked in the &amp;ldquo;cloud&amp;rdquo; for several years, one thing that I&amp;rsquo;m super conscious about is our cloud bill. There are tons of subtleties associated with billing, such as AZ-to-AZ traffic costs or how VPC endpoints can reduce egress charges. If you utilize Terraform for infrastructure provisioning, you may want to look at infracost. Infracost can help you understand cloud spend for a green field deployment, or what it will cost to expand your existing infrastructure.</description>
    </item>
    
    <item>
      <title>Using tfswitch to manage Terraform versions</title>
      <link>https://prefetch.net/blog/2022/04/13/using-tfswitch-to-manage-terraform-versions/</link>
      <pubDate>Wed, 13 Apr 2022 00:00:00 -0500</pubDate>
      <author>matty at prefetch dot net (Matty)</author>
      <guid>https://prefetch.net/blog/2022/04/13/using-tfswitch-to-manage-terraform-versions/</guid>
      <description>The growth of the Terraform community is absolutely astounding. New providers are constantly popping up, providers are being upgraded at a feverish pace, and amazing new features are constantly being added. With all of this change, deprecations and breaking changes periodically surface. One way to protect yourself from breaking changes is to pin providers and modules to specific versions. You can accomplish this by adding specific git hashes or tags to your source statements, and by adding version directives to your provider definitions:</description>
    </item>
    
    <item>
      <title>Using the Kubernetes can-i subcommand to debug authentication issues</title>
      <link>https://prefetch.net/blog/2022/04/08/using-the-kubernetes-can-i-subcommand-to-debug-authentication-issues/</link>
      <pubDate>Fri, 08 Apr 2022 01:00:00 -0500</pubDate>
      <author>matty at prefetch dot net (Matty)</author>
      <guid>https://prefetch.net/blog/2022/04/08/using-the-kubernetes-can-i-subcommand-to-debug-authentication-issues/</guid>
      <description>When I was first getting started with Kubernetes, RBAC was one of the topics that took me the longest to grok. Not because the resources (Roles, ClusterRoles, etc) are hard to interpret, but learning how to scope your Roles to minimize access takes some practice. That and a lot of reading to understand the various API groups and what they contain.
In a previous post I mentioned access-matrix, which is an incredible tool for visualizing the RBAC permissions an entity (User, SA, Group, etc.</description>
    </item>
    
    <item>
      <title>Ways to debug Kubernetes pods without shells</title>
      <link>https://prefetch.net/blog/2022/04/08/ways-to-debug-kubernetes-pods-without-shells/</link>
      <pubDate>Fri, 08 Apr 2022 00:00:00 -0500</pubDate>
      <author>matty at prefetch dot net (Matty)</author>
      <guid>https://prefetch.net/blog/2022/04/08/ways-to-debug-kubernetes-pods-without-shells/</guid>
      <description>Debugging production issues can sometimes be a challenge in Kubernetes environments. One specific challenge is debugging containers that don&amp;rsquo;t contain a shell. You may have seen the following when troubleshooting an issue:
$ kubectl exec -it -n kube-system coredns-558bd4d5db-gx469 -- sh
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec &amp;quot;4f053952703f78b51bdf38a26ed391d8c2bda4138b87f35170d3fc4ea14fc510&amp;quot;: OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: &amp;quot;sh&amp;quot;: executable file not found in $PATH: unknown Not including a shell in your base image is a best practice, and projects like distroless make it super easy to package your applications with a small shell-less footprint.</description>
    </item>
    
  </channel>
</rss>