Skip to content

Ligoj plugin for provisioning : design and execution with Terraform

License

Notifications You must be signed in to change notification settings

ligoj/plugin-prov

Repository files navigation

🔗 Ligoj Provisioning plugin Maven Central

Coverage Quality Gate Codacy Badge CodeFactor MaintainabilityLicense

Ligoj Provisioning plugin Provides the following features :

  • Find the best instance from the given requirement : CPU, RAM, OS and price type
  • Compute the total cost of storage and compute for a set of VM

Supported requirements

Name Note
Term A contract, defining the constraints: reservation, conversion options and sometimes a location
Location A geographical place (variable GPS coordinates precision). May be a country, or sometimes a city
Processor The underlying physical processor. The vendor can be used instead of the full product code.
Physical A boolean constraint to expect a physical (bar metal) instance instead of a virtual one
Tenancy Shared or dedicated, to handle the noisy neighborhood issue
OS Operating system. Currently, only the type name is supported: Windows, Linux, RHEL,...
Software The pre-installed software
Engine Database engine name. Can be MySQL, Oracle, .. or even custom one like Aurora. Depends on the availability in the catalog.
Edition Database edition valid for a specific engine. For sample: Oracle Standard Edition 1
License BYOL or included mode. Depends on the availability in the catalog.
Optimized Storage expected optimization: durability, IOPS, throughput
CPU/RAM Expected vCPU/RAM(MiB) to match. Note that some providers support custom (elastic) settings for these values. Ligoj handles this.
Ephemeral A boolean to accept a shutdown of a instance. Would be plugged to Spot/Batch like services
Usage Utilization profile including up-time, commitment, conversion, reservation and forecasted start.
Size Storage size in GiB. The required value is checked against provider limits.
Latency IO latency access rating from WORST to BEST
Optimized Optimization profile: durability, throughput and IOPS

Covered requirements per resource

Resource Criteria
Instance Tenancy, processor, physical (metal), ephemeral, %usage, location, term, cpu, ram, OS, software
Database Tenancy, processor, physical (metal), ephemeral, %usage, location, term, cpu, ram, engine, edition
Storage Location, size, latency, location, optimization
Support Phone, mail, chat, API, seats

Covered service per provider

Provider Plugin Covered services
AWS plugin-prov-aws EC2 (Savings Plan, RI, Spot), RDS, S3 (Glacier, IA,...), EFS, Support, EBS,

Related plugins:

Custom configuration: service:prov:use-parallel = 0/1