Development
envoy as http 2 front proxy – enabling http 2 for envoy (aka h2)
Out of the box envoy is not configured to set up connections with clients connecting to it with the new HTTP/2. HTTP/2 is optimized for the modern web, with binary headers, etc. – higher speed. Since envoy is capable of speaking HTTP/2 to clients, it is a no-brainer to set it up. And the setup…
Weiterlesenenvoy force SSL example envoy.yaml
static_resources: listeners: – address: socket_address: address: 0.0.0.0 port_value: 80 filter_chains: – filters: – name: envoy.http_connection_manager config: codec_type: auto stat_prefix: ingress_http route_config: virtual_hosts: – name: backend domains: [“*”] routes: – match: { prefix: “/” } redirect: path_redirect: “/” https_redirect: true http_filters: – name: envoy.router config: {} – address: socket_address: address: 0.0.0.0 port_value: 443 filter_chains: – tls_context: …
Weiterlesenenvoy.yaml example for http and https rewriting
This is an early example of working with envoy. I find the documentation to be difficult to get into, therefore I will try to track my progress by infrequent blog posts on the matter. The following envoy.yaml works for me for http and https rewriting to google: static_resources: listeners: – address: socket_address: address: 0.0.0.0 port_value:…
WeiterlesenException: Unexpected quote at 1:2 (CSV::MalformedCSVError) Crystal
While trying to parse an Amazon pay file, I stumbled across this particular problem: Exception: Unexpected quote at 1:2 (CSV::MalformedCSVError) The reason: Amazon Pay encodes it’s files in UTF-8 with BOM. The BOM is an optional (in UTF-8 files) marker. You can see it with the tool xxd for instance xxd apolish_amazon_2018DecMonthlyTransaction.csv | less The…
WeiterlesenInstall Crystal on Docker: how to add the Crystal repository to Docker in the Dockerfile
Dockerfile (excerpt) ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN apt-get update && apt-get install -y \ software-properties-common \ build-essential \ libevent-dev \ libssl-dev \ libxml2-dev \ libyaml-dev \ libgmp-dev \ libreadline-dev \ apt-transport-https \ iputils-ping \ git \ aptitude \ nano \ openssh-server \ && apt-key adv –keyserver keys.gnupg.net –recv-keys 09617FD37CC06B54 \ && add-apt-repository ‘deb https://dist.crystal-lang.org/apt crystal…
WeiterlesenCrystal libevent-2.0.so.5: cannot open shared object file
Today I upgraded my Ubuntu to 18.04. Compiling a file with Crystal gives me the following error: stderr: /root/.cache/crystal/usr-share-crystal-src-ecr-process.cr/macro_run: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory The library in question, libevent-2.0.so.5 has been superseded by libevent-2.1.so.6 => /usr/lib/x86_64-linux-gnu/libevent-2.1.so.6 Crystal is of course aware of this…
WeiterlesenCrystal & Alpine on the Raspberry Pi
Bringing together two interesting technologies: Alpine Linux – a small-size and security oriented Linux distribution Crystal – a compiled language with a nice syntax (similar to Ruby) on the Raspberry Pi (armhf / ARMv6, which would also support the Pi Zero W) is not possible currently, as of 21.12.2018. There is no (at least no…
WeiterlesenCrystal: crystal language Duplicate trail found
max@morpheus:~/crystal/taxgod$ crystal run src/taxgod.cr Unhandled exception: Duplicate trail found ‘vat-correction’ (Radix::Tree::DuplicateError) from lib/radix/src/radix/tree.cr:0:11 in ‘add’ from lib/radix/src/radix/tree.cr:149:11 in ‘add’ from lib/radix/src/radix/tree.cr:149:11 in ‘add’ from lib/radix/src/radix/tree.cr:108:9 in ‘add’ from lib/kemal/src/kemal/route_handler.cr:49:7 in ‘add_to_radix_tree’ from lib/kemal/src/kemal/route_handler.cr:21:7 in ‘add_route’ from lib/kemal/src/kemal/dsl.cr:12:1 in ‘post’ from src/vatcorrection.cr:26:2 in ‘__crystal_main’ from /usr/share/crystal/src/crystal/main.cr:97:5 in ‘main_user_code’ from /usr/share/crystal/src/crystal/main.cr:86:7 in ‘main’ from /usr/share/crystal/src/crystal/main.cr:106:3 in ‘main’…
WeiterlesenThe Crystal programming language and encodings
Recently I found myself struggling with setting up file encodings correctly in the Crystal programming language, this is why I document this here. Crystal defaults to reading and writing files in UTF-8. Sometimes you will encounter files encoded in e.g. the Windows-1252 code page. (This is the western european code page, e.g. used for German…
WeiterlesenOptimizing page size for Shopify–uncomfortable truths
The uncomfortable truth in my case is that our main page currently weighs in at 3,4 MB – and this is just the HTML. I had been trusting the developers of the theme too much – we are using a theme called “Fastor” by Roarthemes. Unfortunately a poor design choice was made in this theme;…
Weiterlesen