openapi2kong

package
v0.1.40 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2024 License: Apache-2.0 Imports: 20 Imported by: 1

Documentation

Index

Constants

View Source
const JSONSchemaVersion = "draft4"

Variables

This section is empty.

Functions

func Convert

func Convert(content []byte, opts O2kOptions) (map[string]interface{}, error)

Convert converts an OpenAPI spec to a Kong declarative file.

func CreateKongService

func CreateKongService(
	baseName string,
	servers []*v3.Server,
	serviceDefaults []byte,
	upstreamDefaults []byte,
	tags []string,
	uuidNamespace uuid.UUID,
	skipID bool,
) (map[string]interface{}, map[string]interface{}, error)

CreateKongService creates a new Kong service entity, and optional upstream. `baseName` will be used as the name of the service (slugified), and as input for the UUIDv5 generation.

func MustConvert

func MustConvert(content []byte, opts O2kOptions) map[string]interface{}

MustConvert is the same as Convert, but will panic if an error is returned.

func Slugify

func Slugify(insoCompat bool, name ...string) string

Slugify converts a name to a valid Kong name by removing and replacing unallowed characters and sanitizing non-latin characters. Multiple inputs will be concatenated using '_'.

Types

type O2kOptions

type O2kOptions struct {
	// Array of tags to mark all generated entities with, taken from 'x-kong-tags' if omitted.
	Tags []string
	// Base document name, will be taken from x-kong-name, or info.title (for UUID generation!)
	DocName string
	// Namespace for UUID generation, defaults to DNS namespace for UUID v5
	UUIDNamespace uuid.UUID
	// Enable Inso compatibility mode
	InsoCompat bool
	// Skip ID generation (UUIDs)
	SkipID bool
	// Enable OIDC plugin generation
	OIDC bool
	// Ignore security errors (non-OIDC and AND/OR logic)
	IgnoreSecurityErrors bool
}

O2KOptions defines the options for an O2K conversion operation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL