-
Notifications
You must be signed in to change notification settings - Fork 242
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature: add kong API gateway CRDs (#112)
- Loading branch information
Showing
7 changed files
with
947 additions
and
0 deletions.
There are no files selected for viewing
34 changes: 34 additions & 0 deletions
34
configuration.konghq.com/ingressclassparameters_v1alpha1.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
{ | ||
"description": "IngressClassParameters is the Schema for the IngressClassParameters API.", | ||
"properties": { | ||
"apiVersion": { | ||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", | ||
"type": "string" | ||
}, | ||
"kind": { | ||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", | ||
"type": "string" | ||
}, | ||
"metadata": { | ||
"type": "object" | ||
}, | ||
"spec": { | ||
"description": "Spec is the IngressClassParameters specification.", | ||
"properties": { | ||
"enableLegacyRegexDetection": { | ||
"default": false, | ||
"description": "EnableLegacyRegexDetection automatically detects if ImplementationSpecific Ingress paths are regular expression paths using the legacy 2.x heuristic. The controller adds the \"~\" prefix to those paths if the Kong version is 3.0 or higher.", | ||
"type": "boolean" | ||
}, | ||
"serviceUpstream": { | ||
"default": false, | ||
"description": "Offload load-balancing to kube-proxy or sidecar.", | ||
"type": "boolean" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
{ | ||
"description": "KongClusterPlugin is the Schema for the kongclusterplugins API.", | ||
"properties": { | ||
"apiVersion": { | ||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", | ||
"type": "string" | ||
}, | ||
"config": { | ||
"description": "Config contains the plugin configuration. It's a list of keys and values required to configure the plugin. Please read the documentation of the plugin being configured to set values in here. For any plugin in Kong, anything that goes in the `config` JSON key in the Admin API request, goes into this property. Only one of `config` or `configFrom` may be used in a KongClusterPlugin, not both at once.", | ||
"type": "object", | ||
"x-kubernetes-preserve-unknown-fields": true | ||
}, | ||
"configFrom": { | ||
"description": "ConfigFrom references a secret containing the plugin configuration. This should be used when the plugin configuration contains sensitive information, such as AWS credentials in the Lambda plugin or the client secret in the OIDC plugin. Only one of `config` or `configFrom` may be used in a KongClusterPlugin, not both at once.", | ||
"properties": { | ||
"secretKeyRef": { | ||
"description": "Specifies a name, a namespace, and a key of a secret to refer to.", | ||
"properties": { | ||
"key": { | ||
"description": "The key containing the value.", | ||
"type": "string" | ||
}, | ||
"name": { | ||
"description": "The secret containing the key.", | ||
"type": "string" | ||
}, | ||
"namespace": { | ||
"description": "The namespace containing the secret.", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"key", | ||
"name", | ||
"namespace" | ||
], | ||
"type": "object", | ||
"additionalProperties": false | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"consumerRef": { | ||
"description": "ConsumerRef is a reference to a particular consumer.", | ||
"type": "string" | ||
}, | ||
"disabled": { | ||
"description": "Disabled set if the plugin is disabled or not.", | ||
"type": "boolean" | ||
}, | ||
"kind": { | ||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", | ||
"type": "string" | ||
}, | ||
"metadata": { | ||
"type": "object" | ||
}, | ||
"ordering": { | ||
"description": "Ordering overrides the normal plugin execution order. It's only available on Kong Enterprise. `<phase>` is a request processing phase (for example, `access` or `body_filter`) and `<plugin>` is the name of the plugin that will run before or after the KongPlugin. For example, a KongPlugin with `plugin: rate-limiting` and `before.access: [\"key-auth\"]` will create a rate limiting plugin that limits requests _before_ they are authenticated.", | ||
"properties": { | ||
"after": { | ||
"additionalProperties": { | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"description": "PluginOrderingPhase indicates which plugins in a phase should affect the target plugin's order", | ||
"type": "object" | ||
}, | ||
"before": { | ||
"additionalProperties": { | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"description": "PluginOrderingPhase indicates which plugins in a phase should affect the target plugin's order", | ||
"type": "object" | ||
} | ||
}, | ||
"type": "object", | ||
"additionalProperties": false | ||
}, | ||
"plugin": { | ||
"description": "PluginName is the name of the plugin to which to apply the config.", | ||
"type": "string" | ||
}, | ||
"protocols": { | ||
"description": "Protocols configures plugin to run on requests received on specific protocols.", | ||
"items": { | ||
"enum": [ | ||
"http", | ||
"https", | ||
"grpc", | ||
"grpcs", | ||
"tcp", | ||
"tls", | ||
"udp" | ||
], | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"run_on": { | ||
"description": "RunOn configures the plugin to run on the first or the second or both nodes in case of a service mesh deployment.", | ||
"enum": [ | ||
"first", | ||
"second", | ||
"all" | ||
], | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"plugin" | ||
], | ||
"type": "object" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
{ | ||
"description": "KongConsumer is the Schema for the kongconsumers API.", | ||
"properties": { | ||
"apiVersion": { | ||
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", | ||
"type": "string" | ||
}, | ||
"credentials": { | ||
"description": "Credentials are references to secrets containing a credential to be provisioned in Kong.", | ||
"items": { | ||
"type": "string" | ||
}, | ||
"type": "array" | ||
}, | ||
"custom_id": { | ||
"description": "CustomID is a Kong cluster-unique existing ID for the consumer - useful for mapping Kong with users in your existing database.", | ||
"type": "string" | ||
}, | ||
"kind": { | ||
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", | ||
"type": "string" | ||
}, | ||
"metadata": { | ||
"type": "object" | ||
}, | ||
"username": { | ||
"description": "Username is a Kong cluster-unique username of the consumer.", | ||
"type": "string" | ||
} | ||
}, | ||
"type": "object" | ||
} |
Oops, something went wrong.