Awesome Open Source
Awesome Open Source

Build status

Collection of tooling and automation to deploy IOHK infrastructure.

Structure

  • deployments - includes all NixOps deployments controlled via .hs scripts
  • modules - NixOS modules
  • lib.nix - wraps upstream <nixpkgs/lib.nix> with our common functions
  • scripts - has bash scripts not converted to Haskell/Turtle into Cardano.hs yet
  • default.nix - is a collection of Haskell packages
  • static includes files using in deployments
  • jobsets is used by Hydra CI
  • terraform - other AWS infrastructure
  • nix-darwin - deployment script and configurations for MacOS X machines

Getting SSH access

  1. Fork https://github.com/input-output-hk/iohk-ops
  2. Check out the master branch
  3. Add your username and SSH public key to the appropriate developer section of lib/ssh-keys.nix. Keys should remain sorted alphabetically by username.
  4. Submit a PR against master and let DevOps know.
  5. Wait until the DevOps team deploys the infrastructure cluster.

The io command

Sources for the iohk-ops tool are in the iohk directory.

Usage

After cloning this repo, start a nix-shell.

% nix-shell
[nix-shell:~/iohk/iohk-ops]$ io --help

For more documentation, see docs/iohk-ops-reference.md.

Development

To hack on the iohk-ops tool, use

% nix-shell -A ioSelfBuild
[nix-shell:~/iohk/iohk-ops]$ type io
io is a function
io ()
{
    cabal exec iohk-ops -- "[email protected]"
}
[nix-shell:~/iohk/iohk-ops]$ io --help

This will provide a Haskell environment where you can use io to run the script or ghci for development:

[nix-shell:~/iohk/iohk-ops]$ ghci -iiohk/common
GHCi, version 8.2.2: http://www.haskell.org/ghc/  :? for help
Loaded GHCi configuration from /home/rodney/config/.ghc/ghci.conf
λ> :l iohk/iohk-ops.hs

Run from anywhere

$(nix-build --no-out-link https://github.com/input-output-hk/iohk-ops/archive/master.tar.gz -A iohk-ops)/bin/iohk-ops --help

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
nix (165
nixos (53
ami (15

Find Open Source By Browsing 7,000 Topics Across 59 Categories