The ability to trigger infrastructure changes from a continuous delivery pipeline has become a standard practice in the industry. System Initiative is introducing this capability, with the first iteration focusing on integration with GitHub Actions. This post will fill you in on the details, and you can always watch the readout of the opportunity on YouTube.
If this is your first exposure to how we communicate about the ongoing development of System Initiative, welcome! On our docs site, you can learn more about what opportunities are and how we work on System Initiative. You will also find our vocabulary page useful.
A software delivery pipeline is essential to modern software development. It enables teams to consistently and efficiently deliver high-quality, reliable software. A delivery pipeline becomes a critical tool for any team striving to innovate and succeed by adhering to industry best practices, fostering collaboration, and streamlining processes. Teams that aspire to deliver software faster cannot do so reliably without leveraging a delivery pipeline.
Over time, infrastructure delivery practices have evolved, with GitOps emerging as a more refined and modern approach to these workflows. Traditional infrastructure pipelines, often built with Continuous Integration (CI)/ Continuous Delivery (CD) tools, enable teams to automate the validation, testing, and deployment of infrastructure code. GitOps takes this a step further by introducing a declarative model where Git serves as the single source of truth. Changes are not just automated but continuously reconciled to ensure the live infrastructure state matches the desired state. This evolution simplifies workflows, enhances consistency, and aligns closely with modern cloud-native and Kubernetes-based environments, making GitOps an ideal choice for teams looking to push infrastructure automation to the next level.
Since these practices are now the industry standard, System Initiative will allow teams to integrate into their existing pipelines, automating, validating, and deploying infrastructure changes with the same rigor and efficiency as modern software delivery practices. This approach ensures that infrastructure teams can enhance their workflows while remaining competitive, consistent, and agile in an increasingly fast-paced and complex ecosystem.
Our implementation plan is as follows:
The API is in active development, but it will have a shape similar to the following:
curl -X POST https://app.systeminit.com/api/dispatch \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $SYSTEM_INITIATIVE_API_TOKEN" \
-d '{
"componentId": "your_component_id_here",
"functionId": "your_function_id_here",
"payload": {
"props": [
{"propId": "example_prop_1", "value": "example_value_1"},
{"propId": "example_prop_2", "value": "example_value_2"}
],
"execution": {
"autoMerge": false,
"changeSetName": "abc",
}
}
}'
Alternatively, we will provide a GitHub Action that may look similar to the following:
name: System Initiative
on:
push:
branches:
- main
jobs:
up:
name: Mgmt Func
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: systeminit/actions@v1
with:
component-id: <ComponentId>
func-id: <func-id>
props: '[{"propId":"example_prop_1","value":"example_value_1"},{"propId":"example_prop_2","value":"example_value_2"}]'
execution: '{"autoMerge":false,"changeSetName":"abc"}'
env:
SI_ACCESS_TOKEN: ${{ secrets.SI_ACCESS_TOKEN }}
This opportunity has a budget of four weeks, ending January 17th, 2025. You can follow along with our progress by watching our weekly demos, posted every Monday on Discord, YouTube, and our Changelog. You can always find this, and every other active opportunity, in our Road map.
Paul is an engineer turned product manager who is passionate about the Continuous Delivery and DevOps movements and how they are critical in helping businesses deliver value to their customers.