Giter Club home page Giter Club logo

dotfiles's Introduction

Ahoy!

I am a DevOps Engineer based in Kiel, Germany.

I can offer:

  • several years of experience in hydro acoustic systems for naval and commercial applications as a DevOps Engineer
  • advanced level Python programming skills
  • experience across the entire Linux stack(from Kernel, networking, containerization to applications)
  • practical knowledge in managing highly available systems
  • experience in Open source software involvement

Professionally I'm interested in:

  • Python
  • fault-tolerant architectures
  • DevOps/NetOps
  • Infrastructure as Code
  • cloud computing technology
  • (networking) protocols

In my spare time I:

  • am interested in politics
  • like to learn about economics, health and history
  • listen to to a lot of Podcasts
  • I seek balance in nature, together with my dog

dotfiles's People

Contributors

m0r13n avatar

Watchers

 avatar  avatar  avatar

dotfiles's Issues

Shellcheck config

Add a file under ~/.config/shellcheckrc with the following contents:

shell=bash
disable=SC1090  # Not fixable (ever?)
disable=SC1090  # not really fixable usually (ever?)
disable=SC2034  # for localizing variables set in called functions
disable=SC2128  # intentional style choice
disable=SC2206  # suggested alternatives fail in posix mode or use temp files
disable=SC2207  # suggested alternatives fail in posix mode or use temp files

Auto add keys on windows

######## SSH Agent ########

Find all ssh sockets.

Each call to ssh-agent creates a new socket and such sockets may

persist even if the ssh-agent process is already dead - even after reboots

Exmaple socket file: /tmp/ssh-VsP12EK7HBfF/agent.1273

function sshagent_findsockets {
find /tmp -uid "$(id -u)" -type s -name agent.* 2>/dev/null;
}

Add all ssh keys

add_keys() {
for key in ~/.ssh/*_key; do
if grep -q PRIVATE "$key"; then
ssh-add -l |grep -q ssh-keygen -lf $key | awk '{print $2}' || ssh-add $key;
fi
done
}

Try to connect to a given socket.

If connection fails, the socket will be permanently deleted

Argument 1: SSH_AUTH_SOCK

function sshagent_testsocket {

    # Check if ssh-add is installed
if [ ! -x "$(which ssh-add)" ] ; then
    echo "ssh-add is not available; agent testing aborted";
    return 1;
fi


    # SSH_AUTH_SOCK param is necessary
if [ -n "$1" ] ; then
    export SSH_AUTH_SOCK=$1;
    else
            return 2;
fi

    # Try to connect to ssh-agent via ssh-add
if [ -S $SSH_AUTH_SOCK ] ; then
    ssh-add -l > /dev/null
    if [ $? = 2 ] ; then
        echo "Deleting $SSH_AUTH_SOCK because it no longer exists..."
        rm -f $SSH_AUTH_SOCK
        return 4
    else
        echo "Found working ssh-agent $SSH_AUTH_SOCK"
        return 0
    fi
else
    echo "$SSH_AUTH_SOCK is not a socket!"
    return 3
fi

}

function sshagent_init {
# ssh agent sockets can be attached to a ssh daemon process or an
# ssh-agent process.

AGENTFOUND=0

# If the ssh-agent env vars are set, we do not need to do anything
if sshagent_testsocket ; then AGENTFOUND=1 ; fi

# Try to connect to any running ssh-agent while deleted invalid ones
if [ $AGENTFOUND = 0 ] ; then
    for agentsocket in $(sshagent_findsockets) ; do
        if [ $AGENTFOUND != 0 ] ; then break ; fi
        if sshagent_testsocket $agentsocket ; then AGENTFOUND=1 ; fi
    done
fi

# No running ssh-agent could be found -> start a new one
if [ $AGENTFOUND = 0 ] ; then
    eval `ssh-agent`;
fi

    # always add missing keys from ~/.ssh/
    add_keys;

# Clean up
unset AGENTFOUND
unset agentsocket

# Finally, show what keys are currently in the agent
ssh-add -l

}

END

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.