{"id":28492353,"url":"https://github.com/zupzup/static-aws-deploy","last_synced_at":"2025-10-07T08:19:36.223Z","repository":{"id":84784174,"uuid":"76588067","full_name":"zupzup/static-aws-deploy","owner":"zupzup","description":"A tool for deploying files to an AWS S3 bucket with configurable headers and invalidating AWS Cloudfront Objects.","archived":false,"fork":false,"pushed_at":"2020-08-10T11:17:01.000Z","size":119,"stargazers_count":28,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-08T04:59:35.206Z","etag":null,"topics":["aws","aws-s3","cloudfront","deployment","static-site"],"latest_commit_sha":null,"homepage":"","language":"Go","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/zupzup.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-15T19:10:30.000Z","updated_at":"2023-03-25T03:41:08.000Z","dependencies_parsed_at":"2023-03-13T02:35:43.836Z","dependency_job_id":null,"html_url":"https://github.com/zupzup/static-aws-deploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zupzup/static-aws-deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zupzup%2Fstatic-aws-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zupzup%2Fstatic-aws-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zupzup%2Fstatic-aws-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zupzup%2Fstatic-aws-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zupzup","download_url":"https://codeload.github.com/zupzup/static-aws-deploy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zupzup%2Fstatic-aws-deploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278740939,"owners_count":26037504,"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-10-07T02:00:06.786Z","response_time":59,"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":["aws","aws-s3","cloudfront","deployment","static-site"],"created_at":"2025-06-08T08:10:09.094Z","updated_at":"2025-10-07T08:19:36.217Z","avatar_url":"https://github.com/zupzup.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# static-aws-deploy \n\nA tool for deploying files to an AWS S3 bucket with configurable headers and invalidating AWS Cloudfront Objects.\n\n## Installation\n\n```\ngo get github.com/zupzup/static-aws-deploy\n```\n\n## Usage\n\n```\n./static-aws-deploy\n\n./static-aws-deploy --silent --config=./data --dry-run --delta\n```\n\nYou can use the `dry-run` option to see which files would be uploaded and which URLs would be invalidated in a real run.\n\nCommandline Options:\n\n* `--config, -c`: path to the configuration file (config.yml), default: `./config.yml`\n* `--dry-run, -dr`: run the script without actually uploading or invalidating anything, default: `false`\n* `--silent, -s`: omit all log output, default: `false`\n* `--delta, -d`: only upload changed files, default: `false`\n\n## Configuration\n\nBy default, `static-aws-deploy` expects a configuration file at `./config.yml` which looks like this example (`config.dist.yml`):\n\n```\nauth:\n    accesskey: 'myAccessKey' // AWS Access Key\n    key: 'myKey' // AWS Secret Key\ns3:\n    bucket:\n        name: 'myBucket' // unique identifier of the bucket\n    parallel: 4 // How many files are uploaded at once\n    source: './data' // folder holding the data\n    ignore: '\\.DS_Store' // regex for files to ignore\n    metadata: // list of regex-to-headers mappings, stating which files are uploaded with which headers\n        - regex: '\\.html?$'\n          headers:\n              - 'Content-Type': 'text/html'\n        - regex: '\\.xml$'\n          headers:\n              - 'Content-Type': 'text/xml'\n        - regex: '\\.txt$'\n          headers:\n              - 'Content-Type': 'text/plain'\n        - regex: '\\.ico$'\n          headers:\n              - 'Cache-Control': 'public, max-age=31536000'\n              - 'Content-Type': 'image/x-icon'\n        - regex: '\\.jpeg?$'\n          headers:\n              - 'Cache-Control': 'public, max-age=31536000'\n              - 'Content-Type': 'image/jpeg'\n        - regex: '\\.png$'\n          headers:\n              - 'Cache-Control': 'public, max-age=31536000'\n              - 'Content-Type': 'image/png'\n        - regex: '\\.gif$'\n          headers:\n              - 'Cache-Control': 'public, max-age=31536000'\n              - 'Content-Type': 'image/gif'\ncloudfront:\n    distribution: \n        id: 'myDistribution' // id of your cloudfront web distribution\n    invalidation: // urls to invalidate\n        - '/'\n        - '/archive/*'\n```\n\nIf you don't provide any invalidation URLs, the invalidation won't be triggered.\n\nThe AWS credentials can also be provided via environment variables named `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.\n\n## Warning\n\nKeep in mind, that using this tool to upload files to AWS S3 and/or to invalidate AWS Cloudfront Objects might result in higher costs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzupzup%2Fstatic-aws-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzupzup%2Fstatic-aws-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzupzup%2Fstatic-aws-deploy/lists"}