Add using-aks-and-socks-to-connect-to-a-private-azure-db/index.html

This commit is contained in:
Dave Gallant
2023-05-22 22:09:20 -04:00
parent 91544b0cc4
commit 39041343b1
32 changed files with 2242 additions and 24 deletions

View File

@@ -0,0 +1,92 @@
---
title: "Using AKS and SOCKS to connect to a Private Azure DB"
date: 2023-05-22T16:31:29-04:00
lastmod: 2023-05-22T16:31:29-04:00
draft: false
keywords: []
description: ""
tags: ['azure', 'database', 'proxy', 'socks', 'aks', 'k8s', 'aws', 'bastion', 'eks', 'cloud-sql-proxy', 'kubectl-plugin-socks5-proxy']
categories: []
author: ""
# You can also close(false) or open(true) something for this content.
# P.S. comment can only be closed
comment: false
toc: false
autoCollapseToc: false
postMetaInFooter: false
hiddenFromHomePage: false
# You can also define another contentCopyright. e.g. contentCopyright: "This is another copyright."
contentCopyright: false
reward: false
mathjax: false
mathjaxEnableSingleDollar: false
flowchartDiagrams:
enable: false
options: ""
sequenceDiagrams:
enable: false
options: ""
---
<!--more-->
## The Problem
I ran into a roadblock recently where I wanted to be able to conveniently connect to a managed postgres database within Azure that was not running on public subnets. And by conveniently, I mean that I'd rather not have to spin up an ephemeral virtual machine running in the same network and proxy the connection. After several web searches, it became evident that Azure does not readily provide much tooling to support this.
## Go Public?
Should the database be migrated to public subnets? Ideally not, since it is good practice to host critical infrastructure in restricted subnets.
## How do others handle this?
With GCP, connecting to a private db instance from any machine can be achieved with [cloud-sql-proxy](https://github.com/GoogleCloudPlatform/cloud-sql-proxy). This works by proxying requests from your machine to the SQL database instance in the cloud, while the authentication is handled using GCP's IAM.
So what about Azure? Is there any solution that is as elegant as cloud-sql-proxy?
## A Bastion
Similar to what [AWS has recommended](https://aws.amazon.com/blogs/database/securely-connect-to-an-amazon-rds-or-amazon-ec2-database-instance-remotely-with-your-preferred-gui/), perhaps a bastion is the way forward?
[Azure Bastion](https://azure.microsoft.com/en-ca/products/azure-bastion) is a fully managed service that both [costs money](https://azure.microsoft.com/en-ca/pricing/details/azure-bastion/#pricing) and provides secure access to virtual machines that do not have public IPs.
Because this adds cost and requires a virtual machine, it does not seem like a very desirable option in its current state.
## SOCKS
[SOCKS](https://en.wikipedia.org/wiki/SOCKS) is a way to proxy connections by exchanging network packets between the client and the server. There are many implementations and many readily available container images that can run a SOCKS server.
It is certainly possible to use this sort of proxy to connect to a private DB, but is it any simpler than using a virtual machine as a jumphost? It wasn't until I stumbled upon [kubectl-plugin-socks5-proxy](https://github.com/yokawasa/kubectl-plugin-socks5-proxy) that I was convinced that using SOCKS could be made simple.
So how does it work? By installing the kubectl plugin and then running `kubectl socks5-proxy`, a SOCKS proxy server is spun up in a pod and then opens up port-forwarding session using kubectl.
As you can see below, this k8s plugin is wrapped up nicely:
```console
$ kubectl socks5-proxy
using: namespace=default
using: port=1080
using: name=davegallant-proxy
using: image=serjs/go-socks5-proxy
Creating SOCKS5 Proxy (Pod)...
pod/davegallant-proxy created
```
With the above proxy connection open, it is possible to access both the DNS and private IPs accessible within the k8s cluster. In this case, I am able to access the private database, since there is network connectivity between the k8s cluster and the database.
## Caveats and Conclusion
The above outlined solution makes some assumptions:
- there is a k8s cluster
- the k8s cluster has network connectivity to the desired private database
If these stars align, than this solution might work as a stopgap for accessing a private Azure DB (and I'm assuming this could work similarly on AWS).
It would be nice if Azure provided tooling similar to cloud-sql-proxy, so that using private databases would be more of a convenient experience.
One other thing to note is that some clients (such as [dbeaver](https://dbeaver.io/)) [do not provide DNS resolution over SOCKS](https://github.com/dbeaver/dbeaver/issues/872). So in this case, you won't be able to use DNS as if you were inside the cluster, but instead have to rely on knowing private ip addresses.

View File

@@ -36,6 +36,7 @@ sequenceDiagrams:
I recently stumbled upon [yewtu.be](https://yewtu.be) and found it intriguing. It not only allows you to watch YouTube without *being on YouTube*, but it also allows you to create an account and subscribe to channels without a Google account. What sort of wizardry is going on under the hood? It turns out that it's a hosted instance of [invidious](https://invidious.io/).
![requestly](/images/watching-youtube-in-private/computerphile.png)
The layout is simple, and **JavaScript is not required**.

View File

@@ -0,0 +1,221 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Using AKS and SOCKS to connect to a Private Azure DB - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<meta property="og:title" content="Using AKS and SOCKS to connect to a Private Azure DB" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2023-05-22T16:31:29-04:00" />
<meta property="article:modified_time" content="2023-05-22T16:31:29-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Using AKS and SOCKS to connect to a Private Azure DB"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<main>
<article>
<div class="title">
<h1 class="title">Using AKS and SOCKS to connect to a Private Azure DB</h1>
<div class="meta">Posted on May 22, 2023</div>
</div>
<section class="body"><h2 id="the-problem">The Problem<a href="#the-problem" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>I ran into a roadblock recently where I wanted to be able to conveniently connect to a managed postgres database within Azure that was not running on public subnets. And by conveniently, I mean that I&rsquo;d rather not have to spin up an ephemeral virtual machine running in the same network and proxy the connection. After several web searches, it became evident that Azure does not readily provide much tooling to support this.</p>
<h2 id="go-public">Go Public?<a href="#go-public" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>Should the database be migrated to public subnets? Ideally not, since it is good practice to host critical infrastructure in restricted subnets.</p>
<h2 id="how-do-others-handle-this">How do others handle this?<a href="#how-do-others-handle-this" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>With GCP, connecting to a private db instance from any machine can be achieved with <a href="https://github.com/GoogleCloudPlatform/cloud-sql-proxy">cloud-sql-proxy</a>. This works by proxying requests from your machine to the SQL database instance in the cloud, while the authentication is handled using GCP&rsquo;s IAM.</p>
<p>So what about Azure? Is there any solution that is as elegant as cloud-sql-proxy?</p>
<h2 id="a-bastion">A Bastion<a href="#a-bastion" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>Similar to what <a href="https://aws.amazon.com/blogs/database/securely-connect-to-an-amazon-rds-or-amazon-ec2-database-instance-remotely-with-your-preferred-gui/">AWS has recommended</a>, perhaps a bastion is the way forward?</p>
<p><a href="https://azure.microsoft.com/en-ca/products/azure-bastion">Azure Bastion</a> is a fully managed service that both <a href="https://azure.microsoft.com/en-ca/pricing/details/azure-bastion/#pricing">costs money</a> and provides secure access to virtual machines that do not have public IPs.</p>
<p>Because this adds cost and requires a virtual machine, it does not seem like a very desirable option in its current state.</p>
<h2 id="socks">SOCKS<a href="#socks" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p><a href="https://en.wikipedia.org/wiki/SOCKS">SOCKS</a> is a way to proxy connections by exchanging network packets between the client and the server. There are many implementations and many readily available container images that can run a SOCKS server.</p>
<p>It is certainly possible to use this sort of proxy to connect to a private DB, but is it any simpler than using a virtual machine as a jumphost? It wasn&rsquo;t until I stumbled upon <a href="https://github.com/yokawasa/kubectl-plugin-socks5-proxy">kubectl-plugin-socks5-proxy</a> that I was convinced that using SOCKS could be made simple.</p>
<p>So how does it work? By installing the kubectl plugin and then running <code>kubectl socks5-proxy</code>, a SOCKS proxy server is spun up in a pod and then opens up port-forwarding session using kubectl.</p>
<p>As you can see below, this k8s plugin is wrapped up nicely:</p>
<pre><code class="language-console">$ kubectl socks5-proxy
using: namespace=default
using: port=1080
using: name=davegallant-proxy
using: image=serjs/go-socks5-proxy
Creating SOCKS5 Proxy (Pod)...
pod/davegallant-proxy created
</code></pre>
<p>With the above proxy connection open, it is possible to access both the DNS and private IPs accessible within the k8s cluster. In this case, I am able to access the private database, since there is network connectivity between the k8s cluster and the database.</p>
<h2 id="caveats-and-conclusion">Caveats and Conclusion<a href="#caveats-and-conclusion" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>The above outlined solution makes some assumptions:</p>
<ul>
<li>there is a k8s cluster</li>
<li>the k8s cluster has network connectivity to the desired private database</li>
</ul>
<p>If these stars align, than this solution might work as a stopgap for accessing a private Azure DB (and I&rsquo;m assuming this could work similarly on AWS).</p>
<p>It would be nice if Azure provided tooling similar to cloud-sql-proxy, so that using private databases would be more of a convenient experience.</p>
<p>One other thing to note is that some clients (such as <a href="https://dbeaver.io/">dbeaver</a>) <a href="https://github.com/dbeaver/dbeaver/issues/872">do not provide DNS resolution over SOCKS</a>. So in this case, you won&rsquo;t be able to use DNS as if you were inside the cluster, but instead have to rely on knowing private ip addresses.</p></section>
<div class="post-tags">
<nav class="nav tags">
<ul class="tags">
<li><a href="/tags/azure">azure</a></li>
<li><a href="/tags/database">database</a></li>
<li><a href="/tags/proxy">proxy</a></li>
<li><a href="/tags/socks">socks</a></li>
<li><a href="/tags/aks">aks</a></li>
<li><a href="/tags/k8s">k8s</a></li>
<li><a href="/tags/aws">aws</a></li>
<li><a href="/tags/bastion">bastion</a></li>
<li><a href="/tags/eks">eks</a></li>
<li><a href="/tags/cloud-sql-proxy">cloud-sql-proxy</a></li>
<li><a href="/tags/kubectl-plugin-socks5-proxy">kubectl-plugin-socks5-proxy</a></li>
</ul>
</nav>
</div>
</article>
</main>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -101,6 +101,16 @@
<section class="list-item">
<h1 class="title"><a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a></h1>
<time>May 22, 2023</time>
<br><div class="description">
</div>
</section>
<section class="list-item">
<h1 class="title"><a href="/blog/2022/12/10/watching-youtube-in-private/">Watching YouTube in Private</a></h1>
<time>Dec 10, 2022</time>

View File

@@ -7,7 +7,7 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>About</title>
<link>/about/</link>
@@ -17,6 +17,15 @@
<description>I&amp;rsquo;m a software engineer with a passion for open-source, infrastructure, tooling and security.</description>
</item>
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
<item>
<title>Watching YouTube in Private</title>
<link>/blog/2022/12/10/watching-youtube-in-private/</link>

View File

@@ -96,6 +96,8 @@
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li><li class="post">
<a href="/blog/2022/12/10/watching-youtube-in-private/">Watching YouTube in Private</a> <span class="meta">Dec 10, 2022</span>
</li><li class="post">
<a href="/blog/2022/04/02/virtualizing-my-router-with-pfsense/">Virtualizing My Router With pfSense</a> <span class="meta">Apr 2, 2022</span>

View File

@@ -7,7 +7,16 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate><atom:link href="/post/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/post/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
<item>
<title>Watching YouTube in Private</title>
<link>/blog/2022/12/10/watching-youtube-in-private/</link>

View File

@@ -3,24 +3,60 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/about/</loc>
</url><url>
<loc>/tags/aks/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/aws/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/azure/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/bastion/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/cloud-sql-proxy/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/database/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/eks/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/k8s/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/kubectl-plugin-socks5-proxy/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/post/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/proxy/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/socks/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/degoogle/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
</url><url>
<loc>/tags/invidious/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
</url><url>
<loc>/post/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
</url><url>
<loc>/tags/privacy/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
</url><url>
<loc>/tags/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
</url><url>
<loc>/tags/tailscale/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
@@ -93,9 +129,6 @@
</url><url>
<loc>/blog/2021/09/17/automatically-rotating-aws-access-keys/</loc>
<lastmod>2021-09-17T12:48:33-04:00</lastmod>
</url><url>
<loc>/tags/aws/</loc>
<lastmod>2021-09-17T12:48:33-04:00</lastmod>
</url><url>
<loc>/tags/aws-vault/</loc>
<lastmod>2021-09-17T12:48:33-04:00</lastmod>

149
public/tags/aks/index.html Normal file
View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>aks - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/aks/index.xml" title="davegallant" />
<meta property="og:title" content="aks" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/aks/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="aks"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "aks"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

21
public/tags/aks/index.xml Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>aks on davegallant</title>
<link>/tags/aks/</link>
<description>Recent content in aks on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/aks/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -96,6 +96,8 @@
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li><li class="post">
<a href="/blog/2021/09/17/automatically-rotating-aws-access-keys/">Automatically Rotating AWS Access Keys</a> <span class="meta">Sep 17, 2021</span>
</li></ul>

View File

@@ -7,7 +7,16 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Fri, 17 Sep 2021 12:48:33 -0400</lastBuildDate><atom:link href="/tags/aws/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/aws/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
<item>
<title>Automatically Rotating AWS Access Keys</title>
<link>/blog/2021/09/17/automatically-rotating-aws-access-keys/</link>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>azure - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/azure/index.xml" title="davegallant" />
<meta property="og:title" content="azure" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/azure/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="azure"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "azure"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>azure on davegallant</title>
<link>/tags/azure/</link>
<description>Recent content in azure on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/azure/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>bastion - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/bastion/index.xml" title="davegallant" />
<meta property="og:title" content="bastion" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/bastion/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="bastion"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "bastion"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>bastion on davegallant</title>
<link>/tags/bastion/</link>
<description>Recent content in bastion on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/bastion/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>cloud-sql-proxy - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/cloud-sql-proxy/index.xml" title="davegallant" />
<meta property="og:title" content="cloud-sql-proxy" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/cloud-sql-proxy/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="cloud-sql-proxy"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "cloud-sql-proxy"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>cloud-sql-proxy on davegallant</title>
<link>/tags/cloud-sql-proxy/</link>
<description>Recent content in cloud-sql-proxy on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/cloud-sql-proxy/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>database - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/database/index.xml" title="davegallant" />
<meta property="og:title" content="database" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/database/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="database"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "database"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>database on davegallant</title>
<link>/tags/database/</link>
<description>Recent content in database on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/database/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

149
public/tags/eks/index.html Normal file
View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>eks - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/eks/index.xml" title="davegallant" />
<meta property="og:title" content="eks" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/eks/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="eks"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "eks"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

21
public/tags/eks/index.xml Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>eks on davegallant</title>
<link>/tags/eks/</link>
<description>Recent content in eks on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/eks/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -105,6 +105,10 @@
<li><a style="font-size: 1rem;" href="/tags/aws/">aws</a></li>
<li><a style="font-size: 1rem;" href="/tags/degoogle/">degoogle</a></li>
@@ -125,7 +129,7 @@
<li><a style="font-size: 1rem;" href="/tags/aws/">aws</a></li>
<li><a style="font-size: 1rem;" href="/tags/aks/">aks</a></li>
@@ -133,14 +137,30 @@
<li><a style="font-size: 1rem;" href="/tags/azure/">azure</a></li>
<li><a style="font-size: 1rem;" href="/tags/backup/">backup</a></li>
<li><a style="font-size: 1rem;" href="/tags/bastion/">bastion</a></li>
<li><a style="font-size: 1rem;" href="/tags/cloud-sql-proxy/">cloud-sql-proxy</a></li>
<li><a style="font-size: 1rem;" href="/tags/containers/">containers</a></li>
<li><a style="font-size: 1rem;" href="/tags/database/">database</a></li>
<li><a style="font-size: 1rem;" href="/tags/docker/">docker</a></li>
@@ -149,6 +169,10 @@
<li><a style="font-size: 1rem;" href="/tags/eks/">eks</a></li>
<li><a style="font-size: 1rem;" href="/tags/gmail/">gmail</a></li>
@@ -177,6 +201,14 @@
<li><a style="font-size: 1rem;" href="/tags/k8s/">k8s</a></li>
<li><a style="font-size: 1rem;" href="/tags/kubectl-plugin-socks5-proxy/">kubectl-plugin-socks5-proxy</a></li>
<li><a style="font-size: 1rem;" href="/tags/linux/">linux</a></li>
@@ -217,6 +249,10 @@
<li><a style="font-size: 1rem;" href="/tags/proxy/">proxy</a></li>
<li><a style="font-size: 1rem;" href="/tags/ransomware/">ransomware</a></li>
@@ -233,6 +269,10 @@
<li><a style="font-size: 1rem;" href="/tags/socks/">socks</a></li>
<li><a style="font-size: 1rem;" href="/tags/synology/">synology</a></li>

View File

@@ -7,7 +7,106 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>aks</title>
<link>/tags/aks/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/aks/</guid>
<description></description>
</item>
<item>
<title>aws</title>
<link>/tags/aws/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/aws/</guid>
<description></description>
</item>
<item>
<title>azure</title>
<link>/tags/azure/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/azure/</guid>
<description></description>
</item>
<item>
<title>bastion</title>
<link>/tags/bastion/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/bastion/</guid>
<description></description>
</item>
<item>
<title>cloud-sql-proxy</title>
<link>/tags/cloud-sql-proxy/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/cloud-sql-proxy/</guid>
<description></description>
</item>
<item>
<title>database</title>
<link>/tags/database/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/database/</guid>
<description></description>
</item>
<item>
<title>eks</title>
<link>/tags/eks/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/eks/</guid>
<description></description>
</item>
<item>
<title>k8s</title>
<link>/tags/k8s/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/k8s/</guid>
<description></description>
</item>
<item>
<title>kubectl-plugin-socks5-proxy</title>
<link>/tags/kubectl-plugin-socks5-proxy/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/kubectl-plugin-socks5-proxy/</guid>
<description></description>
</item>
<item>
<title>proxy</title>
<link>/tags/proxy/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/proxy/</guid>
<description></description>
</item>
<item>
<title>socks</title>
<link>/tags/socks/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/socks/</guid>
<description></description>
</item>
<item>
<title>degoogle</title>
<link>/tags/degoogle/</link>
@@ -197,15 +296,6 @@
<description></description>
</item>
<item>
<title>aws</title>
<link>/tags/aws/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/tags/aws/</guid>
<description></description>
</item>
<item>
<title>aws-vault</title>
<link>/tags/aws-vault/</link>

149
public/tags/k8s/index.html Normal file
View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>k8s - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/k8s/index.xml" title="davegallant" />
<meta property="og:title" content="k8s" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/k8s/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="k8s"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "k8s"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

21
public/tags/k8s/index.xml Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>k8s on davegallant</title>
<link>/tags/k8s/</link>
<description>Recent content in k8s on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/k8s/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>kubectl-plugin-socks5-proxy - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/kubectl-plugin-socks5-proxy/index.xml" title="davegallant" />
<meta property="og:title" content="kubectl-plugin-socks5-proxy" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/kubectl-plugin-socks5-proxy/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="kubectl-plugin-socks5-proxy"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "kubectl-plugin-socks5-proxy"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>kubectl-plugin-socks5-proxy on davegallant</title>
<link>/tags/kubectl-plugin-socks5-proxy/</link>
<description>Recent content in kubectl-plugin-socks5-proxy on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/kubectl-plugin-socks5-proxy/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>proxy - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/proxy/index.xml" title="davegallant" />
<meta property="og:title" content="proxy" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/proxy/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="proxy"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "proxy"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>proxy on davegallant</title>
<link>/tags/proxy/</link>
<description>Recent content in proxy on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/proxy/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>socks - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/socks/index.xml" title="davegallant" />
<meta property="og:title" content="socks" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/socks/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="socks"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/about">About</a>
<a href="/tags">Tags</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "socks"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://fosstodon.org/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>socks on davegallant</title>
<link>/tags/socks/</link>
<description>Recent content in socks on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/socks/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>