- Notifications
You must be signed in to change notification settings - Fork0
/etc directory from our shell servers, managed via etckeeper
License
nckx/shell-etc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
http://github.com/hashbang/shell-etc
This is the '/etc' directory of the #! shell servers.Git management is handled viaetckeeper
New servers added to the pool will also have this configuration to give users an equal experience.
- Debian 7+
Making changes to this repo will require a running #!shell server.
An easy way to set this up locally is by running our latest shell-serverDocker image.
A command like the following can get you going with a local development server:
docker run -d \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v $PWD:/etc-git \ -v $HOME/.gitconfig:/root/.gitconfig:ro \ --name shell-server \ --cap-add SYS_ADMIN \ hashbang/shell-server
From here you can enter this environment with:
docker exec -it shell-server bash
In this environment you can make updates and install packages withapt-get
.Changes will automatically be committed and pushed to your working shell-etccheckout by etckeeper. Assuming you chose to mount your .gitconfig above, thechanges should be attributed correctly as you.
Any changes made to /etc without apt-get will need to be committed/pushed inplace, which should be reflected in your local checkout as well.
When you are ready to contribute your changes upstream, please push to a branchor a fork and make a pull request.
Note: the above workflow is only suitable for making very basic changes likenew package installations etc. If you want to do something more complex thatrequires interaction with a user database, etc, please consider using ourend-to-end local development setup, documented here:hashbang/hashbang
If you prefer to GPG sign your commits, a couple of options exist.
You can manually sign your most recent commit before pushing with:
git commit -S --amend
Assuming you use git auto-signing and have ssh-agents set up properly,you can opt to expose your gpg/ssh sockets by adding the following argumentsto your docker run command:
... -v $HOME/.gitconfig:/root/.gitconfig:ro \ -v $HOME/.gnupg:/root/.gnupg \ -v $SSH_AUTH_SOCK:/root/.ssh-agent \ -e SSH_AUTH_SOCK=/root/.ssh-agent \...
Use at your own risk. You may be eaten by a grue.
Questions/Comments?
Talk to us via: