http://github.com/hashbang/shell-etc
This is the '/etc' directory of the #! shell servers. Git management is handled via etckeeper
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-server Docker 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 with apt-get
.
Changes will automatically be committed and pushed to your working shell-etc
checkout by etckeeper. Assuming you chose to mount your .gitconfig above, the
changes should be attributed correctly as you.
Any changes made to /etc without apt-get will need to be committed/pushed in place, which should be reflected in your local checkout as well.
When you are ready to contribute your changes upstream, please push to a branch or a fork and make a pull request.
Note: the above workflow is only suitable for making very basic changes like new package installations etc. If you want to do something more complex that requires interaction with a user database, etc, please consider using our end-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 arguments to 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: