camerata

module
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2016 License: AGPL-3.0

README

Camerata

Simple and easy to use server orchestration set of tools made with love and golang.

camerata command line options:


  -args string
    	Module arguments
  -ask-bastion-pass
    	Asks for password on the command line for bastion jump
  -ask-pass
    	Asks for password on the command line (default true)
  -bastion string
    	Bastion or jumpbox server
  -bastion-pass string
    	Bastion or jumpbox server password (default: same as --pass)
  -bastion-user string
    	Bastion or jumpbox server login user (default: same as --user)
  -hosts string
    	Comma separated hosts list
  -inventory string
    	Inventory file
  -module string
    	Module to run (default "test")
  -modules
    	List available modules
  -pass string
    	Use this password
  -pem string
    	Path to pemfile for auth
  -quiet
    	No camerata output
  -sudo
    	Run as sudo
  -sudo-nopass
    	Run as sudo without pass
  -test
    	Runs whoami on remote host
  -user string
    	Login user

camerata-inventory

Camerata inventory file generator.

Inventory file format

Inventory files are toml v0.2.0 files with three main sections:

bastion (optional)

Specifies connection data regarding the bastion or jumpbox server. It resembles the command line arguments:


-bastion string
        Bastion or jumpbox server
  -bastion-pass string
        Bastion or jumpbox server password (default: same as --pass)
  -bastion-user string
        Bastion or jumpbox server login user (default: same as --user)

In inventory file format

[bastion]
host="host_name_or_ip.to_bastion[:port]"
user="username" # to jump with
password="the_username_secret"

password and user are optional and, if not specified will be taken from the command line arguments.

Servers

This is you servers inventory list.

[servers]
  [servers.some_server_name]
  host="ip_or_hostname[:port]" #default port is 22
  
  user="username" #if it's not present , command line --user option
  
  password="user_secret_word" #if it's not present , command line --pass option or the one prompted in the console.
  
  sudo=false # or true if you want to run modules as root.
  
  sudo_nopass=false # or true if sudo does not ask for password.
	
  use_bastion=false # or true if we need to jump through the [bastion] host.

  [servers.some_other_server]
  host="other_ip_or_hostname"
  user="username"

# and so on...
Modules

Modules are the operation unit. If there's no modules on the inventory file, camerata will loop through the servers list and will connect and disconnect with no further action.

Butt (double t intended ;) if you have a [[modules]] section on your inventory file, camerata will execute each one in order on every server in the servers list.

At the time of this writing, the following modules are available:

  • about
  • test
  • copy
  • command
  • apt (unstable yet)
  • git
  • pip
  • rcopy

Execute camerata with --modules to get a list of available modules and how to use them.

Inventory file format for modules:

[[modules]]
name="test"
args="" #no args, it just execs "whoami" on the server.

[[modules]]
name="copy"
args="source=/path/to/my/file target=/destination/dir/on/server"

[[modules]]
name="command"
args="cat /path/to/my/file" # bash command line

Available backends (inventory generators)

  • vmware
  • about
  • amazon (working on it...)

camerata-inventory about command line options:

No options, just an about message.

camerata-inventory vmware command line options:

#!bash

 -bastion string
    	Bastion or jumpbox server (name or ip address)
  -bastion-nets string
    	Comma separated list of segments that uses --bastion (e.g.: 10.54.165.,10.54.170.)
  -format string
    	Output format: toml, csv (default "toml")
  -host string
    	vCenter host[:port] or ip[:port]
  -insecure
    	Don't check server certificate (default true)
  -pass string
    	vCenter password
  -user string
    	vCenter username

camerata-inventory amazon command line options:

Backend into development stage

Directories

Path Synopsis
camerata-inventory
src
src/golang.org/x/crypto/bcrypt
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
src/golang.org/x/crypto/blowfish
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
src/golang.org/x/crypto/bn256
Package bn256 implements a particular bilinear group at the 128-bit security level.
Package bn256 implements a particular bilinear group at the 128-bit security level.
src/golang.org/x/crypto/cast5
Package cast5 implements CAST5, as defined in RFC 2144.
Package cast5 implements CAST5, as defined in RFC 2144.
src/golang.org/x/crypto/curve25519
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
src/golang.org/x/crypto/hkdf
Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.
Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.
src/golang.org/x/crypto/md4
Package md4 implements the MD4 hash algorithm as defined in RFC 1320.
Package md4 implements the MD4 hash algorithm as defined in RFC 1320.
src/golang.org/x/crypto/nacl/box
Package box authenticates and encrypts messages using public-key cryptography.
Package box authenticates and encrypts messages using public-key cryptography.
src/golang.org/x/crypto/nacl/secretbox
Package secretbox encrypts and authenticates small messages.
Package secretbox encrypts and authenticates small messages.
src/golang.org/x/crypto/ocsp
Package ocsp parses OCSP responses as specified in RFC 2560.
Package ocsp parses OCSP responses as specified in RFC 2560.
src/golang.org/x/crypto/openpgp
Package openpgp implements high level operations on OpenPGP messages.
Package openpgp implements high level operations on OpenPGP messages.
src/golang.org/x/crypto/openpgp/armor
Package armor implements OpenPGP ASCII Armor, see RFC 4880.
Package armor implements OpenPGP ASCII Armor, see RFC 4880.
src/golang.org/x/crypto/openpgp/clearsign
Package clearsign generates and processes OpenPGP, clear-signed data.
Package clearsign generates and processes OpenPGP, clear-signed data.
src/golang.org/x/crypto/openpgp/elgamal
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.
src/golang.org/x/crypto/openpgp/errors
Package errors contains common error types for the OpenPGP packages.
Package errors contains common error types for the OpenPGP packages.
src/golang.org/x/crypto/openpgp/packet
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.
src/golang.org/x/crypto/openpgp/s2k
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.
src/golang.org/x/crypto/otr
Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html
Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html
src/golang.org/x/crypto/pbkdf2
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.
src/golang.org/x/crypto/pkcs12
Package pkcs12 implements some of PKCS#12.
Package pkcs12 implements some of PKCS#12.
src/golang.org/x/crypto/pkcs12/internal/rc2
Package rc2 implements the RC2 cipher
Package rc2 implements the RC2 cipher
src/golang.org/x/crypto/poly1305
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
src/golang.org/x/crypto/ripemd160
Package ripemd160 implements the RIPEMD-160 hash algorithm.
Package ripemd160 implements the RIPEMD-160 hash algorithm.
src/golang.org/x/crypto/salsa20
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf.
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf.
src/golang.org/x/crypto/salsa20/salsa
Package salsa provides low-level access to functions in the Salsa family.
Package salsa provides low-level access to functions in the Salsa family.
src/golang.org/x/crypto/scrypt
Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf).
Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf).
src/golang.org/x/crypto/sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
src/golang.org/x/crypto/ssh
Package ssh implements an SSH client and server.
Package ssh implements an SSH client and server.
src/golang.org/x/crypto/ssh/agent
Package agent implements the ssh-agent protocol, and provides both a client and a server.
Package agent implements the ssh-agent protocol, and provides both a client and a server.
src/golang.org/x/crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
src/golang.org/x/crypto/ssh/test
This package contains integration tests for the golang.org/x/crypto/ssh package.
This package contains integration tests for the golang.org/x/crypto/ssh package.
src/golang.org/x/crypto/twofish
Package twofish implements Bruce Schneier's Twofish encryption algorithm.
Package twofish implements Bruce Schneier's Twofish encryption algorithm.
src/golang.org/x/crypto/xtea
Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."
Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."
src/golang.org/x/crypto/xts
Package xts implements the XTS cipher mode as specified in IEEE P1619/D16.
Package xts implements the XTS cipher mode as specified in IEEE P1619/D16.
camerata-writer
src
camerata-writer-maker.sample
src
src

Jump to

Keyboard shortcuts

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