back2git

module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2021 License: MIT

README

back2git

This tool will observe files and push a copy of them into a given git repository every time the file was changed.

Usage

The tool reads the configuration from a config yaml. So you have to provide such a config yaml:

> back2git <config_yaml>

This tool runs in the foreground. If you want to run in background you have to do it by your own. There is no service/option inside this tool to do that.

Config

Key Description
repository.url The url of the git repository where the files will be pushed in.
repository.branch The name of the remote branch to push in.
repository.path The location of the local git repository clone.
repository.auth.basic If you want to use basic auth for the given git repository.
repository.auth.basic.username The username.
repository.auth.basic.password The plain password.
repository.auth.basic.passwordCommand The command which should be executed to get the password.
repository.auth.basic.passwordCommand.name The password program path.
repository.auth.basic.passwordCommand.args The arguments for the password program.
repository.auth.token If you want to use a token as authentication for the given git repository.
repository.auth.ssh If you want to use ssh as authentication method for the given git repository.
repository.auth.ssh.username The username.
repository.auth.ssh.privateKey The location of the private key PEM file.
repository.auth.ssh.pkPassword The password for the private key.
repository.auth.ssh.pkPasswordCommand The command which should be executed to get the private key password.
repository.auth.ssh.pkPasswordCommand.name The password program path.
repository.auth.ssh.pkPasswordCommand.args The arguments for the password program.
files The files to be observed.
Examples

Observe the files /etc/hosts and /etc/groups and push them to the github repository rainu/my-configs and use a github access token (settings > Developer Settings > Personal Access Token > Scope (all Repo) ).

repository:
  url: https://github.com/rainu/my-configs.git
  path: /home/rainu/backup/my-configs
  auth:
    token: ghp_...
files:
  /etc/hosts:
  /etc/groups:

Use username/password credentials for authentication.

repository:
  url: https://github.com/rainu/my-configs.git
  path: /home/rainu/backup/my-configs
  auth:
    basic:
      username: rainu
      password: secret
files:
  /etc/hosts:
  /etc/groups:

Use github repository via ssh.

repository:
  url: github.com/rainu/my-configs.git
  path: /home/rainu/backup/my-configs
  auth:
    ssh:
      username: git
      privateKey: /home/rainu/.ssh/id_rsa
      pkPassword: secret
files:
  /etc/hosts:
  /etc/groups:

Call a program to get the password.

repository:
  url: https://github.com/rainu/my-configs.git
  path: /home/rainu/backup/my-configs
  auth:
    basic:
      username: rainu
      passwordCommand: 
        name: echo
        args:
         - '-n'
         - 'secret'
files:
  /etc/hosts:
  /etc/groups:

Directories

Path Synopsis
cmd
internal
git

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL