{"id":13450240,"url":"https://github.com/rancher/terraform-provider-rke","last_synced_at":"2025-03-23T16:31:02.874Z","repository":{"id":38705400,"uuid":"128194523","full_name":"rancher/terraform-provider-rke","owner":"rancher","description":"Terraform provider plugin for deploy kubernetes cluster by RKE(Rancher Kubernetes Engine)","archived":false,"fork":false,"pushed_at":"2025-02-13T20:56:54.000Z","size":18789,"stargazers_count":344,"open_issues_count":48,"forks_count":153,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-03-21T23:35:46.661Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rancher.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-05T11:05:36.000Z","updated_at":"2025-02-11T13:42:36.000Z","dependencies_parsed_at":"2023-11-29T23:25:30.716Z","dependency_job_id":"e0ce3d39-83c9-49c1-bc9a-08d52b409f25","html_url":"https://github.com/rancher/terraform-provider-rke","commit_stats":null,"previous_names":["yamamoto-febc/terraform-provider-rke"],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-provider-rke","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-provider-rke/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-provider-rke/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-provider-rke/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rancher","download_url":"https://codeload.github.com/rancher/terraform-provider-rke/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245130718,"owners_count":20565699,"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":[],"created_at":"2024-07-31T07:00:32.626Z","updated_at":"2025-03-23T16:31:02.866Z","avatar_url":"https://github.com/rancher.png","language":"Go","funding_links":[],"categories":["Rancher 2.0","Go"],"sub_categories":["Community projects"],"readme":"Terraform Provider for RKE\n==================================\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/rancher/terraform-provider-rke)](https://goreportcard.com/report/github.com/rancher/terraform-provider-rke)\n\nTerraform RKE providers can easily deploy Kubernetes clusters with [Rancher Kubernetes Engine](https://github.com/rancher/rke).  \n\n- Website: https://registry.terraform.io/providers/rancher/rke\n- Docs: https://registry.terraform.io/providers/rancher/rke/latest/docs\n\nRequirements\n------------\n\n- [Terraform](https://www.terraform.io/downloads.html) \u003e= 0.12.x\n- [Go](https://golang.org/doc/install) 1.22 to build the provider plugin\n- [Docker](https://docs.docker.com/install/) 17.03.x to run acceptance tests\n\nInstalling The Provider\n-----------------------\n\nFor terraform 0.13 or above users, manual installation is not required anymore. Provider will be downloaded by `terraform init` from [terraform rke registry](https://registry.terraform.io/providers/rancher/rke). \n\nFor upgrade terraform to 0.13, please follow [upgrade_to_0.13 guide](https://registry.terraform.io/providers/rancher/rke/latest/docs/guides/upgrade_to_0.13)\n\n**Note:** If you are using terraform 0.12 or lower, the provider should be installed manually. Downloadable packages are available at [rke provider releases](https://github.com/rancher/terraform-provider-rke/releases)\n\nHow to install manually:\n* Get binary for your platform: `curl -L https://github.com/rancher/terraform-provider-rke/releases/download/vX.Y.Z/terraform-provider-rke_X.Y.Z_\u003cOS\u003e_\u003cARCH\u003e.zip | unzip -`\n* Grant execution permission: `chmod 755 terraform-provider-rke_vX.Y.Z`\n* Place provider binary on your terraform plugin directory: `mv terraform-provider-rke_vX.Y.Z \u003cTERRAFORM_PLUGIN_DIRECTORY\u003e`\n  * `terraform init` will search the following terraform plugin directories (More info at [terra-farm.github.io](https://terra-farm.github.io/main/installation.html)):\n\n| Directory                                                       | Purpose                                                                                                                                      |\n|-----------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| .                                                               | In case the provider is only used in a single Terraform project.                                                                             |\n| Location of the terraform binary (/usr/local/bin, for example.) | For airgapped installations; see terraform bundle.                                                                                           |\n| terraform.d/plugins/\u003cOS\u003e_\u003cARCH\u003e                                 | For checking custom providers into a configuration’s VCS repository. Not usually desirable, but sometimes necessary in Terraform Enterprise. |\n| .terraform/plugins/\u003cOS\u003e_\u003cARCH\u003e                                  | Automatically downloaded providers.                                                                                                          |\n| ~/.terraform.d/plugins                                          | The user plugins directory.                                                                                                                  |\n| ~/.terraform.d/plugins/\u003cOS\u003e_\u003cARCH\u003e                              | The user plugins directory, with explicit OS and architecture.                                                                               |\n| /my/custom/path                                                 | Custom plugin directory. Use the `-plug-dir=/my/custom/path` when running `terraform init`                                                   |\n\nBuilding The Provider\n---------------------\n\nClone repository to: `$GOPATH/src/github.com/terraform-providers/terraform-provider-rke`\n\n```sh\n$ mkdir -p $GOPATH/src/github.com/rancher\n$ cd $GOPATH/src/github.com/rancher\n\n$ go get github.com/rancher/terraform-provider-rke\n$ go install github.com/rancher/terraform-provider-rke\n```\n\nEnter the provider directory and build the provider\n\n```sh\n$ cd $GOPATH/src/github.com/rancher/terraform-provider-rke\n$ make build\n```\n\n**Current master is focusing on RKE v1.x** There are some breaking changes from previous provider version.\n\n**If you use RKE v0.2.x or v0.1.x, please set proper branch.**\n\nUsing the Provider\n------------------\n\nIf you're building the provider, follow the instructions to [install it as a plugin.](https://www.terraform.io/docs/plugins/basics.html#installing-a-plugin) After placing it into your plugins directory,  run `terraform init` to initialize it. Documentation about the provider specific configuration options can be found at [rke provider docs](https://registry.terraform.io/providers/rancher/rke/latest/docs).\n\nDeveloping the Provider\n-----------------------\n\nIf you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (version 1.13+ is *required*). You'll also need to correctly setup a [GOPATH](http://golang.org/doc/code.html#GOPATH), as well as adding `$GOPATH/bin` to your `$PATH`.\n\nTo compile the provider, run `make build`. This will build the provider and put the provider binary in `$GOPATH/bin` .\n\n```sh\n$ make build\n...\n$ $GOPATH/bin/terraform-provider-rke\n...\n```\n\nTo just compile provider binary on repo path and test on terraform:\n\n```sh\n$ make bin\n$ terraform init\n$ terraform plan\n$ terraform apply\n```\n\nTesting the Provider\n--------------------\n\nIn order to test structures on the provider, you can simply run `make test`.\n\n```sh\n$ make test\n```\n\nIn order to run the full suite of Acceptance tests, you can simply run `make testacc`. `scripts/gotestacc.sh` will be run, deploying all needed requirements, running acceptance tests and cleanup.\n\n```sh\n$ make testacc\n```\n\nDue to network limitations on docker for Mac OSX and windows, on these platforms acceptance tests should run on a dockerized enviroment.\n\n```sh\n$ make dapper-testacc\n```\n\nProvider examples\n-----------------\n\nYou can view some tf file examples, [here](examples).\n\nOn Openstack you can use [terraform-openstack-rke](https://github.com/remche/terraform-openstack-rke) module.\n\nBranching the Provider\n---------------------------\n\nThe provider is branched to align with RKE versions:\n\n- `master` is aligned with RKE v1.7\n- `release/v1.6` is aligned with RKE v1.6\n- `release/v1.5` is aligned with RKE v1.5\n- `release/v1.4` is aligned with RKE v1.4\n- `release/v1.3` is aligned with RKE v1.3 \n\nRelease process\n\n* When there's an RKE/KDM release and the RKE release has new kubernetes versions, create an issue that will list the RKE version + provide links\n* Backport CVEs or fixes as needed\n* Release the provider that includes the new version(s)\n* It depends on what RKE version just got released (v1.3 / v1.4) as to what line of the provider gets released. Could be one or the other, or both\n\nReleasing the Provider\n---------------------------\n\n* Create a draft of the [release](https://github.com/rancher/terraform-provider-rke/releases) and select create new tag for the version you are releasing\n* Create release notes by clicking `Generate release notes`\n* Copy the release notes to the CHANGELOG and update to the following format\n\n```\n# \u003ctag version\u003e (Month Day, Year)\nFEATURES:\nENHANCEMENTS:\nBUG FIXES:\n```\n\n* Create a PR to update CHANGELOG\n* Copy the updated notes back to the draft release (DO NOT release with just the generated notes. Those are just a template to help you)\n* Make sure the branch is up-to-date with the remote, in this example, the branch is master and the release tag is v1.24.0\n\n```\ngit remote add upstream-release git@github.com:rancher/terraform-provider-rke.git\ngit checkout upstream-release/master\ngit push upstream-release v1.24.0\n```\n* Check that the new version has been published on the [Hashicorp registry](https://registry.terraform.io/providers/rancher/rke/latest). If it has not been published after 2 hours, create an [EIO issue](https://github.com/rancherlabs/eio) to trigger the registry sync.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Francher%2Fterraform-provider-rke","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Francher%2Fterraform-provider-rke","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Francher%2Fterraform-provider-rke/lists"}