{"_id":"@axerunners/axe-network-deploy","_rev":"1-f718bd2a29c6a78b61413dd40fbc9e0c","name":"@axerunners/axe-network-deploy","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@axerunners/axe-network-deploy","version":"1.0.0","description":"AXE Network deployment tool","directories":{"lib":"lib","test":"test"},"scripts":{"test":"bin/test","lint":"eslint ."},"repository":{"type":"git","url":"git+https://github.com/axerunners/axe-network-deploy.git"},"author":{"name":"Axe Developer"},"license":"MIT","bugs":{"url":"https://github.com/axerunners/axe-network-deploy/issues"},"homepage":"https://github.com/axerunners/axe-network-deploy#readme","devDependencies":{"@axerunners/axed-rpc":"^1.2.0","jayson":"^2.0.6","chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-arrays":"^2.0.0","dirty-chai":"^2.0.1","eslint":"^5.4.0","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-import":"^2.14.0","js-yaml":"^3.12.0","lodash.merge":"^4.6.1","mocha":"^5.2.0","node-fetch":"^2.2.0","ipfs-api":"^24.0.1","node-openvpn":"github:luigiplr/node-openvpn","dockerode":"^2.5.7","multiaddr":"5.0.0"},"gitHead":"6fba8184001d0042a4b6011c270e0895bdbf981d","_id":"@axerunners/axe-network-deploy@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"charlie137","email":"charlie@axerunners.com"},"dist":{"integrity":"sha512-Zf9kWwfwgtsIoFImHeFupCUo4KUufCrwNR8fqE4hXLJbjQHZ9YzMScoRmXc/TWkkFsQ0e4p+A2TPngbj2XvQ7A==","shasum":"5e1084a5dd8d7ebee80fa9f8857f59f2170fd6d5","tarball":"https://registry.npmjs.org/@axerunners/axe-network-deploy/-/axe-network-deploy-1.0.0.tgz","fileCount":123,"unpackedSize":129563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNUeSCRA9TVsSAnZWagAAfFIP/3aibjUf4tEc148fAtBv\nEMSWH5k4/zobFZ3mn/gq+8i8NRR/YKKgs/i/+xh0u6a7d1o4ZwZ2mqj8tu1m\navrHmGDtLimYFw6ecy7WOxyDiehso8d5monS1VPQVIBW66MREjapcCufcssI\njZpUnG9feOxWOf0TtocEK0HTjtF528E1nI7Oj9rKKwvQarZeFz/7FvquZwEc\nXSEArME0tj17PD/WakUJxZj+T1JIUIS4JL8YOuMrb+TZ2cNvC3bueb2WoK9S\nVttKFeD/nXQCMxywwzqdxKcTI1qHWKgTG1ZmC5lPnl7YcL3uVDtqP3ACx/yt\nEZTNKLgtx7ycrQ/3dxg6ZQ4zYX9gwPFS3kw52c7QoizOb2sISoXBI9hWm84f\nIKIoin0uAZAkVJbKHTrO190zfICxBhFVMWALnxDWbYDx+wasUk6K0zVbjvxc\nGY5fHfjR1Mo8kbMOU5JDGEDmBLsCiw23ZG4EZ0uxbOSYayChl0HRyIRGZc9m\n4LRRaUv/SQE69Zehcyg2d4g98K5mE/sY1FjA4U49yBlvZ5iuFOZoRYxBBht5\nI9eg74qUF7eGSCpD7yE4Ef/JXTMilSkDK3rs+WxkjOmvyXLsNj4sNp3qGAmI\ncZ/RBTRASau55VPSKvh7xphftIW9ejHQfX6uH0qfMcEv3mnmdlDCv9tQQoJv\ns1SD\r\n=yffi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF/wnhGhNPEF8rJikmEy0KTrUDap4Apr1FcQsjrSsbiZAiEA6MNfOmgC7FzE04za3hloRPc4LjPiyQLLbw3vRDrmQgg="}]},"maintainers":[{"name":"charlie137","email":"charlie@axerunners.com"},{"name":"ddude1","email":"bence.coronation@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/axe-network-deploy_1.0.0_1546995601978_0.4785128648996011"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-09T01:00:01.909Z","1.0.0":"2019-01-09T01:00:02.117Z","modified":"2022-04-04T17:09:33.002Z"},"maintainers":[{"name":"charlie137","email":"charlie@axerunners.com"},{"name":"ddude1","email":"bence.coronation@gmail.com"}],"description":"AXE Network deployment tool","homepage":"https://github.com/axerunners/axe-network-deploy#readme","repository":{"type":"git","url":"git+https://github.com/axerunners/axe-network-deploy.git"},"author":{"name":"Axe Developer"},"bugs":{"url":"https://github.com/axerunners/axe-network-deploy/issues"},"license":"MIT","readme":"# AXE Network Deployment Tool\n\n## Introduction\n\nThis tool allows deploy and manage [AXE](https://github.com/AXErunners/axe) networks.\n\nThere are two regular available networks: `testnet` and `mainnet`.\nAfter deployment your AxeCore instances will join to those networks.\n\n`regtest` and `devnet-*` are networks for testing purposes.\nDevnet are like regular Axe networks (`mainnet` and `testnet`)\nbut easier to bootstrap and has own name. That's why it easier to have multiple in parallel.  \n\nWork in progress and in its initial state only meant to be used by Axe Core\ndevelopers to assist in Axe Evolution development.\n\n## Installation\n\n1. [Install Docker](https://docs.docker.com/install/)\n2. Download tool:\n\n    Using `wget`:\n\n    ```bash\n    wget -P /usr/local/bin https://raw.github.com/axerunners/axe-network-deploy/master/bin/axe-network && \\\n    chmod +x /usr/local/bin/axe-network\n    ```\n\n    Using `curl`:\n\n    ```bash\n    curl -fsSL -o /usr/local/bin/axe-network https://raw.github.com/axerunners/axe-network-deploy/master/bin/axe-network && \\\n    chmod +x /usr/local/bin/axe-network\n    ```\n\n\n## Configuration\n\n### Credentials\n\nConfigure your credentials in `.env` file.\nUse [.env.example](https://github.com/axerunners/axe-network-deploy/blob/master/examples/.env.example) as example.\n\n### Networks definition\n\nPlease find examples of network configurations\nin [examples directory](https://github.com/axerunners/axe-network-deploy/tree/master/examples/).\n\nName of files are equal to Axe network names.\n\nTerraform configuration defined in `*.tfvars` files.\nAll available options you will find\nin [variables.tf](https://github.com/axerunners/axe-network-deploy/blob/master/terraform/aws/variables.tf) file.\n\nAnsible configuration in `*.yaml` files.\n[group_vars/all](https://github.com/axerunners/axe-network-deploy/blob/master/ansible/group_vars/all)\nfile contains the majority of playbook options.\nThe rest of them defined in [ansible roles](https://github.com/axerunners/axe-network-deploy/tree/master/ansible/roles).\n\n### Using git\n\nPlease don't forget to include in your `.gitignore`:\n```\n.env\n*.inventory\n*.ovpn\n```\n\n## Deployment\n\nTo deploy Axe Network use `deploy` command with particular network name:\n\n```bash\naxe-network deploy <network_name>\n```\n\nYou may pass `--only-infrastructure` or `--only-provisioning` option to avoid to do a particular type of work.\n\nTo destroy available Axe Network use `destroy` command:\n\n```bash\naxe-network destroy <network_name>\n```\n\nYou may pass `--keep-infrastructure` option to remove software and configuration and keep infrastructure.\n\n## List network services\n\n```bash\naxe-network list <network_name>\n```\n\n## Testing\n\nTo test network run `test` command with with particular network name:\n\n```bash\naxe-network test <network_name>\n```\n\nYou may pass `--type` option to run particular type of tests (`smoke`, `e2e`).\nIt possible to specify several types using comma delimiter.\n\n## Deploy Axe Evolution\n\n1. Deploy your network with additional ansible variables:\n\n    ```yaml\n    evo_services: true\n    insight_image: \"<docker-image>\"\n    drive_image: \"<docker-image>\"\n    dapi_image: \"<docker-image>\"\n    axed_image: \"<docker-image>\"\n    # uncomment if docker images stored in AWS ECR\n    # aws_ecr_login: true\n    ```\n\n2. Get current block height:\n\n    ```bash\n    docker run -ti --rm \\\n               -v \"$PWD:/networks\" \\\n               -v \"$HOME/.aws:/root/.aws\" \\\n               -v \"<your-public-key-path>:<your-public-key-path>\" \\\n               -v \"<your-private-key-path>:<your-private-key-path>\" \\\n               -w \"/usr/src/app/ansible\" \\\n               axerunners/axe-network-deploy ansible axed-wallet-2 \\\n               -i ../networks/<network_name>.inventory \\\n               --private-key=<your-private-key-path> \\\n               -b -m command -a \"axe-cli getblockcount\"\n    ```\n\n\n3. Enable Masternode List after ten new blocks:\n\n    ```bash\n    docker run -ti --rm \\\n                   -v \"$PWD:/networks\" \\\n                   -v \"$HOME/.aws:/root/.aws\" \\\n                   -v \"<your-public-key-path>:<your-public-key-path>\" \\\n                   -v \"<your-private-key-path>:<your-private-key-path>\" \\\n                   -w \"/usr/src/app/ansible\" \\\n                   axerunners/axe-network-deploy ansible axed-wallet-2 \\\n                   -i ../networks/<network_name>.inventory \\\n                   --private-key=<your-private-key-path> \\\n                   -b -m command -a \"axe-cli spork SPORK_15_DETERMINISTIC_MNS_ENABLED <current_block_height+10>\"\n    ```\n\n4. Upgrade your MNs to ProTX when DIP3 is enabled\n  (see [getBlockChainInfo](https://axe-docs.github.io/en/developer-reference#getblockchaininfo)):\n\n   ```bash\n   axe-network deploy -p --ansible-playbook=upgrade-to-protx <network_name>\n   ```\n\n## Connect to private Axe Network services\n\nYou can use generated during deployment OpenVPN config `<network_name>.ovpn` to connect to private services.\n\n## Manual installation\n\n1. Clone git repository:\n\n    ```bash\n    git clone https://github.com/axerunners/axe-network-deploy.git\n    ```\n\n2. Install Ansible and Terraform per instructions provided on official websites:\n\n    * [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html)\n    * [Terraform](https://www.terraform.io/intro/getting-started/install.html)\n\n3. Ensure Python netaddr package installed locally\n\n    ```bash\n    pip install -U netaddr\n    ```\n\n    * Note: You may need to run the above command with \"pip2\" instead of \"pip\" if\n      your default Python installation is version 3 (e.g. OSX + Homebrew).\n\n4. Install pre-requisite Ansible roles\n\n    ```bash\n    ansible-galaxy install -r ansible/requirements.yml\n    ```\n\n5. Install [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)\n\n\n6. Install [Node.JS](https://nodejs.org/en/download/) and dependencies:\n\n    ```bash\n    npm install\n    ```\n\n7. Install OpenVPN:\n\n    On Linux:\n    ```bash\n    apt-get install openvpn\n    ```\n\n    On Mac:\n    ```bash\n    brew install openvpn\n    ```\n","readmeFilename":"README.md"}