There are lots of posts about setting up CD with Jenkins and Kubernetes but I haven't found any describing how to do it with Nomad and Gitlab.
So here's how I did it…
There are lots of posts about setting up CD with Jenkins and Kubernetes but I haven't found any describing how to do it with Nomad and Gitlab.
So here's how I did it…
I also found the docs for consul connect
to be confusing. They don't
clearly differentiate the difference between the client and server
proxy.
Some declarations that are worth stating explicitly:
consul acl
needs to be setup first, see consul acl for more infoconsul connect
proxies can only talk to other consul connect
proxiesconsul connect
proxies can not talk directly to a service-service
vs -listen
vs -upstream
are terribleconsul connect
processHaving said all that, service mesh sounds like they're worth having.
Mitchell Hashimoto at least partly agrees with me.
I found the otherwise great consul docs to be very obtuse and confusing and maybe even wrong.
I'm running these commands against my home setup which only has a single consul server. In a more realistic setup you'll need to duplicate the config changes on all your consul servers and then restart them one at a time.
Ran against consul 1.4.0
I opened an issue on GitHub several months ago against the awesome fabio asking for a simple feature. To help foster community and contributors (I assume) the maintainer showed me the file to edit.
The problem, and why I ignored it for several months, was that I don't know Go. The patch itself is crazy simple, just editing an html template. The problem is the Go environment. How do you build, how do you test, etc…
Anyhow… today was the day I'd tackle this… what could go wrong?
On Tuesday, December 11, 2018 I received a phising email, redacted version on pastebin.
Thankfully I used a unique password because there it was, in the clear. The unique password showed me that it was for http://osnews.com.
I reached out to them immediately and got a response promptly but it didn't mention anything about disclosure. So I then asked David if he was planning to tell his users about the breach and he replied he would by the end of the week.
Here's a snippet of his response:
The very old custom CMS that OSNews runs on hasn’t been meticulously
updated, and it does appear that someone got ahold of our user data.
On Monday, with still no announcement I sent another email and asked again. David replied he would announce by end of day. Although several content posts have been added in the last week there has still been no announcement of the security breach.
So, after one week, I'm announcing for them.
Damn.
Sometimes you don't have a favicon.ico
or it's not in your staticfiles
because you have a single page javascript or you're just tired of seeing 404
s in your debug output.
Here's how you can serve up a hard coded icon (or any file really) directly from django.
I got this transparent icon from transparent-favicon.info
wget http://transparent-favicon.info/favicon.ico
base64 favicon.ico
I put this in my main project urls.py
but feel free to put wherever.
# project/urls.py
def favicon(request):
from textwrap import dedent
from django.http import HttpResponse
import base64
icon = """\
AAABAAEAEBACAAEAAQCwAAAAFgAAACgAAAAQAAAAIAAAAAEAAQAAAAAAgAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/
/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA"""
icon = dedent(icon)
icon = base64.b64decode(icon)
return HttpResponse(icon, content_type="image/x-icon")
urlpatterns += [
url(r'^favicon.ico', favicon, name='favicon'),
]
I just installed pfSense 2.4.4 on an NVMe drive over IPMI with a (very important!) uefi cdrom drive.
I can also verify that trying to do this with pfSense 2.3 leads to tears and sadness.
Prometheus is really good at pulling metrics but it needs help if you want to test if a given host is up with a simple ping.
In this post I'll show you my config that gets a list of hosts from consul (plus some static hosts) and then ping them to monitor if they're up or not.
If a host goes down then fire an alert.
I'm just standing up a full “Hashi Stack” with Consul, Nomad, and Vault so likely lots of future posts.
One part that should have been simple but took lots of trial and error was getting authentication to work to our FreeIPA installation.
Here are the steps required (assumes vault and freeipa already installed and working)…
I thought I understood async programming as I'd written a few non-trivial apps in the past (using Boost ASIO)
Who has two thumbs and suffers from async programming Dunning-Kruger effect? This guy!
So here's the first of hopefully many recipes to make async programming under Python 3.6 a little easier.