{"id":13651959,"url":"https://github.com/gantree-io/gantree-lib-nodejs","last_synced_at":"2025-04-23T02:31:59.157Z","repository":{"id":41700144,"uuid":"244791122","full_name":"gantree-io/gantree-lib-nodejs","owner":"gantree-io","description":"Javascript lib for gantree-cli","archived":false,"fork":false,"pushed_at":"2023-01-06T05:00:54.000Z","size":3837,"stargazers_count":12,"open_issues_count":35,"forks_count":2,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2024-01-24T04:15:21.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gantree-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-04T02:41:13.000Z","updated_at":"2024-01-24T04:15:21.515Z","dependencies_parsed_at":"2023-02-05T09:16:10.397Z","dependency_job_id":null,"html_url":"https://github.com/gantree-io/gantree-lib-nodejs","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantree-io%2Fgantree-lib-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantree-io%2Fgantree-lib-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantree-io%2Fgantree-lib-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantree-io%2Fgantree-lib-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gantree-io","download_url":"https://codeload.github.com/gantree-io/gantree-lib-nodejs/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250357691,"owners_count":21417329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T02:00:53.762Z","updated_at":"2025-04-23T02:31:58.636Z","avatar_url":"https://github.com/gantree-io.png","language":"JavaScript","funding_links":[],"categories":["Tools"],"sub_categories":[],"readme":"Library at the core of Gantree\n\n# Gantree Library\n\n- [Gantree Library](#gantree-library)\n  - [About](#about)\n  - [Docker Image](#docker-image)\n  - [Requirements](#requirements)\n    - [1 - Application Requirements](#1---application-requirements)\n    - [2 - Ansible Requirements](#2---ansible-requirements)\n    - [3 - Python Requirements](#3---python-requirements)\n    - [4 - Package Installation](#4---package-installation)\n    - [5 - Environment Requirements](#5---environment-requirements)\n      - [Provider Credentials](#provider-credentials)\n      - [SSH Credentials](#ssh-credentials)\n  - [Gantree Configuration](#gantree-configuration)\n  - [Library Usage](#library-usage)\n  - [CLI Usage](#cli-usage)\n\n## About\n\nSubstrate is built on the core belief that the future will be multi-chain.\n\nIn the past, setting up and managing blockchain networks required an understanding of a multitude of concepts which may have inhibited end users from experimenting with them.\n\nWith the assistance of funding from the [Web3 Foundation](https://web3.foundation/), Flex Dapps is building a suite of technologies which will enable both power users and those less versed to create and manage substrate-powered parachain networks via rapid spin-up and tear-down of self-managed or cloud-hosted machines.\n\n## Docker Image\n\nIf you would rather install dependencies automatically in a container, a Docker image is available here:\n\n- [Docker image](https://github.com/flex-dapps/gantree-cli-docker).\n\n## Requirements\n\n### 1 - Application Requirements\n\nWhen installed locally, Gantree-lib requires the following application dependencies:\n\n| REQUIREMENT                                                                                   | VERSION   | NOTES                                                            |\n| --------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------- |\n| NodeJS                                                                                        | \u003e=10.15.2 | Recommended install method: [nvm](https://github.com/nvm-sh/nvm) |\n| [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) | \u003e=2.9.4   | Recommended install method: pip                                  |\n| Git                                                                                           | \u003e=2.0     | Required by ansible-galaxy for installing roles                  |\n\n### 2 - Ansible Requirements\n\nInstall required ansible roles\n\n```bash\ncurl https://raw.githubusercontent.com/flex-dapps/gantree-requirements/master/ansible-galaxy/requirements.yml \u003e ansible_requirements.yml\nansible-galaxy install -r ansible_requirements.yml\n```\n\n### 3 - Python Requirements\n\n**_Please note:_** _It is highly recommended to use a virtual environment such as *pipenv* or *venv*_\n\nInstall required python packages\n\n```bash\npip install ansible boto boto3 botocore requests google-auth\n```\n\n### 4 - Package Installation\n\nInstall gantree-lib\n\n```bash\nnpm install gantree-lib -g\n```\n\n### 5 - Environment Requirements\n\n#### Provider Credentials\n\nFor security reasons, credentials for infrastructure providers must be exported as environment variables.\n\n| PROVIDER     | EXPORTS REQUIRED                                | NOTES                                                                                                                                                       |\n| ------------ | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| AWS          | `AWS_ACCESS_KEY_ID`\u003c/br\u003e`AWS_SECRET_ACCESS_KEY` | IAM account with EC2 and VPC write access.                                                                                                                  |\n| GCP          | `GCP_SERVICE_ACCOUNT_FILE`                      | path to json file with credentials of the service account you want to use; this service account needs to have write access to compute and network resources |\n| DigitalOcean | `DO_API_TOKEN`                                  | A DigitalOcean access token with read + write access                                                                                                        |\n\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/flex-dapps/gantree-misc/master/docs/img/Github_related_note_tag.png\" alt=\"Related note tag\" width=\"100\"\u003e\nYou only need credentials for providers you wish to use\n\u003c/p\u003e\n\n#### SSH Credentials\n\nSSH private key path can be defined using environment variable references in your Gantree configuration.\n\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/flex-dapps/gantree-misc/master/docs/img/Github_related_note_tag.png\" alt=\"Related note tag\" width=\"100\"\u003e\nImportant: Key pairs must be PEM.\n\u003c/p\u003e\n\n## Gantree Configuration\n\nGantree requires a configuration file (Gantree configuration) in order to guide creation, provisioning, modification and deletion of instances.\n\nIn essence, your Gantree configuration represents your desired infrastructure.\n\nWhen creating your own Gantree configuration, it's **recommended to create it based on one of the samples provided**.\n\nIf your configuration is invalid, Gantree will try it's best to help you identify where misconfiguration has occurred.\n\nOnce you're ready to create your own Gantree configuration, please consult the links below.\n\n- [Basics](docs/gantree_config/basics.md)\n- [Tutorial](docs/gantree_config/tutorial.md)\n- [Samples](docs/gantree_config/samples.md)\n- [Schema](docs/gantree_config/schema.md)\n- [Limitations](docs/gantree_config/limitations.md)\n\n## Library Usage\n\n- [Gantree](docs/_generated/gantree.md) - _generated_\n- [Quick Start](docs/library/quick_start.md)\n- [Limitations](docs/library/limitations.md)\n\n## CLI Usage\n\nA CLI is available for gantree-lib as a separate package.\n\nPlease see [gantree-cli](https://github.com/flex-dapps/gantree-cli) for information\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgantree-io%2Fgantree-lib-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgantree-io%2Fgantree-lib-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgantree-io%2Fgantree-lib-nodejs/lists"}