{"id":23186163,"url":"https://github.com/geskunkworks/cert-uploader","last_synced_at":"2025-08-18T16:32:34.396Z","repository":{"id":62561453,"uuid":"150752593","full_name":"GESkunkworks/cert-uploader","owner":"GESkunkworks","description":"Upload ACM/IAM Server Certificates to AWS and assign them to ELBs","archived":false,"fork":false,"pushed_at":"2019-09-17T04:31:25.000Z","size":36,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-20T12:25:30.742Z","etag":null,"topics":["acm","aws","certificate","iam","role"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/GESkunkworks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-28T14:28:54.000Z","updated_at":"2020-03-03T01:28:10.000Z","dependencies_parsed_at":"2022-11-03T15:15:28.736Z","dependency_job_id":null,"html_url":"https://github.com/GESkunkworks/cert-uploader","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GESkunkworks%2Fcert-uploader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GESkunkworks%2Fcert-uploader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GESkunkworks%2Fcert-uploader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GESkunkworks%2Fcert-uploader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GESkunkworks","download_url":"https://codeload.github.com/GESkunkworks/cert-uploader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230252840,"owners_count":18197284,"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":["acm","aws","certificate","iam","role"],"created_at":"2024-12-18T10:14:52.688Z","updated_at":"2024-12-18T10:14:53.381Z","avatar_url":"https://github.com/GESkunkworks.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Certificate Uploader\n\n[![Build Status](https://travis-ci.com/GESkunkworks/cert-uploader.svg?branch=master)](https://travis-ci.com/GESkunkworks/cert-uploader)\n[![Coverage Status](https://coveralls.io/repos/github/GESkunkworks/cert-uploader/badge.svg?branch=master)](https://coveralls.io/github/GESkunkworks/cert-uploader?branch=feature/unit-tests)\n\nUpload ACM/IAM Server Certificates and apply them to ELBs\n\n\n## Requirements\nPython 2.7 or 3.7\n\n## Installation\n```\npip install cert-uploader\n```\n\n## Usage\n\n### Help Text\n\n```\ncert-uploader --help\n\ncert-uploader iam --help\n\ncert-uploader acm --help\n```\n\n### IAM\n\nScan for certificates in the current directory and upload to IAM:\n```\ncert-uploader   --scan \\\n                iam \\\n                --certificate-name cert-name\n```\n\nUpload a new certificate to IAM:\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                iam \\\n                --certificate-name cert-name\n```\n\nUpload a new certificate to IAM and assign it to a load balancer:\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                --load-balancer load-balancer-name \\\n                iam \\\n                --certificate-name cert-name\n```\n\nUpload a new IAM certificate at the path \"/test\" and assign it to a load balancer:\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                --load-balancer load-balancer-name \\\n                iam \\\n                --certificate-name cert-name \\\n                --iam-path /test\n```\n\nUpload a new IAM certificate and assign it to a load balancer on port 8443:\n```\ncert-uploader   --load-balancer load-balancer-name \\\n                --port 8443 \\\n                --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                iam \\\n                --certificate-name cert-name\n```\n\nAssign an existing IAM certificate to a load balancer:\n```\ncert-uploader   --load-balancer load-balancer-name \\\n                iam \\\n                --certificate-name cert-name\n```\n\n### ACM\n\nScan for certificates in the current directory and upload to ACM:\n```\ncert-uploader   --scan \\\n                acm \\\n                --region region-name\n```\n\nUpload a new certificate to ACM:\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                acm\n```\n\nUpload a new certificate to ACM and add tags:\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                acm \\\n                --tag Name=cert \\\n                --tag App=app1\n```\n\nUpload a new certificate to ACM and assign it to a load balancer:\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                --load-balancer load-balancer-name \\\n                acm \\\n                --tag Name=cert \\\n                --tag App=app1\n```\n\nUpload a new ACM certificate and assign it to a load balancer on port 8443:\n```\ncert-uploader   --load-balancer load-balancer-name \\\n                --port 8443 \\\n                --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                acm\n```\n\nAssign an existing ACM certificate to a load balancer:\n```\ncert-uploader   --load-balancer load-balancer-name \\\n                acm \\\n                --certificate-arn arn:aws:acm:REGION:ACCOUNT:certificate/CERTIFICATE_ID\n```\n\n## Credentials\n\n### Profile\n\nAWS credentials can be passed in using the `--profile` command line argument:\n\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                --profile profile-name \\\n                acm\n```\n\nor by setting the `AWS_PROFILE` environment variable:\n\n```\nexport AWS_PROFILE=profile-name\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                acm\n```\n\n### Access Keys\n\nIf a profile is not configured, the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_DEFAULT_REGION`\nenvironment variables can be set and used for authentication.\n\n### Roles\n\nRoles can be assumed using the `--role` command line argument:\n\n```\ncert-uploader   --certificate-path path/to/certificate.crt \\\n                --private-key-path path/to/key.pem \\\n                --certificate-chain-path path/to/chain.crt \\\n                --role role-arn \\\n                acm\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeskunkworks%2Fcert-uploader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeskunkworks%2Fcert-uploader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeskunkworks%2Fcert-uploader/lists"}