Table of Contents
Terraform is an open source tool maintained by Hashicorp that allow you to handle all the cloud infrastructure as code. In other words, it allows you to declare what you need and Terraform (using the providers) will get it configured for you.
Terraform uses a declaration language called hcl, allowing the declaration of resources to be under version control, and a local
state system that tracks the declared resources and the components on Cloud providers. The workspace allows the declared resources
to be assigned to different resources, dependending upon
the state of the components to be shared across the administration team.
If you want to learn about the concepts and how Terraform works, check the Terraform website.
The Authlete provider supports the management of services and OAuth clients on: Authlete Shared Cloud, Dedicated Cloud or even On-Premise deployments of Authlete.
The output and variable system of Terraform allows the api key/secrets and clients id/secrets to be generated by Authlete and pushed via Terraform to configuration systems, like Hashicorp Vault or Kubernetes secrets in automated way.
Those features allow Authlete configuration to be part of a CI/CD pipeline strategy. Developers can manage the basics details of the Services configuration, while administrators manage the certificates and key material, and the CI/CD process pushes the changes across the environments: development to validation to production, for instance.
The Authlete provider support creating, updating, and deleting services on an Authlete Server, as well as the clients of those services.
The properties that can be managed via Terraform scripts are the properties available on the Service Owner Console and the Developer Console, but the provider does not provision a Shared Cloud service owner account, so before trying the Terraform provider for Authlete, Sign up for a trial account.
You can check all the properties of services and clients that are supported under the links below: