Skip to content

Commit

Permalink
sync crds; sync operator; release on pushes to main (#7)
Browse files Browse the repository at this point in the history
* sync crds; sync operator; release on pushes to main

* review comments: readme
  • Loading branch information
mhoffm-aiven authored Sep 10, 2021
1 parent a732abd commit 7f81795
Show file tree
Hide file tree
Showing 23 changed files with 3,987 additions and 3,131 deletions.
8 changes: 3 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
name: Release Helm Chart
on: workflow_dispatch
# eventually
# on:
# push:
# branches: [ main ]
on:
push:
branches: [ main ]

jobs:
build:
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changelog

## aiven-operator-v0.1.1 - 2021-09-21
* add missing webhook config for kafka connectors
* enable leader election

## aiven-operator-crds-v0.1.1 - 2021-09-21
* sync with aiven-operator v0.1.0 CRDs
24 changes: 3 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,11 @@ This repository contains official Helm charts that are maintained by [Aiven](htt
## Adding the repository

```bash
helm repo add aiven https://aiven-charts.github.io && helm repo update
helm repo add aiven https://aiven.github.io/aiven-charts && helm repo update
```

## Installing a chart from the repository

### Installing the aiven-operator-crds chart
### Installing the aiven-operator

```bash
helm install aiven/aiven-operator-crds --generate-name
```

### Installing the aiven-operator chart

Before installing the `aiven-operator` chart, please make sure to have the CRDs chart installed.

Installation with webhooks enabled ( requires a cert-manager deployment in the cluster ):

```bash
helm install aiven/aiven-operator --generate-name
```

Without webhooks enabled:

```bash
helm install aiven/aiven-operator --generate-name --set webhooks.enabled=false
```
Please see the [installation instructions](https://aiven.github.io/aiven-operator/docs/installation/helm/) in the [Aiven Operator for Kubernetes](https://github.com/aiven/aiven-operator) documentation.
4 changes: 2 additions & 2 deletions charts/aiven-operator-crds/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: aiven-operator-crds
description: A Helm chart to deploy the aiven operator custom resource definitions
type: application
version: v0.1.0
appVersion: v0.0.1
version: v0.1.1
appVersion: v0.1.0
maintainers:
- name: mhoffm-aiven
url: https://www.aiven.io
202 changes: 202 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_connectionpools.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: connectionpools.aiven.io
spec:
group: aiven.io
names:
kind: ConnectionPool
listKind: ConnectionPoolList
plural: connectionpools
singular: connectionpool
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.serviceName
name: Service Name
type: string
- jsonPath: .spec.project
name: Project
type: string
- jsonPath: .spec.databaseName
name: Database
type: string
- jsonPath: .spec.username
name: Username
type: string
- jsonPath: .spec.poolSize
name: Pool Size
type: string
- jsonPath: .spec.poolMode
name: Pool Mode
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: ConnectionPool is the Schema for the connectionpools 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: ConnectionPoolSpec defines the desired state of ConnectionPool
properties:
authSecretRef:
description: Authentication reference to Aiven token in a secret
properties:
key:
minLength: 1
type: string
name:
minLength: 1
type: string
required:
- key
- name
type: object
connInfoSecretTarget:
description: Information regarding secret creation
properties:
name:
description: Name of the Secret resource to be created
type: string
required:
- name
type: object
databaseName:
description: Name of the database the pool connects to
maxLength: 40
type: string
poolMode:
description: Mode the pool operates in (session, transaction, statement)
enum:
- session
- transaction
- statement
type: string
poolSize:
description: Number of connections the pool may create towards the
backend server
type: integer
project:
description: Target project.
format: ^[a-zA-Z0-9_-]*$
maxLength: 63
type: string
serviceName:
description: Service name.
maxLength: 63
type: string
username:
description: Name of the service user used to connect to the database
maxLength: 64
type: string
required:
- authSecretRef
- databaseName
- project
- serviceName
- username
type: object
status:
description: ConnectionPoolStatus defines the observed state of ConnectionPool
properties:
conditions:
description: Conditions represent the latest available observations
of an ConnectionPool state
items:
description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example,
type FooStatus struct{ // Represents the observations of a
foo's current state. // Known .status.conditions.type are:
\"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
\ // +patchStrategy=merge // +listType=map // +listMapKey=type
\ Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
\n // other fields }"
properties:
lastTransitionTime:
description: lastTransitionTime is the last time the condition
transitioned from one status to another. This should be when
the underlying condition changed. If that is not known, then
using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: message is a human readable message indicating
details about the transition. This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: observedGeneration represents the .metadata.generation
that the condition was set based upon. For instance, if .metadata.generation
is currently 12, but the .status.conditions[x].observedGeneration
is 9, the condition is out of date with respect to the current
state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers
of specific condition types may define expected values and
meanings for this field, and whether the values are considered
a guaranteed API. The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
--- Many .condition.type values are consistent across resources
like Available, but because arbitrary conditions can be useful
(see .node.status.conditions), the ability to deconflict is
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
required:
- conditions
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Loading

0 comments on commit 7f81795

Please sign in to comment.