diff --git a/jekyll/Gemfile b/jekyll/Gemfile index c3056f2..75ad158 100644 --- a/jekyll/Gemfile +++ b/jekyll/Gemfile @@ -22,6 +22,7 @@ group :jekyll_plugins do gem 'jekyll-sitemap', '~> 1.4' gem 'jekyll-compose', '~> 0.12.0' gem 'jekyll-postfiles', '~> 3.1' + gem 'jekyll-commonmark-ghpages' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem diff --git a/jekyll/Gemfile.lock b/jekyll/Gemfile.lock index a141b2a..9240647 100644 --- a/jekyll/Gemfile.lock +++ b/jekyll/Gemfile.lock @@ -4,6 +4,8 @@ GEM addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) concurrent-ruby (1.2.0) em-websocket (0.5.3) eventmachine (>= 0.12.9) @@ -29,6 +31,13 @@ GEM rouge (~> 3.0) safe_yaml (~> 1.0) terminal-table (~> 1.8) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.6) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) jekyll-compose (0.12.0) jekyll (>= 3.7, < 5.0) jekyll-feed (0.17.0) @@ -58,6 +67,8 @@ GEM ffi (~> 1.0) rexml (3.2.5) rouge (3.30.0) + ruby-enum (0.9.0) + i18n safe_yaml (1.0.5) sassc (2.4.0) ffi (~> 1.9) @@ -71,6 +82,7 @@ PLATFORMS DEPENDENCIES jekyll (~> 4.1.0) + jekyll-commonmark-ghpages jekyll-compose (~> 0.12.0) jekyll-feed (~> 0.13) jekyll-postfiles (~> 3.1) diff --git a/jekyll/_config.yml b/jekyll/_config.yml index b658fd6..5fbb91a 100644 --- a/jekyll/_config.yml +++ b/jekyll/_config.yml @@ -20,7 +20,7 @@ collections: posts: output: true -markdown: kramdown +markdown: CommonMarkGhPages highlighter: rouge kramdown: syntax_highlighter: rouge @@ -69,3 +69,8 @@ plugins: - jekyll-feed - jekyll-sitemap - jekyll-postfiles + - jekyll-commonmark-ghpages + +commonmark: + options: ["SMART", "FOOTNOTES"] + extensions: ["strikethrough", "autolink", "table", "tagfilter"] diff --git a/jekyll/_posts/fluent-bit-memory/2023-08-09-fluent-bit-memory.md b/jekyll/_posts/fluent-bit-memory/2023-08-09-fluent-bit-memory.md index d5160c4..b20ba90 100644 --- a/jekyll/_posts/fluent-bit-memory/2023-08-09-fluent-bit-memory.md +++ b/jekyll/_posts/fluent-bit-memory/2023-08-09-fluent-bit-memory.md @@ -22,7 +22,7 @@ The problem is that `Mem.used` and `Mem.free` do not accurately reflect the mach This is because these metrics include caches and buffers, which can be reclaimed by other processes if needed. Most tools reporting memory usage therefore include an additional metric that specifices the memory _available_ on the system. For example, the command `free -m` reports the following data on my laptop: -``` +```text total used free shared buff/cache available Mem: 15864 3728 7334 518 5647 12136 Swap: 2383 663 1720 diff --git a/jekyll/_posts/hashicorp-license-change/2023-08-17-hashicorp-license-change.md b/jekyll/_posts/hashicorp-license-change/2023-08-17-hashicorp-license-change.md new file mode 100644 index 0000000..0e9b7a7 --- /dev/null +++ b/jekyll/_posts/hashicorp-license-change/2023-08-17-hashicorp-license-change.md @@ -0,0 +1,38 @@ +--- +layout: post +title: Hashicorp's License Change and my Home Lab +date: 2023-08-17 18:15:00 Europe/Amsterdam +categories: hashicorp terraform vault nomad +--- + +Already a week ago, Hashicorp [announced](https://www.hashicorp.com/blog/hashicorp-adopts-business-source-license) it would change the license on almost all its projects. +Unlike [their previous license](https://github.com/hashicorp/terraform/commit/ab411a1952f5b28e6c4bd73071194761da36a83f), which was the Mozilla Public License 2.0, their new license is no longer truly open source. +It is called the Business Source Licenseā„¢ and restricts use of their software for competitors. +In their own words: +> Vendors who provide competitive services built on our community products will no longer be able to incorporate future releases, bug fixes, or security patches contributed to our products. + +I found [a great article](https://meshedinsights.com/2021/02/02/rights-ratchet/) by MeshedInsights that names this behaviour the "rights ratchet model". +They define a script start-ups use to garner the interest of open source enthusiasts but eventually turn their back on them for profit. +The reason why Hashicorp can do this, is because contributors signed a copyright license agreement (CLA). +This agreement transfers the copyright of contributors' code to Hashicorp, allowing them to change the license if they want to. + +I find this action really regrettable because I like their products. +This sort of action was also why I wanted to avoid using an Elastic stack, which also had their [license changed](https://www.elastic.co/pricing/faq/licensing).[^elastic] +These companies do not respect their contributors and the software stack beneath they built their product on, which is actually open source (Golang, Linux, etc.). + +# Impact on my Home Lab + +I am using Terraform in my home lab to manage several important things: +- Libvirt virtual machines +- PowerDNS records +- Elasticsearch configuration + +With Hashicorp's anti open source move, I intend to move away from Terraform in the future. +While I will not use Hashicorp's products for new personal projects, I will leave my current setup as-is for some time because there is no real need to quickly migrate. + +I might also investigate some of Terraform's competitors, like Pulumi. +Hopefully there is a project that respects open source which I can use in the future. + +# Footnotes + +[^elastic]: While I am still using Elasticsearch, I don't use the rest of the Elastic stack in order to prevent a vendor lock-in. diff --git a/jekyll/_posts/homebrew-ssh-ca/2023-05-23-homebrew-ssh-ca.md b/jekyll/_posts/homebrew-ssh-ca/2023-05-23-homebrew-ssh-ca.md index 8422173..92a1092 100644 --- a/jekyll/_posts/homebrew-ssh-ca/2023-05-23-homebrew-ssh-ca.md +++ b/jekyll/_posts/homebrew-ssh-ca/2023-05-23-homebrew-ssh-ca.md @@ -6,14 +6,14 @@ categories: ssh terraform ansible --- Ever SSH'ed into a freshly installed server and gotten the following annoying message? -``` +```text The authenticity of host 'host.tld (1.2.3.4)' can't be established. ED25519 key fingerprint is SHA256:eUXGdm1YdsMAS7vkdx6dOJdOGHdem5gQp4tadCfdLB8. Are you sure you want to continue connecting (yes/no)? ``` Or even more annoying: -``` +```text @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ diff --git a/jekyll/_posts/virtio-9p-experiences/2023-05-31-virtio-9p-experiences.md b/jekyll/_posts/virtio-9p-experiences/2023-05-31-virtio-9p-experiences.md index 89f564c..da8953d 100644 --- a/jekyll/_posts/virtio-9p-experiences/2023-05-31-virtio-9p-experiences.md +++ b/jekyll/_posts/virtio-9p-experiences/2023-05-31-virtio-9p-experiences.md @@ -30,7 +30,7 @@ Under the hood, virtio-9p uses the 9pnet protocol. Originally developed at Bell Labs, support for this is available in all modern Linux kernels. If you share a directory with a VM, you can then mount it. Below is an extract of my `/etc/fstab` to automatically mount the directory: -``` +```text data /mnt/data 9p trans=virtio,rw 0 0 ```