Skip to content

Seeking expertise on automated CI/CD workflow for Axway API Gateway policies #69

@4nt01ne

Description

@4nt01ne

From what I see, Axway-API-Management-Plus provides professional-grade automation solutions for Axway, so I would like to ask for your expertise regarding the policy development lifecycle.

At my client, we run multiple environments (DEV → TEST → ACC → PROD). Our setup is as follows:

  • A central repository holds the common policies used to expose APIs.
  • Each API has its own repository containing its specific policies.
  • Policies are stored in Git, with one branch per environment.

The main challenge we face is promoting policies across environments (DEV → TEST → ACC → PROD).

Pain points

  • When promoting changes from DEV to TEST, we must merge the two environment branches.

  • The merge can only be done via Policy Studio, which is:

    • manual,
    • not very intuitive,
    • slow and error-prone.
  • Once merged, we overwrite the higher environment branch with the result.

Why Git merge alone does not work

  • The XML files representing policies are not consistently ordered after changes, making Git merges unreliable.
  • Primary keys of XML elements can change, requiring Axway-specific logic to resolve conflicts.

My questions

  1. Is there an automated way to merge policies across environment branches?

    • I imagine a tool that could build on the logic already used in projpack, which can merge server policies with external policies.
    • Ideally, such a tool would apply rules/assumptions (e.g., always add new from DEV, always keep existing in TEST in case of conflict, …) with some tuning options.
  2. If such a solution does not exist, what practices or workflows have you successfully implemented to streamline this process?

The goal is to achieve a smooth, less error-prone CI/CD workflow for Axway API Gateway policy promotion.

Thank you for any insight, recommendations, or tools you can share!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions