#office-hours (2022-05)
“Office Hours” are every Wednesday at 11:30 PST via Zoom. It’s open to everyone. Ask questions related to DevOps & Cloud and get answers! https://cloudposse.com/office-hours
Public “Office Hours” are held every Wednesday at 11:30 PST via Zoom. It’s open to everyone. Ask questions related to DevOps & Cloud and get answers!
https://cpco.io/slack-office-hours
Meeting password: sweetops
2022-05-01


Consistent delivery tool. Git as a single source of truth. Build, deploy to Kubernetes, stay in sync.

How many of you don’t commit .terraform.lock.hcl
to source control? I’ve read the docs but I’m still a bit confused on why i should use it over required_version
within my provider definition. OR, should i be using both?

I use both. I keep the lock file in source control so my CI builds are using the same versions I use locally.
2022-05-02

Sharing is caring. :)
TLDR: How do you achieve static IPs for a Root Domain hosted behind CloudFront without using Route53 Aliases?
Details: I am working with a client that started with a website running on a single EC2 instance. An Elastic IP (EIP) was associated with the instance. The IP was used to create A records in a third-party DNS for routing the root and the “www” endpoints to the instance.
[root.com](http://root.com), [www.root.com](http://www.root.com) → 3rd-party DNS (A) → EIP → EC2
After much refactoring, the site is now running behind CloudFront and an ALB. The CloudFront endpoint is published as a CNAME for the “www” endpoint and works great. The root, however, is still using the old EIP as a A record because you can’t use CNAMEs with the root.
[www.root.com](http://www.root.com) → 3rd-party DNS (CNAME)→ CloudFront → ALB
[root.com](http://root.com) → 3rd-party DNS (A)→ EIP → EC2 (Redir to www with NGINX)
Of course, the “easiest” (!) way to get the root domain pointed at CloudFront is to create an ALIAS record in Route53. Ha! I say “easiest” because moving the zone from the third-party DNS hosting into Route53 would take far too much effort for this one little redirect. For example, retraining people to use AWS instead of the DNS tool they have been using for years among many, many other potential snares and time sinks.
So I’ve looked at a couple solutions.
The current one works but I don’t want to have to run/manage an NGINX server for redirects. It’s also not highly available; if the server goes offline then redirects will fail. So use an ALB, right?
Since the IPs for ALBs change, but NLBs can have an EIP assigned to them, I tried assigning an EIP to a Network Load Balancer backed by an ALB that listens on ports 80 and 443. The listeners have a rule that redirects the request to “www”. I should add, content doesn’t need to be served from the root domain; it should all come from “www”.
[root.com](http://root.com) → 3rd-party DNS (A)→ EIP -> NLB -> ALB -> Redirect to WWW
This works for the most part but I feel like an NLB and and ALB for redirecting a request is overkill. I figure there has to be a better, cheaper solution. (this one is about $30/month not including traffic which should be pretty minimal)
So I looked at AWS Global Accelerator. This provides static IPs that can be pointed at a few different AWS resources; ALBs are there but sadly not CloudFront (AFAICT).
[root.com](http://root.com) → 3rd-party DNS (A)→ Global Accelerator -> ALB (live site!)
In my early exploration of this, its only working for HTTP requests… not for HTTPS requests. So if someone enters “https://root.com”, the redirect won’t ever happen. Bummer! This one is about $18/month not including traffic.
So before I settle on the EIP->NLB->ALB
approach, I ask the question: How do you achieve static IPs for a Root Domain hosted behind CloudFront without using Route53 Aliases?
2022-05-03

For office hours: easy-to-follow set of instructions for a strategy that minimizes the cost of NAT gateways in ec2. I’ve seen suggestions about using using a lambda to terminate the nat gateway once the deployment of the server is complete, switching to other gateway types like internet gateways, and using vpc endpoints. But these are quite overwhelming to me because I’m not an aws guru and the nat gateway endpoints are from a sample cloudformation template I used which doesn’t explicitly create the gateways… so feels like I can’t find their direct source.
2022-05-04


Amazon Elastic Kubernetes Service (Amazon EKS) is excited to introduce the Kubernetes resource view. You will now be able to see all Kubernetes API resource types running in your Amazon EKS cluster using the AWS Management Console for Amazon EKS, making it easier to visualize and troubleshoot your Kubernetes applications using Amazon EKS. Amazon EKS […]

Generate Crossplane Providers from any Terraform Provider


@here office hours is starting in 30 minutes! Remember to post your questions here.

Linda Pham has joined Public “Office Hours”

Andy Miguel (Cloud Posse) has joined Public “Office Hours”

Ralf Pieper has joined Public “Office Hours”

dag viggo lokoeen has joined Public “Office Hours”

Oscar Blanco has joined Public “Office Hours”

Mikael Fridh has joined Public “Office Hours”

Matt Calhoun has joined Public “Office Hours”

Allen Lyons has joined Public “Office Hours”

Scott Mathson has joined Public “Office Hours”

Erik Osterman (Cloud Posse) has joined Public “Office Hours”

Andrew Vitko has joined Public “Office Hours”

Michael Jenkins has joined Public “Office Hours”

Hmm weird the link isn’t working for me .

Rob Newsome has joined Public “Office Hours”

Jim C has joined Public “Office Hours”

Matt Gowie has joined Public “Office Hours”

Eric Berg has joined Public “Office Hours”

Linda Pham has joined Public “Office Hours”

Naija ninja has joined Public “Office Hours”

Lucas Andrade has joined Public “Office Hours”

Guilherme Borges has joined Public “Office Hours”

Michael Sew has joined Public “Office Hours”

Paul Bullock has joined Public “Office Hours”

Mohammed Almusaddar has joined Public “Office Hours”

Chocks Subramanian has joined Public “Office Hours”

Connor High has joined Public “Office Hours”

Abraham Quintero has joined Public “Office Hours”

Sherif Abdel-Naby has joined Public “Office Hours”

Benjamin Smith has joined Public “Office Hours”

Justin Davis has joined Public “Office Hours”


Mauricio Wyler has joined Public “Office Hours”

Isaac M has joined Public “Office Hours”

Isa Aguilar has joined Public “Office Hours”

Tim Gourley has joined Public “Office Hours”

Ehimah Obuse has joined Public “Office Hours”


Lens IDE for Kubernetes. The only system you’ll ever need to take control of your Kubernetes clusters. It’s open source and free. Download it today!

A reproducible Docker image build system for complex software stacks

I mentioned this in the context of possibly replacing it with dagger.io
A reproducible Docker image build system for complex software stacks

Amer Zec has joined Public “Office Hours”

Terraform module for public and private subnets provisioning in existing VPC

Andrew Thompson has joined Public “Office Hours”

2022-05-05

Would love to discuss this next week + hear from anybody who has had the chance to kick the tires. https://www.pulumi.com/docs/intro/languages/yaml/
An overview of how to use the Pulumi YAML config languages for infrastructure as code on any cloud (AWS, Azure, GCP, Kubernetes, etc.).

I’m in another Slack (https://randsinrepose.com/welcome-to-rands-leadership-slack/) and there’s a staff eng there from Pulumi who worked on this feature and is planning on doing an AMA sometime soon
An overview of how to use the Pulumi YAML config languages for infrastructure as code on any cloud (AWS, Azure, GCP, Kubernetes, etc.).

One can also use cue lang with this https://www.pulumi.com/blog/pulumi-yaml/#yaml-as-a-compilation-target-and-cue-support

Introducing Pulumi YAML, a simple decalrative interface to the Pulumi Platform, designed for smaller scale cloud infrastructure use cases.

I also was very interested in this although we haven’t had anything in Pulumi yet - all Terraform. And since we are the Java shop the announcement of Java support also made some buzz:)

Some statements about Pulumi YAML use cases (from Pulumi Slack)
2022-05-07

Converts a Terraform module to a Helm Chart
2022-05-09
2022-05-11

Hi, a question for office-hours. (I don’t think I can make the session time unfortunately)
What API Gateways are you guys using for your Kubernetes clusters? Searching through the slack history here I see:
• Kong
• Ambassador Edge Stack - (looks like you have to pay for JWT use though)
• Amazon API Gateway
• Istio? We use EKS with ArgoCD and Istio and a legacy nginx proxy sitting in front of this. The API gateway would replace the nginx proxy. We’d like to add an API gateway to handle JWT token validation, and then forward on requests to micro-services.

For Ambassador Edge Stack - I think you can run the gateway part (emissary) for free as it’s open source: https://www.getambassador.io/docs/emissary/latest/tutorials/getting-started/

fwiw, the general direction of things (for those who use istio) is to collapse everything into istio - that is what GCP is doing with Anthos, and what Tetrate and Solo are doing.
Solo have custom envoy modules for things like WAF, Tetrate I think added mod security to upstream envoy itself. Tetrate are exploring some of this zero trust stuff with NIST.
Those vendors/approaches might be too early/expensive for your situation. Ambassador probably a good bet though to keep things simple.

ACK service controller for Amazon API Gateway v2



I’d probably bet on this becoming the defacto standard for north-south with Ambassador Labs, Fidelity, Tetrate and VMWare combining efforts using envoy and the Gateway API (which GCP also use).
Solo have (currently better) proprietary APIs but assuming this gathers a community that will be gradually eroded.
https://blog.envoyproxy.io/introducing-envoy-gateway-ad385cc59532 https://www.cncf.io/blog/2022/05/16/introducing-envoy-gateway/

@here office hours is starting in 30 minutes! Remember to post your questions here.

Erik Osterman (Cloud Posse) has joined Public “Office Hours”

Allan Mohr has joined Public “Office Hours”

Vlad Ionescu has joined Public “Office Hours”

Dale-Kurt Murray has joined Public “Office Hours”

Emile Fugulin has joined Public “Office Hours”

Yusuf has joined Public “Office Hours”

Oscar Blanco has joined Public “Office Hours”

Andy Miguel (Cloud Posse) has joined Public “Office Hours”

Justin Davis has joined Public “Office Hours”

Ben Smith (Cloud Posse) has joined Public “Office Hours”

@Erik Osterman (Cloud Posse) Please invite feedback on dynamic-subnets PR 159 currently available to test as v2.0.0-rc1
Also please invite people to join discussion about VPC Endpoints and discussion about Transit Gateway
@Jeremy G (Cloud Posse) what I found with the VPC module, more to the point the VPC endpoint sub-module, was that while the interface endpoint allowed for the optional subnet IDs to be passed through the gateway endpoint did not accept route table IDs so it could associate the gateway service with the VPC route table. It makes sense having it as a sub-module as you need both the VPC and the subnets created before it can be of use. Inside the sub module makes sense to perform the aws_vpc_endpoint_route_table_association
resource definition but it requires passing along the route table IDs. Also it could probably just more simply be passed as the optional property to the aws_vpc_endpoint
itself. I thought it could be added as an optional variable in the existing mapped variable just like how the subnet IDs are for interface endpoints.
Question for anyone who has worked with the transit-gateway
module as it is… I’m currently working to codify our existing setup that has been done mostly by hand thus far. It follows a hub-spoke design with 2 route tables but we’re looking to add a 3rd RT into it. As I have been reading over the module I see it allows passing either a RT you create outside the module or creating one, but it appears like it only deals with a single RT.
what
• Full support for IPv6
why
• Requested feature
notes
• This will become version 2.0 of this module because there will be breaking changes. The intention is that people will be able to adapt existing configurations to v2.0 with minimal effort (mainly changing some string inputs to lists of strings), but some breaking changes are necessary to accomplish other goals like making inputs optional or preserving Elastic IPs when switching from NAT Instance to NAT Gateway.

Jeremy (Cloud Posse) has joined Public “Office Hours”

Linda Pham has joined Public “Office Hours”

Alexander Goya has joined Public “Office Hours”

Mazin Ahmed has joined Public “Office Hours”

Matt Gowie has joined Public “Office Hours”

Nick Keam has joined Public “Office Hours”

Kris Musard has joined Public “Office Hours”

Andrew Vitko has joined Public “Office Hours”

Paul Bullock has joined Public “Office Hours”

Matt Calhoun has joined Public “Office Hours”

Eric Berg has joined Public “Office Hours”

Mohammed Almusaddar has joined Public “Office Hours”

Mikael Fridh has joined Public “Office Hours”

Yusuf has joined Public “Office Hours”

links from today’s session
• https://github.dev/cloudposse/geodesic
• https://github.blog/changelog/2022-05-09-github-actions-enhance-your-actions-with-job-summaries
• https://github.com/cloudposse/atmos/releases/tag/v1.4.13
• https://github.com/craftvscruft/tfrefactor
• https://www.hashicorp.com/blog/announcing-the-hashicorp-releases-api
• https://github.com/cloudposse/terraform-aws-dynamic-subnets/pull/159

Connor High has joined Public “Office Hours”

Oscar Blanco has joined Public “Office Hours”

Sherif Abdel-Naby has joined Public “Office Hours”

Jeremy Bouse has joined Public “Office Hours”

tyler stilwagne has joined Public “Office Hours”

Jim Park has joined Public “Office Hours”

Oscar Blanco has joined Public “Office Hours”

Olad Oke has joined Public “Office Hours”

Dave Gregory has joined Public “Office Hours”

Join the online charity conference on 17-18 May. We’ll talk about DevOps in crisis with Debois, Hightower, Woodward, Nova, Clay Shafer and others.

Dave Gregory has joined Public “Office Hours”


OtterTune uses machine learning to automate database tuning that improves PostgreSQL and MySQL performance and reduces costs.




A startup using AI and machine learning to optimize database performance, OtterTune has raised $12 million in a venture funding round led by Intel Capital.

A V has joined Public “Office Hours”

Uzuazoraro Etobro has joined Public “Office Hours”

ACK service controller for Amazon API Gateway v2

The ultimate comparison

Topic: GitOps developer experience


Recently, AWS launched the ability to delegate administration of AWS Single Sign-On (AWS SSO) in your AWS Organizations organization to a member account (an account other than the management account). This post will show you a practical approach to using this new feature. For the documentation for this feature, see Delegated administration in the AWS […]

@Jeremy G (Cloud Posse) @matt

Recently, AWS launched the ability to delegate administration of AWS Single Sign-On (AWS SSO) in your AWS Organizations organization to a member account (an account other than the management account). This post will show you a practical approach to using this new feature. For the documentation for this feature, see Delegated administration in the AWS […]

Yes, we saw this before. Not a huge deal. Means we can manage AWS SSO in the identity
account now, along with all the other SSO.

yep - which is nice, since we previously had it in the root, which was a little confusing
2022-05-12

That service works absolutely flawlessly.. couldn’t recommend it highly enough


This post is written by Dan Fox, Principal Specialist Solutions Architect, Serverless. You can now develop AWS Lambda functions using the Node.js 16 runtime. This version is in active LTS status and considered ready for general use. To use this new version, specify a runtime parameter value of nodejs16.x when creating or updating functions or by using the appropriate […]
2022-05-16
2022-05-17
2022-05-18

@here office hours is starting in 30 minutes! Remember to post your questions here.

Andy Miguel (Cloud Posse) has joined Public “Office Hours”

At my company, we have have “on-demand environments” (we call ODE), which just means for any candidate change (PR), we deploy an environment automatically. This allows for project managers, developers, QA engineers, etc to view this version of code in an isolated and live environment. Also, we run QA automation against these environments using browser automation technology. After merging a PR, changes are deployed to production.
This has been working great for developer velocity with our client / server architecture. We have two repositories in play, one client (react) one server (rails). In a candidate change to either repository, both client and server are deployed in an ODE, selecting the main branch of the other repository. For example in branch cloudposse-rocks in server, we would deploy client main branch and the cloudposse-rocks branch of server.
Now, our company is moving into microservices. I have a challenge to make “ODEs for microservices”, but I am having some trouble with this project. In the current ODE design, basically all services are re-deployed for a candidate change in any other repo (in this case the client and server repositories). Also, the database for server repository is deployed from scratch and seeded fresh for each branch. This doesn’t seem wise in the case of microservices to deploy everything for any change, so maybe some sharing should be involved, for example one could imagine sharing server for any client change. I have had trouble making this work seamlessly.
I’m curious what kinds of patterns cloudposse has seen work for “On demand” environments, for microservices?

This is something I’ve been battling to come up with a sensible strategy for… one of our teams have over 40 microservices… oh 41, many with their own datastore. I struggle to see that the added overhead (cost, time, complexity) of trying to create (and destroy) a copy of the entire system, infrastructure and all is really worth it. Frontends or user facing APIs, may be worth it. Some people might disagree or have other thoughts, I’ll find out when I catch up on the recording.

Hi Steven, we aren’t as advanced in our automated deployments as you as we are a young start up. But we do deployments very similarly to you. Front and backend split. We got a handful of APIs deployed in the backend, and our nodejs fronted deployed in vercel. We have put everything into a mono-repo. At first I was scared about how complex it would be to manage, but it has resulted in being super easy to do full deployments as all developers are always working with the most current version of main and deploying from any feature branch makes sure all services are deployed in the correct version. Also for changes there requires both front and backend changes are done in the same branch making the deployment of the new feature a breeze.

Erik Osterman (Cloud Posse) has joined Public “Office Hours”

Charles Smith has joined Public “Office Hours”

dag viggo lokoeen has joined Public “Office Hours”

Allan Mohr has joined Public “Office Hours”

Brian Pauley has joined Public “Office Hours”

Yasir Karam has joined Public “Office Hours”

Ralf Pieper has joined Public “Office Hours”

Matt Calhoun has joined Public “Office Hours”

Steven Miller has joined Public “Office Hours”

Luis Masaya has joined Public “Office Hours”

Linda Pham has joined Public “Office Hours”

Isaac M has joined Public “Office Hours”

Jack Louvton has joined Public “Office Hours”

Kris Musard has joined Public “Office Hours”

Ben Smith (Cloud Posse) has joined Public “Office Hours”

Kris Musard has joined Public “Office Hours”

Mikael Fridh has joined Public “Office Hours”

Matt Gowie has joined Public “Office Hours”

Arthur Dent has joined Public “Office Hours”

Oscar Blanco has joined Public “Office Hours”

Andy Roth has joined Public “Office Hours”

Nick Keam has joined Public “Office Hours”

links from today’s session
• https://github.com/infrahq/infra
• https://news.ycombinator.com/item?id=31417993
• https://aws.amazon.com/blogs/security/getting-started-with-aws-sso-delegated-administration/
• https://www.appvia.io/blog/self-service-of-cloud-resources
• https://github.com/weaveworks/tf-controller
• https://github.com/rancher/terraform-controller
• https://atlasgo.io/blog/2022/05/04/announcing-terraform-provider

Matt Gowie has joined Public “Office Hours”

Sean O’Dell has joined Public “Office Hours”

Michael Holt has joined Public “Office Hours”

Mohammed Almusaddar has joined Public “Office Hours”

Tim Gourley has joined Public “Office Hours”

Amer Zec has joined Public “Office Hours”

Stevan Arychuk has joined Public “Office Hours”

Andrew Hall has joined Public “Office Hours”

Muthu has joined Public “Office Hours”

Mikael Fridh has joined Public “Office Hours”

Thanks all!

@Erik Osterman (Cloud Posse) referred in the office hours to a past convo about preview environments. Does anyone know if we were talking about this Office Hours? https://sweetops.slack.com/archives/CHDR1EWNA/p1636576569085000 Thanks again so much for great insight @matt and Erik
Yea way we do it for preview environments that we dump DB from prod to staging, do the tokenization, and then take a EBS Snapshots from this. The we create volumes from it on each preview environment deployment and create its PV and PVCs.


KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at Edge.It is built upon kubernetes and provides fundamental infrastructure support for network, app. deployment and metadata synchronization between cloud and edge. Kubeedge is licensed under Apache 2.0. and free for personal or commercial use absolutely. We welcome contributors!
2022-05-19

Apologies for missing yesterday’s call I totally forgot to write here that I’ll miss it

We missed you! But we’ll talk about gitops experience next week.
2022-05-20
2022-05-24

API traffic viewer for Kubernetes enabling you to view all API communication between microservices. Think TCPDump and Wireshark re-invented for Kubernetes

This is a great tool. We’ve used it a couple of times:)
API traffic viewer for Kubernetes enabling you to view all API communication between microservices. Think TCPDump and Wireshark re-invented for Kubernetes


A simple-yet-powerful API traffic viewer for Kubernetes to help you troubleshoot and debug your microservices. Think TCPDump and Chrome Dev Tools combined.
2022-05-25

@here office hours is starting in 30 minutes! Remember to post your questions here.

Steven Hopkins (Cloud Posse) has joined Public “Office Hours”

Eric Berg has joined Public “Office Hours”

Michael Bottoms has joined Public “Office Hours”

Steven Vargas has joined Public “Office Hours”

David Hawthorne has joined Public “Office Hours”

Alexander Goya has joined Public “Office Hours”

Ralf Pieper has joined Public “Office Hours”

Erik Osterman (Cloud Posse) has joined Public “Office Hours”

Steven Miller has joined Public “Office Hours”

Andrew Elkins has joined Public “Office Hours”

Dave Lundgren has joined Public “Office Hours”

Isa Aguilar has joined Public “Office Hours”

Oliver Schoenborn has joined Public “Office Hours”

Matt Calhoun has joined Public “Office Hours”

Yusuf has joined Public “Office Hours”

Ryan Housand has joined Public “Office Hours”

Vlad Ionescu has joined Public “Office Hours”

Luis Masaya has joined Public “Office Hours”

Michael Jenkins has joined Public “Office Hours”

Manish Sawlani has joined Public “Office Hours”

Yasir Karam has joined Public “Office Hours”

Andy Miguel (Cloud Posse) has joined Public “Office Hours”

Tim Gourley has joined Public “Office Hours”

Jian Gong has joined Public “Office Hours”

Brian Pauley has joined Public “Office Hours”

Jeremy Bouse has joined Public “Office Hours”

Tony Scott has joined Public “Office Hours”

Matt Calhoun has joined Public “Office Hours”

Tony Scott has joined Public “Office Hours”

News/discussion topic: Pinning containers in CI configurations with Ratchet: https://github.com/sethvargo/ratchet
A tool for securing CI/CD workflows with version pinning.


Yusuf has joined Public “Office Hours”

Josh B has joined Public “Office Hours”

Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.

Isaac M has joined Public “Office Hours”

Andrew Elkins has joined Public “Office Hours”

Andrew Vitko has joined Public “Office Hours”

Mohammed Almusaddar has joined Public “Office Hours”

Ben Smith (Cloud Posse) has joined Public “Office Hours”

Oscar Blanco has joined Public “Office Hours”

Paul Bullock has joined Public “Office Hours”

Kris Musard has joined Public “Office Hours”

Marc Tamsky has joined Public “Office Hours”

himans sharm has joined Public “Office Hours”


Oscar Blanco has joined Public “Office Hours”



A tool for securing CI/CD workflows with version pinning.



2022-05-30


GoCD is an open source build and release tool from ThoughtWorks. GoCD supports modern infrastructure and helps enterprise businesses get software delivered faster, safer, and more reliably.

I do not like it….much……

GoCD is an open source build and release tool from ThoughtWorks. GoCD supports modern infrastructure and helps enterprise businesses get software delivered faster, safer, and more reliably.

https://github.com/mineiros-io/terramate
I am considering exploring this tool ? Anyone tried it before ? Sounds interesting if you’re into managing your own Terraform apply ( not using Something like Spacelift)
I never liked Terragrunt very opinionated way of doing things anyway
Terramate is a tool for managing multiple Terraform stacks that comes with support for change detection and code generation.

Not sure if I’ll be able to make it to this week’s officehours tho will listen to the recording