feat(ci): install packaged GitHub Actions workflows in customer projects
- Dominant language
- Go
- Stars
- 17
- Forks
- 24
- Avg merge
- 8h 13m
- Merged PRs (30d)
- 196
Description
## Problem
Customers need an easy starting point for running kongctl in CI/CD. Existing
examples and guidance still leave users assembling their own workflow. The
immediate user request is simple: install kongctl in CI and run a plan.
## Proposal
Add a command that installs packaged GitHub Actions workflows into a customer
project, starting with one basic plan workflow. For example:
```sh
kongctl install workflows
```
The command name is provisional. Align it with the broader generation proposal
in #486 during implementation; this issue tracks a small initial deliverable
from that broader idea.
Install an editable workflow file under the project's `.github/workflows/`
directory. Package the initial template with kongctl and leave room to add more
workflow templates later.
## Initial scope
- Provide one reference workflow that checks out the customer repository,
installs kongctl, authenticates to Konnect using a GitHub Actions secret,
and runs `kongctl plan` against the project's declarative configuration.
- Use pull requests as the initial CI trigger, with manual execution available
for getting started and verification.
- Let users specify the declarative configuration path and document the
required secret and any other setup. Make the kongctl version used by the
workflow explicit and easy to change.
- Write the workflow locally so users can review, customize, and commit it.
Report the generated path and remaining setup steps.
- Preserve existing files: repeated installation must not silently overwrite
a customer's workflow.
## Acceptance criteria
- A user can install the packaged workflow into a local project with a single
command, then configure the documented secret and configuration path.
- The generated workflow installs kongctl and successfully runs a plan for a
valid configuration; installation or planning failures fail the CI job.
- Plan output is available in the workflow run for inspection.
- The initial workflow does not execute `apply` or `sync`.
- Documentation includes a minimal end-to-end getting-started example.
- Tests cover command behavior, workflow generation, and existing-file handling;
the generated workflow is validated.
## Follow-up scope
Additional templates can address plan review and approval, apply on merge,
sync versus apply, multiple environments, and single-repo, multi-repo, or
federated setups. Those choices should not expand this first iteration into a
universal CI/CD solution.
Related: #486 (broader declarative configuration and workflow generation).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the CLI command entry point and the project’s workflow packaging and generation paths; compare the proposed command with the broader generation work in #486. Add coverage for command behavior, workflow validation, generation, and existing-file handling, then verify that the documented end-to-end setup produces a failing-on-error plan workflow without apply or sync.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, go
- Domain
- ci-cd, cli, devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100