https://github.com/entitleio/terraform-provider-entitle
Entitle Terraform Provider
https://github.com/entitleio/terraform-provider-entitle
Last synced: 6 months ago
JSON representation
Entitle Terraform Provider
- Host: GitHub
- URL: https://github.com/entitleio/terraform-provider-entitle
- Owner: entitleio
- License: mpl-2.0
- Created: 2023-12-14T13:14:20.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-12-03T15:10:51.000Z (8 months ago)
- Last Synced: 2026-01-12T05:35:29.145Z (7 months ago)
- Language: Go
- Size: 827 KB
- Stars: 3
- Watchers: 0
- Forks: 4
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
README
[](https://registry.terraform.io/providers/entitleio/entitle/latest)
[](https://search.opentofu.org/provider/entitleio/entitle/latest)
[](https://github.com/entitleio/terraform-provider-entitle/releases)
[](https://goreportcard.com/report/github.com/entitleio/terraform-provider-entitle)

[](https://scorecard.dev/viewer/?uri=github.com/entitleio/terraform-provider-entitle)
[](https://github.com/entitleio/terraform-provider-entitle/commits)
Entitle Terraform Provider
In Development
The Terraform Provider for Entitle allows you to manage resources and data sources related to Entitle, a platform that provides a seamless way to grant employees granular and just-in-time access within cloud infrastructures and SaaS applications.
### Supported Resources
* **Workflow** - A workflow in Entitle is a generic description of Just-In-Time permissions approval process, which is triggered after the permissions were requested by a user. Who should approve by approval order, to whom, and for how long. After the workflow is defined, it can be assigned to multiple entities which are part of the Just-In-Time permissions approval process: integrations, resources, roles and bundles.
* **Integration** -A specific instance or integration with an "Application". Integration includes the configuration needed to connect Entitle including credentials, as well as all the users permissions information.
* **Bundle** - Entitle bundle is a set of entitlements that can be requested, approved, or revoked by users in a single action, and set in a policy by the admin. Each entitlement can provide the user with access to a resource, which can be as fine-grained as a MongoDB table for example, usually by the use of a “Role”. Thus, one can think of a bundle as a cross-application super role.
* **Policy** - Entitle policy is a rule which manages users birthright permissions automatically, a group of users is entitled to a set of permissions. When a user joins the group, e.g. upon joining the organization, he will be granted with the permissions defined for the group automatically, and upon leaving the group, e.g. leaving the organization, the permissions will be revoked automatically.
* **Agent Token** - On-prem agent token.
* **Resource** - An entity within an "Integration" to which a user can gain access via an "Entitlement", e.g. DB table, group of users.
## Prerequisites
Before using the Entitle Terraform Provider, ensure you have the following:
### Provider Configuration
Configure the Entitle Terraform Provider with your API key and endpoint:
* `api_key` (Required): The API key for authenticating with the Entitle API.
* `endpoint` (Optional): The URL endpoint for the Entitle API. default: https://api.entitle.io.
To use the Entitle Terraform Provider, you must configure it with the necessary authentication details.
```hcl
provider "entitle" {
api_key = "your_api_key"
endpoint = "https://api.entitle.io"
}
```
## Developing the Provider
If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine
(see [Requirements](#requirements) below).
## Requirements
- [Terraform](https://developer.hashicorp.com/terraform/downloads) >= 1.0
- [Go](https://golang.org/doc/install) >= 1.24.3
## Building The Provider
1. Clone the repository
1. Enter the repository directory
1. Build the provider using the Go `install` command:
To compile the provider, run `go install`. This will build the provider and put the provider binary in
the `$GOPATH/bin` directory.
before starting you need to overide the configuration for the terraform provider to be search first of all localy in
`$GOPATH/bin`
```hcl
provider_installation {
dev_overrides {
"entitleio/entitle" = `$GOPATH/bin`
}
# For all other providers, install them directly from their origin provider
# registries as normal. If you omit this, Terraform will _only_ use
# the dev_overrides block, and so no other providers will be available.
direct {}
}
```
To generate or update documentation, run `go generate`.
In order to run the full suite of Acceptance tests, run `make testacc`.
*Note:* Acceptance tests create real resources, and often cost money to run.
```shell
make testacc
```