{"id":15156447,"url":"https://github.com/rancher/terraform-github-rke2-download","last_synced_at":"2025-04-02T04:31:38.573Z","repository":{"id":193105346,"uuid":"687390523","full_name":"rancher/terraform-github-rke2-download","owner":"rancher","description":"A Terraform module for downloading RKE2 from GitHub","archived":false,"fork":false,"pushed_at":"2025-03-08T01:59:42.000Z","size":91,"stargazers_count":2,"open_issues_count":0,"forks_count":7,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-16T10:23:47.543Z","etag":null,"topics":["github","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-05T09:04:00.000Z","updated_at":"2025-03-08T01:59:31.000Z","dependencies_parsed_at":"2024-09-22T05:00:44.841Z","dependency_job_id":null,"html_url":"https://github.com/rancher/terraform-github-rke2-download","commit_stats":{"total_commits":14,"total_committers":2,"mean_commits":7.0,"dds":0.2142857142857143,"last_synced_commit":"8cdd8d886f1b92f9e22798484439fd29ffcdfca4"},"previous_names":["rancher/terraform-github-rke2-download"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-github-rke2-download","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-github-rke2-download/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-github-rke2-download/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher%2Fterraform-github-rke2-download/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rancher","download_url":"https://codeload.github.com/rancher/terraform-github-rke2-download/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246757367,"owners_count":20828890,"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":["github","terraform","terraform-module"],"created_at":"2024-09-26T19:21:37.909Z","updated_at":"2025-04-02T04:31:33.562Z","avatar_url":"https://github.com/rancher.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform RKE2 Download\n\nThis module downloads the proper files from the RKE2 release specified and names them appropriately for the install script.\nThe download can be triggered again by changing the release variable.\n\n## Usage\n\n```hcl\nmodule \"download_latest\" {\n  source  = \"rancher/rke2-download/github\"\n  version = \"v0.0.2\"\n  release = \"latest\"\n}\n```\n\n## Requirements\n\n| Name                              | Version         |\n| --------------------------------- | --------------- |\n| [terraform](#requirement\\_terraform) | \u003e= 1.1.0, \u003c 1.6 |\n| [github](#requirement\\_github)       | \u003e= 5.32.0       |\n| [local](#requirement\\_local)         | \u003e= 2.4.0        |\n| [null](#requirement\\_null)           | \u003e= 3.2.0        |\n\n## Providers\n\n| Name                     | Version   |\n| ------------------------ | --------- |\n| [github](#provider\\_github) | \u003e= 5.32.0 |\n| [local](#provider\\_local)   | \u003e= 2.4.0  |\n| [null](#provider\\_null)     | \u003e= 3.2.0  |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name                                                                                                                 | Type        |\n| -------------------------------------------------------------------------------------------------------------------- | ----------- |\n| [local_file.download_dir](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/file)           | resource    |\n| [null_resource.download](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource)         | resource    |\n| [github_release.latest](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/release)   | data source |\n| [github_release.selected](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/release) | data source |\n\n## Inputs\n\n|              Name              | Description                                                                                                                                                                                                                                                                                                                                                                     | Type       | Default      | Required |\n| :-----------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | ------------ | :------: |\n|        [arch](#input\\_arch)        | The architecture of the system to download for.`\u003cbr\u003e`Valid values are amd64 (for any x86\\_64), arm64, or s390x.                                                                                                                                                                                                                                                               | `string` | `\"amd64\"`  |    no    |\n|          [os](#input\\_os)          | The OS to download RPMs for.`\u003cbr\u003e`This is only used for RPM downloads.`\u003cbr\u003e`This is ignored when rpm is false.                                                                                                                                                                                                                                                              | `string` | `\"rhel\"`   |    no    |\n| [os\\_version](#input\\_os\\_version) | The version of RHEL to download RPMs for.`\u003cbr\u003e`This is only used for RPM downloads.`\u003cbr\u003e`This is ignored when rpm is false.                                                                                                                                                                                                                                                 | `string` | `\"8\"`      |    no    |\n|        [path](#input\\_path)        | The path to download the files to.`\u003cbr\u003e`If not specified, the files will be downloaded to a directory named \"rke2\" in the root of the module.                                                                                                                                                                                                                                 | `string` | `\"./rke2\"` |    no    |\n|     [release](#input\\_release)     | The value of the git tag associated with the release to find.`\u003cbr\u003e`Specify \"latest\" to find the latest release (default).`\u003cbr\u003e`When downloading RPMs, this must be a specific release, not \"latest\".                                                                                                                                                                        | `string` | `\"latest\"` |    no    |\n|         [rpm](#input\\_rpm)         | Whether or not to download the RPMs.`\u003cbr\u003e`Defaults to false.`\u003cbr\u003e`This option requires that the system is linux (specifically RHEL based) and the architecture is amd64(x86\\_64).`\u003cbr\u003e`This option requires the computer running terraform to have curl installed.`\u003cbr\u003e`When using this option, the \"release\" variable must be set to a specific release, not \"latest\". | `bool`   | `false`    |    no    |\n|      [system](#input\\_system)      | The kernel of the system to download for.`\u003cbr\u003e`Valid values are currently just linux (the default).                                                                                                                                                                                                                                                                           | `string` | `\"linux\"`  |    no    |\n\n## Outputs\n\n| Name                   | Description                                              |\n| ---------------------- | -------------------------------------------------------- |\n| [assets](#output\\_assets) | A list of the assets found in the GitHub release object. |\n| [files](#output\\_files)   | A list of the files to download.                         |\n| [path](#output\\_path)     | The path where the files were downloaded to.             |\n| [tag](#output\\_tag)       | The tag of the release that was found.                   |\n\n## Curl and Local Filesystem Write Access\n\nThis module downloads files to your local filesystem (not a remote machine) using Curl.\nThis means you will need write (and read) access to your local filesystem and you will need Curl installed.\nYou will generally need 2GB of storage space available.\nYou will also need to have a GitHub token, see [GitHub Access](#github-access) below.\n\n## GitHub Access\n\nThe GitHub provider [provides multiple ways to authenticate](https://registry.terraform.io/providers/integrations/github/latest/docs#authentication) with GitHub.\nFor simplicity we use the `GITHUB_TOKEN` environment variable when testing.\n\n## Examples\n\n### Local State\n\nThe specific use case for the example modules is temporary infrastructure for testing purposes.\nWith that in mind, it is not expected that we manage the resources as a team, therefore the state files are all stored locally.\nIf you would like to store your state files remotely, add a terraform backend file (`*.name.tfbackend`) to your implementation module.\nhttps://www.terraform.io/language/settings/backends/configuration#file\n\n## Development and Testing\n\n### Paradigms and Expectations\n\nPlease make sure to read [terraform.md](./terraform.md) to understand the paradigms and expectations that this module has for development.\n\n### Environment\n\nIt is important to us that all collaborators have the ability to develop in similar environments, so we use tools which enable this as much as possible.\nThese tools are not necessary, but they can make it much simpler to collaborate.\n\n* I use [nix](https://nixos.org/) that I have installed using [their recommended script](https://nixos.org/download.html#nix-install-macos)\n* I use [direnv](https://direnv.net/) that I have installed using brew.\n* I simply use `direnv allow` to enter the environment\n* I navigate to the `tests` directory and run `go test -v -timeout=5m -parallel=10`\n* To run an individual test I navigate to the `tests` directory and run `go test -v -timeout=5m -run \u003ctest function name\u003e`\n  * eg. `go test -v -timeout=5m -run TestBasic`\n* I use `override.tf` files to change the values of `examples` to personalized data so that I can run them.\n* I store my GitHub credentials in a local file and generate a symlink to them named `~/.config/github/default/rc`\n  * this will be automatically sourced when you enter the nix environment (and unloaded when you leave)\n\nOur continuous integration tests in the GitHub [ubuntu-latest runner](https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md), which has many different things installed\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Francher%2Fterraform-github-rke2-download","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Francher%2Fterraform-github-rke2-download","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Francher%2Fterraform-github-rke2-download/lists"}