{"id":5806965,"name":"dcarbone/tfcloud-module-push-action","ecosystem":"actions","description":"Very quickly made action to push Terraform Module versions to a private Terraform Cloud Registry","homepage":null,"licenses":"apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/dcarbone/tfcloud-module-push-action","keywords_array":[],"namespace":"dcarbone","versions_count":7,"first_release_published_at":"2022-03-28T21:42:24.000Z","latest_release_published_at":"2022-10-18T21:13:00.000Z","latest_release_number":"v0.2.0","last_synced_at":"2026-04-28T21:03:15.767Z","created_at":"2023-01-04T16:37:38.839Z","updated_at":"2026-04-28T21:03:15.767Z","registry_url":"https://github.com/dcarbone/tfcloud-module-push-action","install_command":null,"documentation_url":null,"metadata":{"name":"Push Terraform Cloud Module Version","description":"Very quickly made action to push Terraform Module versions to a private Terraform Cloud Registry","branding":{"icon":"archive","color":"purple"},"inputs":{"artifact-file":{"required":true,"description":"Full path to module version artifact to upload"},"token":{"required":true,"description":"Terraform Cloud API Token with at least \"Manage Modules\" permissions."},"organization":{"required":true,"description":"Name of Terraform Cloud organization"},"namespace":{"required":true,"description":"Name of Terraform Cloud namespace"},"module-name":{"required":true,"description":"Name of module"},"provider-name":{"required":true,"description":"Name of provider used by module"},"registry-name":{"required":true,"default":"private","description":"Terraform Cloud registry name"},"version":{"required":true,"default":"","description":"Version to push. Will attempt to create from tag version if not provided."}},"outputs":{"errors":{"description":"Any error that occurred during version creation","value":"${{ steps.create.outputs.errors }}"},"version":{"description":"Module version JSON","value":"${{ steps.create.outputs.version }}"}},"runs":{"using":"composite","steps":[{"name":"Ensure jq is installed","uses":"dcarbone/install-jq-action@v1.0.0"},{"name":"Setup","id":"setup","shell":"bash","run":"if ! [ -f \"${{ inputs.artifact-file }}\" ]; then\n echo \"Cannot locate artifact file ${{ inputs.artifact-file }}\"\n exit 1\nfi\n\n_base_url='https://app.terraform.io/api/v2/organizations/${{ inputs.organization }}/registry-modules/${{ inputs.registry-name }}/${{ inputs.namespace }}/${{ inputs.module-name }}/${{ inputs.provider-name }}'\n\necho \"tfcloud_base_url=${_base_url}\" \u003e\u003e $GITHUB_OUTPUT\n"},{"name":"Create Module Version","id":"create","shell":"bash","run":"echo \"::add-mask::${{ inputs.token }}\"\n\n_version=\"${{ inputs.version }}\"\nif [ -z \"${_version}\" ]; then\n  _version=\"$(echo -n \"${{ github.ref_name }}\" | sed 's/^v//g')\"\nfi\n\necho \"Will create version \\\"${_version}\\\"...\"\n\n_url='${{ steps.setup.outputs.tfcloud_base_url}}/versions'\n\n_body=\"{\\\"data\\\":{\\\"type\\\":\\\"registry-module-versions\\\",\\\"attributes\\\":{\\\"version\\\":\\\"${_version}\\\"}}}\"\n\n_create_resp=\"$(curl \\\n  -s \\\n  -X POST \\\n  -H 'Content-Type: application/vnd.api+json' \\\n  -H \"Authorization: Bearer ${{ inputs.token }}\" \\\n  --data-raw \"${_body}\" \\\n  \"${_url}\")\"\n\necho \"version=${_create_resp}\" \u003e\u003e $GITHUB_OUTPUT\n\n# attempt to parse upload link out of response body\n_upload_link=\"$(echo -n \"${_create_resp}\" | jq --raw-output '.data.links.upload')\" \n# if upload link not found, indicates error occurred\nif [[ \"${_upload_link}\" == \"null\" ]]; then\n  echo \"Error creating module version:\"\n  echo \"errors=${_create_resp}\" \u003e\u003e $GITHUB_OUTPUT\n  exit 1\nfi\n\n# mask upload link as its _kinda_ secret?\necho \"::add-mask::${_upload_link}\"\n\n# attempt upload of artifact to terraform cloud\n_upload_resp=\"$(curl \\\n  -s \\\n  -X PUT \\\n  -H 'Content-Type: application/octet-stream' \\\n  -o /dev/null \\\n  -w \"%{http_code}\" \\\n  --data-binary @\"${{ inputs.artifact-file }}\" \\\n  \"${_upload_link}\")\"\n\n# anything other than a 200 OK is bad.\nif [ \"${_upload_resp}\" -ne \"200\" ]; then\n  echo \"Upload errored: expected response code 200, saw ${_upload_resp}\"\n  echo \"errors=${_upload_resp}\" \u003e\u003e $GITHUB_OUTPUT\n  exit 1\nfi\n\necho \"Version ${_version} created successfully\"\n\nexit 0\n"}]},"default_branch":"main","path":null},"repo_metadata":{"uuid":"472847240","full_name":"dcarbone/tfcloud-module-push-action","owner":"dcarbone","description":"GitHub Action to push modules to a private Terraform Cloud registry","archived":false,"fork":false,"pushed_at":"2022-10-18T21:15:39.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-07-13T08:31:31.197Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/dcarbone.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":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2022-03-22T16:33:14.000Z","updated_at":"2022-03-22T17:17:01.000Z","dependencies_parsed_at":"2023-01-11T17:23:47.689Z","dependency_job_id":null,"html_url":"https://github.com/dcarbone/tfcloud-module-push-action","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":0.2941176470588235,"last_synced_commit":"63d8cdb259462da08c49a6df4e53d10f2e6dd50f"},"previous_names":[],"tags_count":7,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcarbone","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":145711889,"owners_count":6279274,"icon_url":"https://github.com/github.png","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"},"owner_record":{"login":"dcarbone","name":"Daniel Carbone","uuid":"1392439","kind":"user","description":"i write code.","email":"","website":null,"location":"Nashville, TN","twitter":null,"company":"@turquoisehealth ","icon_url":"https://avatars.githubusercontent.com/u/1392439?v=4","repositories_count":83,"last_synced_at":"2023-04-05T10:37:22.994Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/dcarbone","created_at":"2022-11-04T16:15:50.625Z","updated_at":"2023-04-05T10:37:23.793Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcarbone","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcarbone/repositories"},"tags":[{"name":"v0.2.0","sha":"63d8cdb259462da08c49a6df4e53d10f2e6dd50f","kind":"commit","published_at":"2022-10-18T21:13:00.000Z","download_url":"https://codeload.github.com/dcarbone/tfcloud-module-push-action/tar.gz/v0.2.0","html_url":"https://github.com/dcarbone/tfcloud-module-push-action/releases/tag/v0.2.0","dependencies_parsed_at":"2023-06-01T10:58:25.545Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.2.0/manifests"},{"name":"v0.1.5","sha":"64c13baa9e6d259260b610ba0c46301086a98d2b","kind":"commit","published_at":"2022-10-18T19:54:14.000Z","download_url":"https://codeload.github.com/dcarbone/tfcloud-module-push-action/tar.gz/v0.1.5","html_url":"https://github.com/dcarbone/tfcloud-module-push-action/releases/tag/v0.1.5","dependencies_parsed_at":"2023-05-31T17:22:53.921Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"c898b44606ef10775844902f334e1805130a924d","kind":"commit","published_at":"2022-04-01T17:18:10.000Z","download_url":"https://codeload.github.com/dcarbone/tfcloud-module-push-action/tar.gz/v0.1.4","html_url":"https://github.com/dcarbone/tfcloud-module-push-action/releases/tag/v0.1.4","dependencies_parsed_at":"2023-05-31T17:22:54.105Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"977e60894561c579ad5108fa7ce8424cf78113a2","kind":"commit","published_at":"2022-03-31T16:50:45.000Z","download_url":"https://codeload.github.com/dcarbone/tfcloud-module-push-action/tar.gz/v0.1.3","html_url":"https://github.com/dcarbone/tfcloud-module-push-action/releases/tag/v0.1.3","dependencies_parsed_at":"2023-05-31T17:22:54.247Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"18f0ecb4499f76100df37e72628f15b1d2c424e2","kind":"commit","published_at":"2022-03-28T21:55:54.000Z","download_url":"https://codeload.github.com/dcarbone/tfcloud-module-push-action/tar.gz/v0.1.2","html_url":"https://github.com/dcarbone/tfcloud-module-push-action/releases/tag/v0.1.2","dependencies_parsed_at":"2023-05-31T17:22:54.400Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"9f52c79d1c2559b66c0f138580621529a7546e22","kind":"commit","published_at":"2022-03-28T21:48:45.000Z","download_url":"https://codeload.github.com/dcarbone/tfcloud-module-push-action/tar.gz/v0.1.1","html_url":"https://github.com/dcarbone/tfcloud-module-push-action/releases/tag/v0.1.1","dependencies_parsed_at":"2023-05-31T17:22:54.535Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"162ea3737b20ae66329be4cd3f40517678ee7585","kind":"commit","published_at":"2022-03-28T21:42:24.000Z","download_url":"https://codeload.github.com/dcarbone/tfcloud-module-push-action/tar.gz/v0.1.0","html_url":"https://github.com/dcarbone/tfcloud-module-push-action/releases/tag/v0.1.0","dependencies_parsed_at":"2023-05-31T17:22:54.689Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarbone%2Ftfcloud-module-push-action/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2023-07-14T09:28:08.379Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":42.858974907023466,"dependent_packages_count":0.0,"stargazers_count":49.38656863164194,"forks_count":37.2590091052879,"average":32.376138160988326},"purl":"pkg:githubactions/dcarbone/tfcloud-module-push-action","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/dcarbone/tfcloud-module-push-action","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/actions/dcarbone/tfcloud-module-push-action","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/dcarbone/tfcloud-module-push-action/dependencies","status":null,"funding_links":["https://github.com/sponsors/dcarbone"],"critical":null,"issue_metadata":{"last_synced_at":"2023-08-09T09:39:30.737Z","issues_count":0,"pull_requests_count":1,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":6.0,"issues_closed_count":0,"pull_requests_closed_count":1,"pull_request_authors_count":1,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":1,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":6.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/dcarbone%2Ftfcloud-module-push-action/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/dcarbone%2Ftfcloud-module-push-action/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/dcarbone%2Ftfcloud-module-push-action/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/dcarbone%2Ftfcloud-module-push-action/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/dcarbone%2Ftfcloud-module-push-action/codemeta","maintainers":[]}