GithubHelp home page GithubHelp logo

tysoekong / go-apiops Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kong/go-apiops

0.0 0.0 1.0 220 KB

Kong's Go based APIOps library

License: Apache License 2.0

Go 98.91% Makefile 0.74% Dockerfile 0.35%

go-apiops's Introduction

go-apiops

Home of Kong's Go based APIOps library.

Build Status Lint Status codecov Go Report Card SemVer License

What is APIOps

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.

What is this library?

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.

What is the current status of this library?

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.

Installation & Usage

Currently, the functionality is released in a temporary CLI named kced. The CLI can be installed locally or ran as a Docker container.

Local Install

  • 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 Install

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)

Usage

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.

Reporting issues

Issues using kced or the library can be reported in the Github repo.

Releasing new versions

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)

go-apiops's People

Contributors

tieske avatar rspurgeon avatar mheap avatar

Forkers

meslubi2021

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.