{"id":20900225,"url":"https://github.com/nxt-engineering/terraform-provider-publicip","last_synced_at":"2025-09-29T17:31:19.900Z","repository":{"id":36965328,"uuid":"451814522","full_name":"nxt-engineering/terraform-provider-publicip","owner":"nxt-engineering","description":"A Terraform provider to get your current public IPv6 and/or IPv4.","archived":true,"fork":false,"pushed_at":"2023-03-21T14:32:49.000Z","size":135,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-13T23:33:50.466Z","etag":null,"topics":["go","hacktoberfest","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/providers/nxt-engineering/publicip","language":"Go","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/nxt-engineering.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":"2022-01-25T09:31:09.000Z","updated_at":"2024-12-03T21:10:43.000Z","dependencies_parsed_at":"2024-06-21T12:06:35.653Z","dependency_job_id":null,"html_url":"https://github.com/nxt-engineering/terraform-provider-publicip","commit_stats":{"total_commits":44,"total_committers":3,"mean_commits":"14.666666666666666","dds":"0.40909090909090906","last_synced_commit":"1a1a8002fa6aa750305d0cf61209b5a19e9c82ea"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/nxt-engineering/terraform-provider-publicip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxt-engineering%2Fterraform-provider-publicip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxt-engineering%2Fterraform-provider-publicip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxt-engineering%2Fterraform-provider-publicip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxt-engineering%2Fterraform-provider-publicip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nxt-engineering","download_url":"https://codeload.github.com/nxt-engineering/terraform-provider-publicip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxt-engineering%2Fterraform-provider-publicip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277556188,"owners_count":25838517,"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-09-29T02:00:09.175Z","response_time":84,"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":["go","hacktoberfest","terraform","terraform-provider"],"created_at":"2024-11-18T11:18:30.368Z","updated_at":"2025-09-29T17:31:19.629Z","avatar_url":"https://github.com/nxt-engineering.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Public IP Terraform Provider\n\nThis Terraform provider connects to [ifconfig.co](https://ifconfig.co) to fetch information about the public IP in use.\nIt was mainly built to allow creating or adjusting firewall rules in cloud setups on the fly,\nso that other providers that connect directly to the resources can operate.\n\nFor example and at least until version 3,\nthe `azurerm` provider needed to connect to the Azure Storage account directly to manage blob containers.\nLikewise, a `postgresql` provider needs to directly connect to the database to do its job.\n\n## Usage\n\n```terraform\nterraform {\n  required_providers {\n    publicip = {\n      source = \"nxt-engineering/publicip\"\n      version = \"~\u003e 0.0.3\"\n    }\n  }\n}\n\nprovider \"publicip\" {}\n\ndata \"publicip_address\" \"main\" {}\n\noutput \"ip\" {\n  value = data.publicip_address.main.ip\n}\n\noutput \"all\" {\n  value = data.publicip_address.main\n}\n```\n\n\n## Development\n\n### Requirements\n\n- [Terraform](https://www.terraform.io/downloads.html) \u003e= 1.0\n- [Go](https://golang.org/doc/install) \u003e= 1.17\n\n### Building The Provider\n\n1. Clone the repository\n1. Enter the repository directory\n1. Build the provider using the Go `install` command:\n\n```shell\ngo install\n```\n\n### Testrun\n\nAdd this to your `~/.terraformrc`:\n\n```hcl\nprovider_installation {\n  dev_overrides {\n    # Edit the path …                         … here:  |________|\n    \"registry.terraform.io/nxt-engineering/publicip\" = \"HOME/SRC/terraform-provider-publicip\"\n  }\n\n  direct {}\n}\n```\n\nSet up a dummy project like this:\n\n```terraform\nterraform {\n  required_providers {\n    publicip = {\n      source = \"nxt-engineering/publicip\"\n    }\n  }\n}\n\nprovider \"publicip\" {}\n\ndata \"publicip_address\" \"default\" {}\n\ndata \"publicip_address\" \"default_v4\" {\n  source_ip = \"0.0.0.0\"\n}\n\ndata \"publicip_address\" \"default_v6\" {\n  source_ip = \"::\"\n}\n\noutput \"out\" {\n  value = {\n    default    = data.publicip_address.default,\n    default_v4 = data.publicip_address.default_v4,\n    default_v6 = data.publicip_address.default_v6,\n  }\n}\n```\n\nBuild the provider:\n\n```bash\ngo build -o terraform-provider-publicip\n```\n\nRun the provider like this:\n\n```bash\nTF_LOG_PROVIDER=DEBUG terraform apply -auto-approve\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxt-engineering%2Fterraform-provider-publicip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnxt-engineering%2Fterraform-provider-publicip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxt-engineering%2Fterraform-provider-publicip/lists"}