Software Architecture in Golang: Externalized Configuration Pattern

preview_player
Показать описание
What is the Externalized Configuration Pattern? In simple terms the Externalized Configuration pattern consists of defining a dedicated secure data store in charge of handling of the values we need for our application in a secure way, those values typically include things such as credentials, keys or tokens that must not be made available in plain text.

In Go there are multiple ways to define configuration, some examples include:
■ Using CLI Parameters or Flags,
■ Using Property or Configuration Files, or
■ Using Environment Variables (my recommendation)

Using Environment Variables is the recommended way to define configuration values because it allows you to clearly separate the configuration from the application and the way it's being executed.

== Relevant links

== All Go/Golang Playlists

== Socials

00:00 - Introduction to the Externalized Configuration Pattern in Golang
00:43 - Configuration using Parameters or Flags in Golang (Externalized Configuration Pattern)
02:24 - Configuration using Properties Files in Golang (Externalized Configuration Pattern)
04:15 - Configuration using Environment Variables in Golang (Externalized Configuration Pattern)
05:42 - Configuration using HashiCorp Vault in Golang (Externalized Configuration Pattern)
08:33 - External Layer Configuration in Golang (Externalized Configuration Pattern)
10:53 - Conclusion of the Externalized Configuration Pattern in Golang

=== Who am I?

Hello👋🏼! I'm Mario, a Hands-on Software Architect and Lead Backend Engineer with decades of professional experience building all kinds of software including on-premise Industrial Automation Systems, Linux Accessibility Desktop and Browser Components as well as Distributed Advertising Microservices.

The content I share includes different topics I've learned while working for small startups and large companies including the processes I've followed over the years for successfully delivering complex enterprise systems from start to end.

Subscribe if you like Software Development, Software Architecture and Systems Design!

Keep it up. Don't give up!

#golang #tutorial #microservices

=== Our Vlog Channel

=== Our affiliate links below

DISCLAIMER: Some of the links shared in the description are affiliate links. As a member of these affiliate programs, I earn a small commission from your purchases at no additional cost to you. I appreciate your support! 💖
Рекомендации по теме
Комментарии
Автор

Thanks Mario! This is one of my favorite channels! I use go sparingly in my work (I do a lot of context switching between front and back end so I tend to use node) but I really appreciate you showing how the patterns apply to go.

I find myself using a lot of these patterns intuitively but it's fun to see them more formalized

For similar ones that are kind of grouped (secret key, secret value etc) I have found it useful to keep the secret in Json and then just parse it in the app. It gets kind of tedious adding every individual one in the vault imo

erikslorenz
Автор

Thanks for these amazing videos! Please, keep uploading more like this one! Greetings from Argentina.

MatiasSidler
Автор

This is an interesting topic, thanks for sharing this kind of information!!

GabrielPozo
Автор

Mario, which tool are you using to draw on the screen?

kevinallen