{"id":13879522,"url":"https://github.com/boltops-tools/lono","last_synced_at":"2025-12-15T23:15:26.857Z","repository":{"id":41602312,"uuid":"184953028","full_name":"boltops-tools/lono","owner":"boltops-tools","description":"Lono CloudFormation Framework","archived":false,"fork":false,"pushed_at":"2024-04-22T22:04:54.000Z","size":6543,"stargazers_count":51,"open_issues_count":1,"forks_count":8,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-25T08:39:51.448Z","etag":null,"topics":["aws","boltops","cloudformation","lono","lono-cloudformation"],"latest_commit_sha":null,"homepage":"https://lono.cloud","language":"Ruby","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/boltops-tools.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"github":"boltops-tools"}},"created_at":"2019-05-04T23:13:04.000Z","updated_at":"2024-12-15T21:55:42.000Z","dependencies_parsed_at":"2024-01-13T02:46:16.395Z","dependency_job_id":"301b3fd0-7008-48ec-9ef1-3a0e72ddd6b0","html_url":"https://github.com/boltops-tools/lono","commit_stats":null,"previous_names":["tongueroo/lono"],"tags_count":136,"template":false,"template_full_name":null,"purl":"pkg:github/boltops-tools/lono","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Flono","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Flono/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Flono/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Flono/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boltops-tools","download_url":"https://codeload.github.com/boltops-tools/lono/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Flono/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262039109,"owners_count":23249157,"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":["aws","boltops","cloudformation","lono","lono-cloudformation"],"created_at":"2024-08-06T08:02:23.748Z","updated_at":"2025-12-15T23:15:21.450Z","avatar_url":"https://github.com/boltops-tools.png","language":"Ruby","funding_links":["https://github.com/sponsors/boltops-tools"],"categories":["Ruby"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://lono.cloud/img/logos/lono-logo-small.png\" /\u003e\n\u003c/div\u003e\n\n# Lono\n\n![CodeBuild](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiYTloZ3dBZkZTYnlTaU1ZZTMvenROM1dmY2lDZzE0MDRVZ2d6NXdqb2JmSXNrQ3pkVGpKRTJMMnhTNDlOYUNOUlZZUmR6TktGcXRWMVFoYzhrSXFZWVZNPSIsIml2UGFyYW1ldGVyU3BlYyI6IkkrSGlFcTBWUjMzbk5xVGYiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D\u0026branch=master)\n[![Support](https://img.shields.io/badge/get-support-blue.svg)](https://boltops.com?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=lono)\n\n[![BoltOps Badge](https://img.boltops.com/boltops/badges/boltops-badge.png)](https://www.boltops.com)\n\nPlease **watch/star** this repo to help grow and support the project.\n\nLono is a CloudFormation framework. It builds, manages, and deploys CloudFormation templates.\n\n## Lono Features\n\n* Simple CLI interface to launch CloudFormation stacks.\n* Ability to use [Existing CloudFormation Templates](https://lono.cloud/docs/existing-templates/).\n* [The Lono DSL](https://lono.cloud/docs/dsl/) - Generate templates from beautiful code.\n* Write your CloudFormation parameters with [simple env-like values](https://lono.cloud/docs/config/params/).\n* Preview CloudFormation changes before pressing the big red button.\n* [Layering](https://lono.cloud/docs/core/layering/) - Allows you to build multiple environments like development and production with the same template.\n* [Variables](https://lono.cloud/docs/layering/variables/) - Allows you to construct templates where runtime Parameters do not suffice.\n* [Helpers](https://lono.cloud/docs/core/helpers/) - Allows you to extend Lono and simplify code.\n* [Configsets](https://lono.cloud/docs/configsets/) - Configurement Management. Automatically configure EC2 instances with reuseable code.\n\nSee [lono.cloud](http://lono.cloud) for full lono documentation.\n\n## Quick Usage\n\nIt only takes a couple of commands to start using lono.\n\n    gem install lono --prerelease\n    lono new project infra --examples\n    cd infra\n    lono up demo\n\n![Lono flowchart](https://lono.cloud/img/tutorial/lono-flowchart.png \"Lono flowchart\")\n\n## DSL\n\nHere's an example of what the Lono CloudFormation DSL looks like:\n\n```ruby\ndescription \"Demo stack\"\n\nparameter(\"InstanceType\", \"t3.micro\")\n\nmapping(\"AmiMap\",\n  \"us-east-1\": { Ami: \"ami-0de53d8956e8dcf80\" },\n  \"us-west-2\": { Ami: \"ami-061392db613a6357b\" }\n)\n\nresource(\"Instance\", \"AWS::EC2::Instance\",\n  InstanceType: ref(\"InstanceType\"),\n  ImageId: find_in_map(\"AmiMap\", ref(\"AWS::Region\"), \"Ami\"),\n  SecurityGroupIds: [get_att(\"SecurityGroup.GroupId\")],\n  UserData: base64(user_data(\"bootstrap.sh\"))\n)\nresource(\"SecurityGroup\", \"AWS::EC2::SecurityGroup\",\n  GroupDescription: \"demo security group\",\n)\n\noutput(\"Instance\")\noutput(\"SecurityGroup\", get_att(\"SecurityGroup.GroupId\"))\n```\n\n### Lono Up\n\nThe `lono up` command deploys the CloudFormation stack.\n\n    $ lono up demo\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboltops-tools%2Flono","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboltops-tools%2Flono","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboltops-tools%2Flono/lists"}