Skip to content
This repository has been archived by the owner on Nov 4, 2022. It is now read-only.

Alpine Build #192

Open
hosom opened this issue Oct 16, 2018 · 0 comments
Open

Alpine Build #192

hosom opened this issue Oct 16, 2018 · 0 comments

Comments

@hosom
Copy link
Contributor

hosom commented Oct 16, 2018

I've been trying out Stenographer on Alpine and have some notes that I wanted to share (in addition to possibly adding a few pull requests in the near future to help handle the easier ones).

Extra Packages Required

apk add libaio-dev leveldb-dev snappy-dev g++ \
make libcap libseccomp-dev jq openssl go libunwind-dev argp-standalone bash curl

Note: libunwind-dev, argp-standalone, and bash are not required on other platforms.

Unwind provides execinfo for backtrace information. Argp-standalone provides functions included in glibc but not included in musl. Bash is required because a number of the scripts distributed with stenographer require it to function.

A number of these packages are not available in the main repository and you must install the community and testing repositories to install them.

seccomp sandboxing

So far, I have been unable to get seccomp functioning with Alpine. I'm not sure what's missing, since I haven't had the time to troubleshoot. For now it is running with --seccomp=none as an argument for stenotype.

service script

These are simple to write, but slightly different from upstart and systemd.

#!/sbin/openrc-run

name=$RC_SVCNAME
description="Stenographer - packet capture to disk."
command="/usr/bin/stenographer"
command_args=" "
command_user="stenographer"
command_background="yes"
pidfile="/var/run/stenographer.pid"
rc_ulimit="-n 1000000"

depend() {
    need net
}

stop_post() {
    /usr/bin/pkill -9 stenotype
}

Start on boot

rc-update add stenographer default

Setting ulimits

While it is always good to declare ulimits in /etc/security/limits.d/stenographer.conf, this will do absolutely nothing for modifying a service's ulimit in Alpine. You'll need to modify the ulimit in the rc configuration file (this is already done above, but called out for awareness) using the rc_ulimit argument.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant