Home of Kong's Go based APIOps library.
API Lifecycle Automation, or APIOps, is the process of applying API best practices via automation frameworks. This library contains functions to aid the development of tools to apply APIOps to Kong Gateway deployments.
See the Kong Blog for more information on APIOps concepts.
The go-apiops library provides a set of tools (validation and transformation) for working with API specifications and Kong Gateway declarative configurations. Conceptually, these tools are intended to be organized into a pipeline of individual steps configured for a particular users needs. The overall purpose of the library is to enable users to build a CI/CD workflow which deliver APIs from specification to deployment. This pipeline design allows users to customize the delivery of APIs based on their specific needs.
The library is under heavy development and is a public preview project under an Apache 2.0 license. The library is not currently supported by Kong Inc. In the future, this library will be tightly integrated into Kong tooling to allow users to apply Kong Gateway based APIOps directly in their deployment pipelines with existing well known command line and CICD tools.
Currently, the functionality is released in a temporary CLI named kced
. The CLI can be installed locally or ran as a Docker container.
-
Download the latest release archive of the CLI for your OS from the releases page.
-
Once you have downloaded, extract the release archive contents somewhere, for example:
tar xvf ~/Downloads/go-apiops_0.1.12_darwin_all.tar.gz -C /tmp
And test the installation:
/tmp/kced version
Should print the installed version:
kceD v0.1.12 (54a2edb)
(Install somewhere on the
PATH
to avoid needing the binary path for each usage.)
Docker images are available on Docker Hub and can be ran with:
docker run kong/kced:latest version
Should result in something like:
kceD kong/kced:v0.1.12 (54a2edbea8a23802ce5969f87da7839f744f5985)
The Documentation page provides command details and examples. The CLI also provides a help
command to see usage details on the command line:
kced help
Usage example:
A temporary CLI that drives the Kong go-apiops library.
go-apiops houses an improved APIOps toolset for operating Kong Gateway deployments.
Usage:
kced [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
merge Merges multiple decK files into one
openapi2kong Convert OpenAPI files to Kong's decK format
patch Applies patches on top of a decK file
version Print the kceD version
Flags:
-h, --help help for kced
Use "kced [command] --help" for more information about a command.
Issues using kced
or the library can be reported in the Github repo.
The releases are automated. To create a new release:
-
tag at the desired place to release
git tag vX.Y.Z
-
push the tag and CI will create a new release
git push vX.Y.Z
-
verify the release on the releases page, possibly edit the release-notes (which will be generated from the commit history)