{"id":22835422,"url":"https://github.com/dxw/dalmatian-tools","last_synced_at":"2025-08-31T10:35:31.769Z","repository":{"id":236270398,"uuid":"274210239","full_name":"dxw/dalmatian-tools","owner":"dxw","description":"CLI tools to help with working with Dalmatian","archived":false,"fork":false,"pushed_at":"2025-08-27T19:07:57.000Z","size":1051,"stargazers_count":2,"open_issues_count":18,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-28T04:08:45.243Z","etag":null,"topics":["dalmatian","tech-ops"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dxw.png","metadata":{"files":{"readme":"README-in-development.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/bash-completion.sh","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-06-22T18:12:16.000Z","updated_at":"2025-08-20T10:07:55.000Z","dependencies_parsed_at":"2024-04-26T11:31:16.411Z","dependency_job_id":"e2748634-069e-48f5-b5df-16b84b27df84","html_url":"https://github.com/dxw/dalmatian-tools","commit_stats":null,"previous_names":["dxw/dalmatian-tools"],"tags_count":134,"template":false,"template_full_name":null,"purl":"pkg:github/dxw/dalmatian-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2Fdalmatian-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2Fdalmatian-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2Fdalmatian-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2Fdalmatian-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dxw","download_url":"https://codeload.github.com/dxw/dalmatian-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2Fdalmatian-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272971402,"owners_count":25024093,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dalmatian","tech-ops"],"created_at":"2024-12-12T22:09:50.714Z","updated_at":"2025-08-31T10:35:31.732Z","avatar_url":"https://github.com/dxw.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dalmatian Tools\n\nCLI tools to help with working with Dalmatian\n\n## Prerequisites\n\n- An AWS Organisation with at least 1 Account to configure with Dalmatian\n- A user assigned to a group that has an Administrative permission set\n- An S3 bucket to store the Terraform state\n- AWS IAM Identity Center (successor to AWS Single Sign-On) configured with the \ndefault identity source.\n\n## Installation\n\n1. Clone this repository locally\n\n1. Install the dependencies\n\n   ```\n   ./bin/setup\n   ```\n\n1. Add the dalmatian-tools `bin` directory to your `$PATH`\n\n   To add the ability to run the `dalmatian` command, you will need to add the\n   Dalmatian Tools `bin` directory to your `$PATH` variable\n\n   Find the full path of Dalmatian Tools by changing directory into this\n   repository, and run `pwd`. eg:\n\n   ```\n   $ cd ~/git-clones/dalmatian-tools\n   $ pwd\n   /Users/alex/git-clones/dalmatian-tools\n   ```\n\n   Add this path, plus '/bin' to the '$PATH' variable, by modifying\n   either the `~/.bashrc` or `~/.zshrc` file\n\n   ```bash\n   # ~/.bashrc or ~/.zshrc\n   export PATH=\"$PATH:/\u003cpath-to-dalmatian-tools\u003e/bin\"\n   ```\n\n   The easiest way for this to take effect is to close and open your terminal application\n\n   Or you can run `source ~/.bashrc` or `source ~/.zshrc` on all open terminals\n\n1. Setup Dalmatian\n\n   If you are joining a Dalmatian project that has already been setup, skip to\n  the next step 'Joining a Dalmatian Project'\n\n   Run the `dalmatian setup` command\n\n1. Joining a Dalmatian Project\n\n   To join a Dalmatian project, you must have an AWS Single Sign-On user which\n  has Administrative access to at least the Main Dalmatian account.\n\n   When the Dalmatian Project was first setup, it will have generated a setup\n  file, stored at `~/.config/dalmatian/setup.json`.\n   Ask a member of your team for this file, and then run:\n   ```\n   dalmatian setup -f setup.json\n   ```\n\n   This file may also be hosted via a web url, in which case you can run:\n   ```\n   dalmatian setup -h https://example.com/dalmatian-setup.json\n   ```\n\n   Using either of these options will provide defaults for the prompts, so you\n   should be able to press Enter for all values.\n\n## Usage\n\n### Help\n\n  `dalmatian -h`\n\n  ```\n  $ dalmatian -h\n  Usage: dalmatian\n    SUBCOMMAND COMMAND     - dalmatian command to run\n    SUBCOMMAND COMMAND -h  - show command help\n      Or:\n    -h                     - help\n    -l\n  ```\n\n### List commands\n\n  `dalmatian -l`\n\n### Shell completion\n**Bash (/bin/bash)**\n\nAdd the full path to the `support/bash-completion.sh` script to your `~/.bashrc` file\n\neg:\n\n```\n# ~/.bashrc\n\nsource /path/to/dalmatian-tools/support/bash-completion.sh\n```\n\n**Zsh (/bin/zsh)**\n\nAdd the full path to the `support/zsh-completion.sh` script to your `~/.zshrc` file\n\neg:\n\n```\n# ~/.zshrc\n\nautoload -Uz +X compinit \u0026\u0026 compinit\nautoload -Uz +X bashcompinit \u0026\u0026 bashcompinit\nsource /path/to/dalmatian-tools/support/zsh-completion.sh\n```\n\n## Managing AWS accounts with Dalmatian\n\n### Initialising AWS accounts\n\nTo manage AWS accounts with Dalmatian, we first need to initialise the account.\nThis account must be part of the AWS Organisation, and the user initialising it\nmust have Administrative access.\n\nTo initialise the account, you will need:\n- The AWS account ID (eg. 123456789012)\n- The desired default region name (eg. eu-west-2)\n- A friendly human readable account name (eg. my-awesome-account - This does not\n  need to be the same as the AWS account alias)\n\nWhen ready, run:\n\n```\ndalmatian aws-sso account-init \\\n  -i \u003caws-account-id\u003e \\\n  -r \u003cregion\u003e \\\n  -n \u003caccount-name\u003e\n```\n\n### Listing Dalmatian accounts\n\nOnce an AWS account has been initialised, it will appear within the list of\navailable accounts that can be deployed to.\n\nYou can list the accounts by running:\n\n```\ndalmatian deploy list-accounts\n```\n\nThis command will show each account with it's full account name, which is the\nformat that is to be used when a command asks for the account name:\n\n```\n\u003caws_account_id\u003e-\u003caws_region\u003e-\u003caccount_name\u003e\n```\n\n### Re-bootstrapping AWS accounts\n\nFor the most part, Dalmatian will run the bootstrap process as and when needed\nwhilst running Dalmatian commands.\n\nThere may be times when the AWS accounts need to be rebootstrapped, for example\nif the Terraform code has been updated to add extra features.\n\nTo do this, run:\n\n```\ndalmatian deploy account-bootstrap\n```\n\nThis will cycle through all the accounts initialised with dalmatian.\n\nIf you wish to only bootstrap a specific account, you can run:\n\n```\ndalmatian deploy account-bootstrap -a \u003cdalmatian-account\u003e\n```\n\nFull usage:\n\n```\nUsage: account-bootstrap [OPTIONS]\n  -h                     - help\n  -a \u003cdalmatian-account\u003e - AWS Account ID (Optional - By default all accounts will be cycled through)\n  -p \u003cplan\u003e              - Run terraform plan rather than apply\n  -N                     - Non-interactive mode (auto-approves terraform apply)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxw%2Fdalmatian-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdxw%2Fdalmatian-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxw%2Fdalmatian-tools/lists"}