-
Notifications
You must be signed in to change notification settings - Fork 3
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
Can the document be more detailed?Please! #1
Comments
The current documentation is definitely not very useful, it contains mostly development notes and not really usage information. After you check out the git repository, use In 'production' usage there is a tier1 component that would run in the cloud, this one is pretty easy to start as The trickier one to run is the tier2 component because it needs to be deployed along (or inside) a kubernetes cluster so that it can deploy backends when requested by tier3 clients. For this one there is an ansible script in For development purposes it is also possible to run tier2 outside of the kubernetes cluster, but that cluster does need to have both kilo and prometheus/node-exporter installed. We also need access to to the k8s cluster credentials and the prometheus instance that is running in the cluster. In this scenario I normally copy the credentials to a local file and make sure I can run kubectl when i point at that file, I then use kubectl proxy to expose the prometheus endpoint locally and run Again all of this should eventually become more simplified and streamlined. Tier3 is currently even worse usage-wise (sorry). Instead of an application integrating tier3, it is currently more like a wrapper around an existing application. The wrapper requests a backend deployment on tier2, gets back the vpn information and creates a local network namespace with only the VPN as an available network and then runs the application in that network namespace. When the application exits the network namespace and vpn endpoint are cleaned up. Creating and destroying the vpn tunnel and network namespace require root privileges, to the wrapper is currently relying on sudo, eventually this should be handled by a (setuid root?) helper process similar to how docker uses containerd for privileged operations. Tier3 is started as
If it connects successfully and deploys a backend it will get VPN endpoint information and should prompt for your password so that sudo can get the network namespace set up. Finally it will run the application which in this case is the bash shell. This shell should only have a single network interface that is connected to the same network namespace as the deployed backend in the kubernetes cluster (check with |
Can you write the document in more detail? I want to run this system on the virtual machine, but I don't know the running order of the files.
The text was updated successfully, but these errors were encountered: