This means k8s.jsonnet only works with kubernetes versions >= 1.19.0, but means it works with kubernetes versions >= 1.22.0 as well, which removed the old networking.k8s.io/v1beta API.
It causes problems due to the sheer number of unique metrics emitted, which makes
the prometheus endpoint be very expensive / fail a lot.
The data is not useful enough to justify the cost.
* Add thrimshim to k8s jsonnet file
* Fix reference to bustime_start in thrimshim
* Add "enabled" config to selectively disable things
* Fix styling and handling of disabled components
* Don't need to "hide" enabled field
* Add port arg to thrimshim deployment
* fix indent nitpick
Co-authored-by: Mike Lang <ekimekim@users.noreply.github.com>
Use jsonnet computed field names to optionally add TLS configuration to generated Ingress object
In this way, one can easily let the kubernetes ingress handle TLS, with or without a secretName
Additional configuration would be required to tie into cert-manager for automated cert generation
Note this version is very simplified compared to the docker-compose
and has some major limitations:
* It relies on hostPath and a nodeSelector to put all the components on a shared storage node
* It only supports use as a replication node (downloader, restreamer, backfiller, segment_coverage)
* It uses the k8s Ingress instead of the built-in nginx for http routing.