Skip to content

Commit

Permalink
feat(service): add service tech email support (#576)
Browse files Browse the repository at this point in the history
  • Loading branch information
rriski authored Jan 11, 2024
1 parent a13bea2 commit 6257ea0
Show file tree
Hide file tree
Showing 32 changed files with 481 additions and 4 deletions.
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,24 @@

- Add `OpenSearch` field `userConfig.opensearch.enable_security_audit`, type `boolean`: Enable/Disable
security audit
- Add `Cassandra` field `technicalEmails`, type `array`: Defines the email addresses that will receive
alerts about upcoming maintenance updates or warnings about service instability
- Add `Clickhouse` field `technicalEmails`, type `array`: Defines the email addresses that will receive
alerts about upcoming maintenance updates or warnings about service instability
- Add `Grafana` field `technicalEmails`, type `array`: Defines the email addresses that will receive
alerts about upcoming maintenance updates or warnings about service instability
- Add `KafkaConnect` field `technicalEmails`, type `array`: Defines the email addresses that will receive
alerts about upcoming maintenance updates or warnings about service instability
- Add `Kafka` field `technicalEmails`, type `array`: Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability
- Add `MySQL` field `technicalEmails`, type `array`: Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability
- Add `OpenSearch` field `technicalEmails`, type `array`: Defines the email addresses that will receive
alerts about upcoming maintenance updates or warnings about service instability
- Add `PostgreSQL` field `technicalEmails`, type `array`: Defines the email addresses that will receive
alerts about upcoming maintenance updates or warnings about service instability
- Add `Redis` field `technicalEmails`, type `array`: Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability

## v0.16.1 - 2023-12-15

Expand Down
10 changes: 10 additions & 0 deletions api/v1alpha1/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ type ServiceStatus struct {
State string `json:"state,omitempty"`
}

type ServiceTechEmail struct {
// +kubebuilder:validation:Format="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
// Email address.
Email string `json:"email"`
}

type ServiceCommonSpec struct {
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
Expand Down Expand Up @@ -87,6 +93,10 @@ type ServiceCommonSpec struct {
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
// Service integrations to specify when creating a service. Not applied after initial service creation
ServiceIntegrations []*ServiceIntegrationItem `json:"serviceIntegrations,omitempty"`

// +kubebuilder:validation:MaxItems=10
// Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability.
TechnicalEmails []ServiceTechEmail `json:"technicalEmails,omitempty"`
}

// Validate runs complex validation on ServiceCommonSpec
Expand Down
20 changes: 20 additions & 0 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_cassandras.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_kafkaconnects.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_mysqls.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions charts/aiven-operator-crds/templates/aiven.io_redis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions config/crd/bases/aiven.io_cassandras.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions config/crd/bases/aiven.io_clickhouses.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions config/crd/bases/aiven.io_grafanas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions config/crd/bases/aiven.io_kafkaconnects.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
15 changes: 15 additions & 0 deletions config/crd/bases/aiven.io_kafkas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,21 @@ spec:
Tags are key-value pairs that allow you to categorize
services.
type: object
technicalEmails:
description:
Defines the email addresses that will receive alerts
about upcoming maintenance updates or warnings about service instability.
items:
properties:
email:
description: Email address.
format: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
type: string
required:
- email
type: object
maxItems: 10
type: array
terminationProtection:
description:
Prevent service from being deleted. It is recommended
Expand Down
Loading

0 comments on commit 6257ea0

Please sign in to comment.