{"id":14985632,"url":"https://github.com/cfn-sphere/cfn-sphere","last_synced_at":"2025-04-09T18:22:16.263Z","repository":{"id":35958995,"uuid":"40249032","full_name":"cfn-sphere/cfn-sphere","owner":"cfn-sphere","description":"AWS CloudFormation stack management tool","archived":false,"fork":false,"pushed_at":"2023-02-09T11:48:25.000Z","size":823,"stargazers_count":84,"open_issues_count":4,"forks_count":27,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-06T10:09:13.479Z","etag":null,"topics":["aws","cfn-sphere","cloud","cloudformation","infrastructure-as-code","yml"],"latest_commit_sha":null,"homepage":"https://github.com/cfn-sphere/cfn-sphere/wiki","language":"Python","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/cfn-sphere.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-08-05T14:13:44.000Z","updated_at":"2024-05-27T19:48:46.000Z","dependencies_parsed_at":"2023-01-16T09:50:56.540Z","dependency_job_id":"aeaab971-1ece-42b9-ac5c-e13f114b60eb","html_url":"https://github.com/cfn-sphere/cfn-sphere","commit_stats":{"total_commits":639,"total_committers":30,"mean_commits":21.3,"dds":0.3536776212832551,"last_synced_commit":"6e2f93f36075a738f7d9e1b484bd655b5bf942fb"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfn-sphere%2Fcfn-sphere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfn-sphere%2Fcfn-sphere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfn-sphere%2Fcfn-sphere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfn-sphere%2Fcfn-sphere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cfn-sphere","download_url":"https://codeload.github.com/cfn-sphere/cfn-sphere/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085698,"owners_count":21045195,"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","cfn-sphere","cloud","cloudformation","infrastructure-as-code","yml"],"created_at":"2024-09-24T14:11:23.947Z","updated_at":"2025-04-09T18:22:16.237Z","avatar_url":"https://github.com/cfn-sphere.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cfn-sphere\nA CLI tool intended to simplify AWS CloudFormation handling.\n[![Build Status](https://www.travis-ci.com/cfn-sphere/cfn-sphere.svg?branch=master)](https://www.travis-ci.com/cfn-sphere/cfn-sphere)\n\n## Features\n- cfn templates in yml or json\n- build for human interaction and automation (run 'cf sync stacks.yml' triggered by a git push if you dare ;-)\n- a source of truth defining cloudformation stacks with their template and parameters\n- cross referencing parameters between stacks (use a stack output as parameter for another stack)\n- automatic stack dependency resolution including circular dependency detection\n- helper features easing the use of cfn functions like Fn::Join, Ref or Fn::GetAtt\n- easy user-data definition for https://github.com/zalando-stups/taupage\n- allow stack parameter values updates in command line interface \n- encrypt/decrypt values with AWS KMS (https://aws.amazon.com/de/kms/)\n\n## Documentation\n**https://github.com/cfn-sphere/cfn-sphere/wiki**\n\n## Install\n\n### As python artifact:\n\n    pip install cfn-sphere\n\n## Usage\n\n    $ cf --help\n    Usage: cf [OPTIONS] COMMAND [ARGS]...\n    \n      This tool manages AWS CloudFormation templates and stacks by providing an\n      application scope and useful tooling.\n    \n    Options:\n      --version  Show the version and exit.\n      --help     Show this message and exit.\n    \n    Commands:\n      convert            Convert JSON to YAML or vice versa\n      decrypt            Decrypt a given ciphertext with AWS Key\n      delete             Delete all stacks in a stack configuration\n      encrypt            Encrypt a given string with AWS Key\n      render_template    Render template as it would be used to create or update a stack\n      sync               Sync AWS resources with stack configuration file\n      validate_template  Validate template with CloudFormation API\n\n## Getting Started\n\n### 1. Create Stacks Config\nCreate a YAML file containing a region and some stacks in a stacks.yml file f.e.:\n\n    region: eu-west-1\n    stacks:\n        test-vpc:\n            template-url: vpc.yml\n        test-stack:\n            template-url: app.yml\n            parameters:\n                vpcID: \"|ref|test-vpc.id\"\n                dockerImageName: myapp\n                appVersion: 1\n\n### 2. Write your CloudFormation templates\nWrite your templates and configure them in your stacks.yml\n\n### 3. Sync it\nA simple command synchronizes your definition with reality!\n\n    cf sync myapp-test.yml\n\n#### 3.1 Update Stack with CLI Parameter\nTo update parameters of a stack defined within myapp-test.yml without having to modify the templates, simply use the `--parameter` or `-p` flag.\n\n    cf sync --parameter \"test-stack.dockerImageName=mytestapp\" --parameter \"test-stack.appVersion=234\" myapp-test.yml\n\n### 4. Go further\n\nRead here to see what cfn-sphere can do for you. There are a lot of things that can help you: \n**https://github.com/cfn-sphere/cfn-sphere/wiki**\n\n## Config Reference\n\nSee the wiki to see what you can do in a stack configuration: [StackConfig Reference](https://github.com/cfn-sphere/cfn-sphere/wiki/StackConfig-Reference)\n\n## Template Reference\n\nCfn-Sphere supports native cloudformation templates written in JSON or YAML, located in local filesystem or s3. There are some improvements like simplified intrinsic functions one can use. See the reference for details: [Template Reference](https://github.com/cfn-sphere/cfn-sphere/wiki/Template-Reference)\n\n## Build\n\nRequirements:\n\n* python \u003e= 3.5\n* virtualenv\n* pybuilder\n\nExecute:\n\n    git clone https://github.com/cfn-sphere/cfn-sphere.git\n    cd cfn-sphere\n    virtualenv .venv --python=python3.10\n    source .venv/bin/activate\n    pip install pybuilder\n    pyb install_dependencies\n    pyb\n\n## Contribution\n\n* Create an issue to discuss the problem and track changes for future releases\n* Create a pull request with your changes (as small as possible to ease code reviews)\n\n## License\n\nCopyright Marco Hoyer\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfn-sphere%2Fcfn-sphere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfn-sphere%2Fcfn-sphere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfn-sphere%2Fcfn-sphere/lists"}