Skip to content
View terjekv's full-sized avatar

Organizations

@EESSI

Block or report terjekv

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
terjekv/README.md

Bio

I'm Terje Kvernes, a systems administrator, software developer, generalized hacker, and writer. I work with Linux (mostly RHEL and Fedora), MacOS, NetApp, Cisco, APC infrastructure and a lot of other hardware. I used to work a lot with audio-visual equipment (mostly Crestron based), but less recently. I also do company-wide Zoom management.

My toolchest at work includes stuff like:

  • Rust
  • Python
  • Ansible
  • CFEngine
  • Fleet/OSquery
  • terraform (and a bit of Packer, targeting AWS, Azure, and OpenStack)
  • perl (not as much as I used to, thankfully)
  • shell scripting (bash, zsh)
  • monitoring through Zabbix/Grafana/Prometheus (and Nagios for some reason)
  • and whatever else the job throws at me... I also have done work in Go, C, Fortran...

In my spare time I hike, write fiction, and get fascinated by new and novel ideas.

Projects

Work-adjacent projects

  • mreg, mreg-cli and mreg-api: A DNS management system, its command line interface, and its Python API. Written in Python, specifically for the University of Oslo, but with some promise of being useful to others.
  • Treetop: A high performance policy engine for authorization requests, built on Cedar.
  • EESSI: European Environment for Scientific Software Installations (sadly, not as active as I'd like to be)
    • I mostly dealt with monitoring for the project. The page generator was originally written in Python but migrated to Rust. Apart from the HTML output this generator also produces a Prometheus metrics endpoint and JSON output for use in other contexts. The page is available at status.eessi.io.
    • This side project also led to a multithreaded type safe Rust CVMFS scraper
  • EasyBuild: A software build and installation framework, mostly used in HPC environments. I've contributed EasyConfigs and some other components. Again something I wish I had more time for.

Personal projects

  • hubuum: A non-opinionated CMDB.
    • This may become more than slightly work adjacent, but right now it's a personal project.
  • Callgrind GitHub Action: A GitHub Action for running Callgrind tests for Rust code on pull requests, showing improvements and regressions per test as a PR comment. Tracks performance against the main branch and between individual commits in the PR itself. It also benchmarks for all features. A few examples: 1, 2 (the latter used an old version of the action and did not track across commits).

Other projects

Other stuff

Talks and presentations

  • ARM HPC Users group 2020: EasyBuild on ARM. Experiences in running EasyBuild on ARM, going through some of the issues with porting software reliant on SSE intrinsics and how to get around such issues.

Pinned Loading

  1. EESSI/status-page EESSI/status-page Public

    Status page for the EESSI infrastructure.

    Python

  2. cvmfs-server-scraper cvmfs-server-scraper Public

    Scraping metadata from CVMFS stratum 0 and stratum 1 servers.

    Python

  3. easybuilders/easybuild-easyconfigs easybuilders/easybuild-easyconfigs Public

    A collection of easyconfig files that describe which software to build using which build options with EasyBuild.

    Python 441 776

  4. ansible-cvmfs-prometheus-exporter ansible-cvmfs-prometheus-exporter Public

    Jinja

  5. ansible-cvmfs-servermon ansible-cvmfs-servermon Public

    Install cvmfs-servermon via ansible

    Jinja

  6. ansible-eessi-roles ansible-eessi-roles Public

    Ansible roles for setting up a node to use EESSI

    Jinja