terraform-provider-openapi alternatives and similar packages
Based on the "DevOps Tools" category.
Alternatively, view terraform-provider-openapi alternatives based on common mentions on social networks and blogs.
-
Moby
The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems -
Gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD -
Packer
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. -
kubeshark
The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. Inspired by Wireshark, purposely built for Kubernetes -
Ddosify
Anteon (formerly Ddosify) - Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud -
dasel
Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package. -
Mizu
DISCONTINUED. The API traffic viewer for Kubernetes providing deep visibility into all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Think TCPDump and Wireshark re-invented for Kubernetes [Moved to: https://github.com/kubeshark/kubeshark] -
Pomerium
Pomerium is an identity and context-aware reverse proxy for zero-trust access to web applications and services. -
Fleet device management
Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center) -
StatusOK
Monitor your Website and APIs from your Computer. Get Notified through Slack, E-mail when your server is down or response time is more than expected. -
s3gof3r
Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r -
uTask
µTask is an automation engine that models and executes business processes declared in yaml. ✏️📋
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of terraform-provider-openapi or a related project?
README
Terraform Provider OpenAPI
This terraform provider aims to minimise as much as possible the efforts needed from service providers to create and maintain custom terraform providers. This provider uses terraform as the engine that will orchestrate and manage the cycle of the resources and depends on a swagger file (hosted on a remote endpoint) to successfully configure itself dynamically at runtime.
Powered by https://www.terraform.io Following The OpenAPI Specification
What are the main pain points that this terraform provider tries to tackle?
- As as service provider, you can focus on improving the service itself rather than the tooling around it.
- Due to the dynamic nature of this terraform provider, the service provider can continue expanding the functionality of the different APIs by introducing new versions, and this terraform provider will be able to discover the new resource versions automatically without the need to add support for those as you would when mantining your own custom Terraform provider.
- Find consistency across APIs provided by different teams encouraging the adoption of OpenAPI specification for describing, producing, consuming, and visualizing RESTful Web services.
Overview
API terraform provider is a powerful full-fledged terraform provider that is able to configure itself at runtime based on a Swagger specification file containing the definitions of the APIs exposed. The dynamic nature of this provider is what makes it very flexible and convenient for service providers as subsequent upgrades to their APIs will not require new compilations of this provider. The service provider APIs are discovered on the fly and therefore the service providers can focus on their services rather than the tooling around it.
Pre-requirements
- The service provider hosts APIs documented using OpenApi 2.0 specification and the APIs comply with the OpenAPI Terraform Provider [How to](docs/how_to.md) guidelines. The service provider API's OpenAPI document must also be available via a discovery endpoint served through HTTP/s or the file system.
Requirements
- Terraform >= v0.12.0 (to execute the terraform provider plugin)
- If you are using Terraform 0.11, refer to the latest OpenAPI Terraform provider v0.13.1 released compatible with Terraform 0.11.
- Go >= 1.17 (to build the provider plugin)
- This project uses go modules for dependency management
- Docker 17.09.0-ce (to run service provider example)
- Docker-compose 1.16.1 (to run service provider example)
How to use Terraform Provider OpenAPI
Things to know regarding custom terraform providers
- Terraform expects third party (in-house) providers to be manually installed in a specific directory. Refer to the OpenAPI Terraform provider installation instructions to learn more about this.
- Terraform expects terraform provider names to follow a specific naming scheme. The naming scheme for plugins is
terraform-<type>-<name>_vX.Y.Z
, where<type>
is either provider or provisioner,<name>
is the provider's name andX.Y.Z
is the version of the plugin.
More information about how terraform discovers third party terraform providers and naming conventions here.
OpenAPI Terraform provider installation
There are multiple ways how the OpenAPI Terraform provider can be installed. Please refer to the OpenAPI Terraform provider installation document to learn more about it.
OpenAPI Terraform provider in action
After having provisioned your environment with the OpenAPI Terraform provider you can now write Terraform configuration files using resources provided by the OpenAPI service. Refer to Using the OpenAPI Terraform Provider doc for more details.
Terraform provider documentation
You can generate the Terraform documentation automatically given an already Terraform compatible OpenAPI document using the The OpenAPI Terraform Documentation Renderer library. The OpenAPI document is the source of truth for both the OpenAPI Terraform provider as well as the user facing documentation.
How to publish the provider in the Terraform Registry
The [Publishing OpenAPI Terraform providers in the Terraform Registry](./docs/publishing_provider.md) document describes how service providers can make use of the OpenAPI Terraform provider library to create their own Terraform provider and register it in the Terraform Registry.
References
Additionally, the following documents provide deep insight regarding OpenAPI and Terraform as well as frequently asked questions:
- [How to](docs/how_to.md) document contains information about how to define a OpenAPI document following good practises that make it work seamlessly with this terraform provider. Additionally, learn more about what is currently supported.
- [Migrating to Terraform 0.12](./docs/terraform_version_upgrades/upgrading_to_terraform_0.12.md). This document describes how to update configuration created using Terraform v0.11 to v0.12.
- [FAQ](./docs/faq.md) document answers for the most frequently asked questions.
Contributing
Please follow the guidelines from:
- [Contributor Guidelines](.github/CONTRIBUTING.md)
- [How to set up the local environment?](./docs/local_environment.md)
References
- go-swagger: Api terraform provider makes extensive use of this library which offers a very convenient implementation to serialize and deserialize swagger specifications.
- JsonPath: Json path is used in the plugin external configuration file to define values for provider schema properties that are coming from external files.
Authors
- Daniel I. Khan Ramiro
See also the list of contributors who participated in this project.