top of page
Search
  • Akmod

The Future is Bright: Envisioning Idem Formulas for Cloud Infrastructure

While SaltStack Formulas have carved a niche for themselves in the world of infrastructure management, it’s worth pondering what if Idem, Salt's sister project, adopted a similar approach. In this blog post, let's explore the exciting possibility of Idem Formulas, a concept that could redefine cloud infrastructure templating.

Understanding SaltStack Formulas

For context, SaltStack Formulas are Salt states that efficiently package various functionalities into a single, parametrizable purpose. From managing nginx to orchestrating Docker containers, SaltStack Formulas have become a staple in the community. They allow for seamless customization and efficient management of specific salt state configurations that the community can share.


Conceptualizing Idem Formulas

Now, let's turn our attention to Idem. Unlike SaltStack, Idem uses params instead of pillars. The concept of Idem Formulas envisions packaging multiple Idem functionalities into templates for cloud infrastructures. Users would have to set up an account file with cloud credentials and a params file with specific configuration data. Ideally, executing an Idem Formula could be as simple as running a single command:


idem state sls_ref --sls-sources "git+https://gitlab.com/my_repo/my_formula.git" --params my_params.sls

The Potential of Shared Cloud Templates

The introduction of Idem Formulas could facilitate the sharing of complex cloud templates among the community. Take, for instance, a hypothetical Idem Formula to set up an EC2 instance with a VPC and subnet:


default_vpc:
  exec.run:
    - path: aws.ec2.vpc.get
    - kwargs:
        filters:
          - name: is-default
            values:
              - "true"

default_subnet:
  exec.run:
    - path: aws.ec2.subnet.get
    - kwargs:
        filters:
          - name: vpc-id
            values:
              - ${exec:default_vpc:resource_id}

{{ params.instance_formula.instance_name }}:
  aws.ec2.instance.present:
    - subnet_id: ${exec:default_subnet:resource_id}
    - image_id: {{ params.instance_formula.image_id }}

And a corresponding params file:

instance_formula:
  image_id: <my_image_id>
  instance_name: <my_instance_name>

This example illustrates how Idem Formulas could leverage params for customization and effectively create cloud infrastructure with minimal hassle.



Why Idem Formulas Could Be Revolutionary

The integration of such formulas in Idem could bring about convenience on an unprecedented scale. With the proper setup, users could deploy databases, instances hosting websites, and complex cloud infrastructures by merely filling out a params file, a credentials file, and an Idem config file. It would combine the reusability of SaltStack Formulas with the cloud prowess of Idem.


Conclusion

While Idem Formulas are currently a concept, they represent a promising future for multi-cloud infrastructure management and development. As the idem community continues to innovate, one can only hope that such a streamlined and efficient approach will soon become a reality, empowering users to manage cloud infrastructure with even more ease and precision than idem already offers.

Recent Posts

See All
bottom of page