{"id":15666350,"url":"https://github.com/sergk/puppet-tfenv","last_synced_at":"2025-09-02T01:33:43.480Z","repository":{"id":57670344,"uuid":"99579813","full_name":"SergK/puppet-tfenv","owner":"SergK","description":"Install and configure terraform with tfenv tool","archived":false,"fork":false,"pushed_at":"2017-10-21T21:07:35.000Z","size":29,"stargazers_count":3,"open_issues_count":2,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-16T13:57:28.256Z","etag":null,"topics":["ci","jenkins","puppet","terraform","tfenv"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SergK.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-07T13:16:00.000Z","updated_at":"2021-10-06T19:11:55.000Z","dependencies_parsed_at":"2022-09-26T20:40:59.369Z","dependency_job_id":null,"html_url":"https://github.com/SergK/puppet-tfenv","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/SergK/puppet-tfenv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergK%2Fpuppet-tfenv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergK%2Fpuppet-tfenv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergK%2Fpuppet-tfenv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergK%2Fpuppet-tfenv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SergK","download_url":"https://codeload.github.com/SergK/puppet-tfenv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergK%2Fpuppet-tfenv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273218428,"owners_count":25065913,"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-01T02:00:09.058Z","response_time":120,"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":["ci","jenkins","puppet","terraform","tfenv"],"created_at":"2024-10-03T14:00:37.656Z","updated_at":"2025-09-02T01:33:43.459Z","avatar_url":"https://github.com/SergK.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tfenv\n[![Puppet Forge](http://img.shields.io/puppetforge/v/SergK/tfenv.svg)](https://forge.puppetlabs.com/SergK/tfenv) [![Github Tag](https://img.shields.io/github/tag/SergK/puppet-tfenv.svg)](https://github.com/SergK/puppet-tfenv) [![Build Status](https://travis-ci.org/SergK/puppet-tfenv.svg?branch=master)](https://travis-ci.org/SergK/puppet-tfenv) [![Coverage Status](https://coveralls.io/repos/github/SergK/puppet-tfenv/badge.svg?branch=master)](https://coveralls.io/github/SergK/puppet-tfenv?branch=master) [![Puppet Forge Downloads](http://img.shields.io/puppetforge/dt/SergK/tfenv.svg)](https://forge.puppetlabs.com/SergK/tfenv)\n\n## Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description - What the module does and why it is useful](#module-description)\n3. [Setup - The basics of getting started with tfenv](#setup)\n    * [What tfenv affects](#what-tfenv-affects)\n    * [Beginning with tfenv](#beginning-with-tfenv)\n4. [Usage - Configuration options and additional functionality](#usage)\n5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n\n## Overview\n\nThis module installs and configures [tfenv](https://github.com/kamatama41/tfenv)\ntool which manages terraform version\n\n## Module Description\n\nThe tfenv module sets up from the github repo tfenv utility which manages\nterraform version. Module creates user and group `jenkins` by default.\nThis behavior can be changed.\n\n## Setup\n\n### What tfenv affects\n\nBy default:\n* Clone and install tfenv into */opt/tfenv* folder;\n* Create user *jenkins* and group *jenkins*\n\n\n### Beginning with tfenv\n\n```\ninclude '::tfenv'\n```\n\n## Usage\n\nAll options and configuration can be done through interacting with the parameters\non the main ::tfenv class. The default parameters are defined in ::tfenv::params\n\n### tfenv class\n\nTo start using tfenv one can use simple inclusion:\n\n```\ninclude '::tfenv'\n```\n\nIf you don't need to create user you should define this explicitly, but please\nensure that both  user `tfenv_user` and group `tfenv_group` exists, otherwise\npuppet run will fail:\n\n```\nclass { '::tfenv':\n  manage_user  =\u003e false,\n  manage_group =\u003e false,\n  tfenv_user   =\u003e root,\n  tfenv_group  =\u003e root,\n}\n```\n\nYou can also provide custom installation directory as well as\n[tfenv version](https://github.com/kamatama41/tfenv/releases):\n\n```\nclass { '::tfenv':\n  install_dir    =\u003e '/home/jenkins/tfenv',\n  tfenv_revision =\u003e 'v0.5.1',\n}\n```\n\n### tfenv::terraform\n\nIf you want to install several versions of terraform you can use\n`tfenv::terraform`, e.g. install terraform versions '0.9.8', '0.9.9', '0.10.0':\n\n```\ninclude ::tfenv\n\n$terraform_versions = ['0.9.8', '0.9.9', '0.10.0']\n\n::tfenv::terraform { $terraform_versions: }\n\n```\n\n## Reference\n\n## Classes\n\n* tfenv - Main class for installation and configuration.\n* tfenv::params - Different configuration data for module.\n\n## Defined resource\n\n* tfenv::terraform - install required version of terraform using tfenv tool\n\n## Limitations\n\nTested and work on:\n* CentOS 7\n* Ubuntu 14.04\n* Ubuntu 16.04\n* Debian Jessie\n\n## Development\n\nContributions will be gratefully accepted. All you pull requests should be done\nin separate branch, e.g. `feature_abc`, `fix_version_issue`, etc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergk%2Fpuppet-tfenv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergk%2Fpuppet-tfenv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergk%2Fpuppet-tfenv/lists"}