-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
initial draft of minesweeper daemonset #1778
Conversation
allows secrets in images or the chart itself
local = threading.local()
def get_kube():
"""Get thread-local kubernetes client
kubernetes client objects aren't threadsafe, I guess
"""
if not hasattr(local, "kube"):
local.kube = kubernetes.client.CoreV1Api()
return local.kube Do you understand more about this? Wondering if we should be doing this for BinderHub as well. Could we hide things like the patterns we look like in a config file in a config in |
a03e2c5
to
33b9b38
Compare
It appears to be in the 'handshake' itself. I don't understand enough about the kuberntes API to be sure what's going on here, but it surprised me a bit to see this issue here (and it was very reliable) but not in binderhub ~ever. Maybe it has to do with a first-run request for a token or something? Or maybe it's specific to the streaming websocket requests involved here. It may be appropriate to do it in binderhub, but probably fine to wait-and-see. Could come up on a kubernetes version bump, perhaps.
Yes, we could definitely do that, however just knowing what information we look at is enough to make a pretty good guess. I'll have a look |
produces reports on suspicious pods terminates a subset of processes based on stricter criteria
instead of parsing ps output ourselves makes extending/adding field much easier
@betatim I moved the inspection implementations into an encrypted There are two flags to come out of inspection:
Both pods and processes are inspected and can be flagged for suspicion. The image being used is currently defined here: https://github.com/minrk/overwatch . The only requirements (so far): python, psutil, kubernetes. |
run as singleuser-pod uid for access to certain attributes and root group for others drop all capabilities by default, since we don't want to be able to e.g. kill other processes
@betatim I believe I've implemented the changes discussed at the meeting:
|
make them public images now that all federation members use at least one image (minesweeper), publish in a public place like z2jh instead of the private gcp registry. DOCKER_USERNAME, DOCKER_PASSWORD for jupyterhubbot have been added to secrets, the same one we use for z2jh.
name: | ||
tag: | ||
name: jupyterhub/mybinder.org-analytics-publisher | ||
tag: 'set-by-chartpress' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes caused by chartpress --reset
Main things to consider:
ps
. But we cannot use chartpress for images right now (I think) because non-GKE projects can't pull images from GKE. chartpress images are now published to dockerhub