My Personal dotfiles
- Clone the repository.
# Create space directory
$ mkdir -p ~/space
$ git clone [email protected]:clivern/anubis.git ~/space/anubis
- Install opswork and
pip
globally.
$ brew install yq
$ pip install -r requirements.freeze.txt
$ alias op=opswork
- Init the configs
$ op config init
$ op config dump
- Add local as a host.
$ make hosts
- Add dotfiles recipes.
$ make recipes
- Run recipes one by one or the needed ones. for example to run
clivern/ping
towards host with namelocalhost
.
$ op recipe run clivern/linux/ping -h localhost -v key=value
# To get the must have list
$ op recipe list -t must_have -o json | jq .
- To install dotfiles.
$ make run
- To run command either locally or remotely.
# Add a Remote Linux Host
$ op host add clivern -i ~x.x.x.x~ -p 22 -u ~user~ -s /Users/root/.ssh/id_rsa.pem
# Check Uptime
$ op recipe run clivern/linux/cmd -h clivern -v cmd="uptime"
# Ping Remote Host
$ op recipe run clivern/linux/ping -h clivern
# Update
$ op recipe run clivern/linux/update -h clivern
# Upgrade
$ op recipe run clivern/linux/upgrade -h clivern
# Force Reboot
$ op recipe run clivern/linux/cmd -h clivern -v cmd="reboot"
# SSH to any Host
$ op host ssh clivern
- Store the secrets in
OpsWork
vault.
$ op secret add clivern/ai/google_palm_api_key "~~" -t ai
$ op secret add clivern/ai/openai_api_key "~~" -t ai
- Secret can be loaded as environmental variable by adding it to
configs/secrets.j2
like the following.
$ export OPENAI_API_KEY="$(op secret get clivern/ai/openai_api_key -o json | jq -r '.[0].value')"
- To load secrets from terminal.
$ source ~/.secrets
- To list all recipes
$ op recipe list -o json | jq -r '.[].name'
To install ngrok
$ op recipe run clivern/anubis/ngrok -h localhost
To add ngrok
secrets like the key
and domain
# Define ngrok key and domain
$ op secret add clivern/ngrok_domain "x.x.x.ngrok-free.app" -t ngrok
$ op secret add clivern/ngrok_key "xxxxxxxxx" -t ngrok
$ source ~/.secrets
To configure ngrok
auth token
$ ngrok config add-authtoken $NGROK_KEY
To proxy to local port 8000
$ ngrok http --domain=$NGROK_DOMAIN 8000
My Technology Radar is stored in tradar.json
[
{
"name": "..",
"ring": "adopt or trial or assess or hold",
"quadrant": "tools or techniques or platforms or languages-and-frameworks",
"isNew": "FALSE or TRUE",
"description": ".."
}
]
ยฉ 2010, Clivern. Released under MIT License.
Anubis is authored and maintained by @clivern.