Skip to content

Commit

Permalink
add CRDs for version v1.1.0 (#368)
Browse files Browse the repository at this point in the history
Co-authored-by: GitHub Actions <[email protected]>
  • Loading branch information
Tyk-ITS and actions-user authored Dec 9, 2024
1 parent 3f58387 commit 2dfc8ab
Show file tree
Hide file tree
Showing 5 changed files with 5,387 additions and 4 deletions.
2 changes: 1 addition & 1 deletion components/tyk-operator/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ apiVersion: v2
name: tyk-operator
description: A Helm chart to install the tyk-operator
type: application
version: 1.0.0 # version of the chart
version: 1.1.0 # version of the chart
4 changes: 2 additions & 2 deletions components/tyk-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Tyk Operator brings Full Lifecycle API Management capabilities to Kubernetes. Co
### Usage

```bash
helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
helm repo add tyk-charts https://helm.tyk.io/public/helm/charts/
helm repo update
```

Expand All @@ -25,7 +25,7 @@ If you have a fully functioning & bootstrapped Tyk Installation and cert-manager
you can install Tyk Operator as follows:

```bash
helm install tyk-operator tyk-helm/tyk-operator
helm install tyk-operator tyk-charts/tyk-operator
```

By default, it will install the latest stable release of Tyk Operator.
Expand Down
216 changes: 215 additions & 1 deletion components/tyk-operator/crds/crds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -457,17 +457,36 @@ spec:
custom_middleware_bundle:
type: string
definition:
description: VersionDefinition is a struct that holds the version
information for the API
nullable: true
properties:
default:
type: string
enabled:
type: boolean
fallback_to_default:
type: boolean
key:
type: string
location:
type: string
name:
type: string
strip_path:
description: 'Deprecated: use StripVersioningData instead.'
type: boolean
strip_versioning_data:
type: boolean
url_versioning_pattern:
type: string
versions:
additionalProperties:
type: string
type: object
required:
- key
- location
- strip_path
type: object
detailed_tracing:
nullable: true
Expand Down Expand Up @@ -2809,6 +2828,21 @@ spec:
- name
type: object
type: array
linked_tyk_streams_api_definition:
items:
properties:
name:
description: k8s resource name
type: string
namespace:
description: |-
The k8s namespace of the resource being targeted. When omitted this will be
set to the namespace of the object that is being reconciled.
type: string
required:
- name
type: object
type: array
type: object
type: object
served: true
Expand Down Expand Up @@ -3739,6 +3773,7 @@ spec:
enum:
- ApiDefinition
- TykOasApiDefinition
- TykStreamsApiDefinition
type: string
limit:
description: APILimit stores quota and rate limit on ACL level
Expand Down Expand Up @@ -3994,6 +4029,7 @@ spec:
enum:
- ApiDefinition
- TykOasApiDefinition
- TykStreamsApiDefinition
type: string
limit:
description: APILimit stores quota and rate limit on ACL level
Expand Down Expand Up @@ -4217,12 +4253,14 @@ spec:
items:
properties:
kind:
default: ApiDefinition
description: |-
LinkedApiKind represents the Kubernetes kind of the API Definition resource that
is being target by current resource.
enum:
- ApiDefinition
- TykOasApiDefinition
- TykStreamsApiDefinition
type: string
name:
description: k8s resource name
Expand Down Expand Up @@ -4873,3 +4911,179 @@ spec:
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.14.0
name: tykstreamsapidefinitions.tyk.tyk.io
spec:
group: tyk.tyk.io
names:
categories:
- tyk
kind: TykStreamsApiDefinition
listKind: TykStreamsApiDefinitionList
plural: tykstreamsapidefinitions
shortNames:
- tykstreams
singular: tykstreamsapidefinition
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.domain
name: Domain
type: string
- jsonPath: .status.listenPath
name: ListenPath
type: string
- jsonPath: .status.enabled
name: Enabled
type: boolean
- jsonPath: .status.latestTransaction.status
name: SyncStatus
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: TykStreamsApiDefinition is the Schema for the tykstreamsapidefinitions
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: TykStreamsApiDefinitionSpec defines the desired state of
TykStreamsApiDefinition
properties:
contextRef:
description: |-
Context specify namespace/name of the OperatorContext object used for
reconciling this APIDefinition
properties:
name:
description: k8s resource name
type: string
namespace:
description: |-
The k8s namespace of the resource being targeted. When omitted this will be
set to the namespace of the object that is being reconciled.
type: string
required:
- name
type: object
tykStreams:
description: TykStreams provides storage information about Tyk Streams
properties:
configmapRef:
description: ConfigmapRef provides information of configmap in
which Tyk Streams is stored
properties:
keyName:
description: KeyName is the key of configmap in which Tyk
OAS doc is stored
type: string
name:
description: Name is the name of configmap
type: string
namespace:
description: |-
Namespace is the namespace of configmap.
If Namespace is not provided, we assume that the ConfigMap is in the same
namespace as TykOasApiDefinition resource.
type: string
required:
- keyName
- name
type: object
required:
- configmapRef
type: object
required:
- tykStreams
type: object
status:
description: TykStreamsApiDefinitionStatus defines the observed state
of TykStreamsApiDefinition
properties:
domain:
description: Domain is the custom domain name for an API.
type: string
enabled:
description: Enabled represents if API is enabled or not
type: boolean
id:
description: ID is the unique identifier of the API within Tyk.
type: string
latestCRDSpecHash:
description: LatestCRDSpecHash is the hash of the TykStreamsApiDefinition
CR created on Kubernetes.
type: string
latestConfigMapHash:
description: LatestConfigMapHash is the hash of the ConfigMap used
by TykStreamsApiDefinition.
type: string
latestTransaction:
description: LatestTransaction provides status information about the
last reconciliation.
properties:
error:
description: Error corresponds to the error happened on Tyk API
level, if any.
type: string
status:
description: Status corresponds to the status of the last transaction.
type: string
time:
description: Time corresponds to the time of last transaction.
format: date-time
type: string
type: object
latestTykSpecHash:
description: LatestTykSpecHash is the hash of the API Definition created
on Tyk.
type: string
linkedByPolicies:
description: LinkedByPolicies is a list policies that references this
OAS API Definition.
items:
properties:
name:
description: k8s resource name
type: string
namespace:
description: |-
The k8s namespace of the resource being targeted. When omitted this will be
set to the namespace of the object that is being reconciled.
type: string
required:
- name
type: object
type: array
listenPath:
description: ListenPath is the Base path on Tyk for API requests.
type: string
name:
description: Name is the name of the API within Tyk.
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
80 changes: 80 additions & 0 deletions components/tyk-operator/templates/all.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,32 @@ rules:
- get
- patch
- update
- apiGroups:
- tyk.tyk.io
resources:
- tykstreamsapidefinitions
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- tyk.tyk.io
resources:
- tykstreamsapidefinitions/finalizers
verbs:
- update
- apiGroups:
- tyk.tyk.io
resources:
- tykstreamsapidefinitions/status
verbs:
- get
- patch
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
Expand Down Expand Up @@ -351,6 +377,56 @@ rules:
- create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: tyk-operator
name: {{ include "tyk-operator-helm.fullname" . }}-tykstreamsapidefinition-editor-role
rules:
- apiGroups:
- tyk.tyk.io
resources:
- tykstreamsapidefinitions
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- tyk.tyk.io
resources:
- tykstreamsapidefinitions/status
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: tyk-operator
name: {{ include "tyk-operator-helm.fullname" . }}-tykstreamsapidefinition-viewer-role
rules:
- apiGroups:
- tyk.tyk.io
resources:
- tykstreamsapidefinitions
verbs:
- get
- list
- watch
- apiGroups:
- tyk.tyk.io
resources:
- tykstreamsapidefinitions/status
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ include "tyk-operator-helm.fullname" . }}-leader-election-rolebinding
Expand Down Expand Up @@ -439,6 +515,10 @@ spec:
apiVersion: apps/v1
kind: Deployment
metadata:
{{- with .Values.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
labels:
control-plane: tyk-operator-controller-manager
name: {{ include "tyk-operator-helm.fullname" . }}-controller-manager
Expand Down
Loading

0 comments on commit 2dfc8ab

Please sign in to comment.