{"id":37851625,"url":"https://github.com/blocky/ned","last_synced_at":"2026-01-16T16:13:44.136Z","repository":{"id":63198697,"uuid":"560623272","full_name":"blocky/ned","owner":"blocky","description":"Nitro Enclave Deployment (NED) tool","archived":false,"fork":false,"pushed_at":"2024-08-06T21:38:41.000Z","size":208,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-08-07T00:52:28.767Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blocky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-01T22:40:55.000Z","updated_at":"2024-08-06T21:38:42.000Z","dependencies_parsed_at":"2024-08-07T00:16:20.273Z","dependency_job_id":null,"html_url":"https://github.com/blocky/ned","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/blocky/ned","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocky%2Fned","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocky%2Fned/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocky%2Fned/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocky%2Fned/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blocky","download_url":"https://codeload.github.com/blocky/ned/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blocky%2Fned/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-01-16T16:13:38.634Z","updated_at":"2026-01-16T16:13:44.121Z","avatar_url":"https://github.com/blocky.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NED\n\nNED is short for Newman's Environment for Development and is a nod to the\ngreat computer programmer Dennis Nedry.\n\nThis project is a tool for helping with setting up development and test\nenvironments for Newman specifically on AWS and maybe other cloud providers\nin the future.\n\n## Getting started\n\nThis tool is intended to help you manage your own development environment(s)\nand not be used for managing standing infrastructure.  As such, you will\nprobably want to fork this repo, make it your own, and maybe contribute some\ntools back if they are more generally useful.\n\nIt uses:\n- [terraform](https://www.terraform.io/) (tested with v 1.9.3)\n- [ansible](https://www.ansible.com/) (tested with v 2.10.8)\n\nTo get started, fork and clone the repo.\n\nNext, you will want to create a configuration for the infrastructure that\nyou would like to run.  To do so, create a file `terraform/main.tf` that\ndescribes your development infrastructure.  A good starting point\nfor a `main.tf` is:\n\n```hcl\nterraform {\n  required_version = \"\u003e= 1.7.0\"\n  required_providers {\n    aws = {\n      source = \"hashicorp/aws\"\n      version = \"5.58.0\"\n    }\n  }\n}\n\nprovider \"aws\" {\n  # Note: Not all nitro-enabled instance types or amis are available in all regions. For now, use `us-east-1` to ensure compatibility with the module.\n  region = \"us-east-1\"\n}\n\n# You can change the name of the module to be unique if you include multiple instances of this module in your main.tf file.\nmodule \"nitro_dev\" {\n  source = \"./modules/nitro\"\n\n  # Change the following to your own values\n  instance_name = \"an-instance-name\"\n  key_pair_name = \"your-key-pair-name\"\n}\n\noutput \"nitro_dev_instance_ip\" {\n  description = \"The public IP address of the instance\"\n  value = module.nitro_dev.instance_public_ip\n}\n```\n\nFor the \"key_pair_name\", you will need to have a key pair already created in\nAWS and the private key on your local machine.  Below, we will refer to the\nlocation of this key on your local machine as `\u003cpath-to-your-pem-file\u003e`. You\ncan set this as an environment variable for later use like so:\n\n```bash\nkey_file=\u003cpath-to-your-pem-file\u003e\n```\n\nYou will likely want to create an output with the ip address of the\ninstance that is created so that you can use it later in Ansible playbooks.\n\nLet's create the infrastructure.\n\n```bash\ncd terraform\nterraform init\nterraform validate\nterraform apply\n```\n\nUpon successful completion of the `apply` you will see the ip address of the\ninstance that was created. You can copy it for later or put it into an\nenvironment variable like so:\n\n```bash\ninstance_ip=$(terraform output -raw nitro_dev_instance_ip)\n```\n\nAlso, if you hop over to the aws console, you will see that your instance is\ndeployed. You can also get the ip address from the console. Either way, let's\nmove on to the next step.\n\n```bash\ncd ..\n```\n\nLet's use our `init-nitro` playbook to minimally set up a system.\n\n```bash\nansible-playbook \\\n    -i ansible/inventories/dev.yml \\\n    -e ip=$instance_ip \\\n    --key-file $key_file \\\n    ./ansible/playbooks/init-nitro.yml\n```\n\nPersonally, I like to use the nix package manager in my development\nenvironments.  If you would like to use nix, you can run the following playbook.\n\n```bash\nansible-playbook \\\n    -i ansible/inventories/dev.yml \\\n    -e ip=$instance_ip \\\n    --key-file $key_file \\\n    ./ansible/playbooks/init-nix.yml\n```\n\nNow, you can ssh into the instance and start hacking away on your project\nwith nitro.\n\n```bash\nssh -i $key_file ec2-user@$instance_ip\n```\n\n## Cleaning up\n\nOnce you are done, please remember to clean up your infrastructure.\n\n```bash\ncd terraform\nterraform destroy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblocky%2Fned","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblocky%2Fned","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblocky%2Fned/lists"}