Permit.io has invested heavily in solving the challenge of automating CI/CD pipelines while maintaining consistent permission management across various environments.
By integrating GitHub Actions with Permit.io APIs, they were able to streamline their CI/CD process and make their environment model accessible and efficient for development teams.
Their environment-project model provides flexibility and control across multiple stages of development allowing users to create isolated environments, manage permissions seamlessly and automate workflows.
In order to streamline the continuous integration of PR-based workflows, they created a custom GitHub Action that incorporates three workflows - new-env.yaml, run-pdp.yaml, and merging.yaml.
Their GitHub Action was able to automate the process of creating a new Permit environment for each PR, run integration and product tests, and merge the Permit environment with the production environment after PR is approved.
The new-env.yaml workflow automates the creation of a new environment in Permit and replicates production settings in the new environment ensuring consistency across different stages.
The run-pdp.yaml workflow spins up a local Policy Decision Point (PDP) instance via Docker and runs integration and product tests to test the accuracy of permission settings before merging changes into production.
The merging.yaml workflow merges the PR-specific environment into the production environment and deletes the PR-specific environment ensuring that no unnecessary environments linger, thereby reducing clutter and maintaining a clean development setup.
By automating these steps, Permit.io significantly reduced manual intervention, minimized errors, and sped up the entire CI/CD process.
Permit.io's flexible environment model combined with GitHub Actions offers a powerful solution to automate and secure development workflows for optimizing the CI/CD pipeline.