Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

operator alloydb-omni-operator (1.1.1) #890

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions operators/alloydb-omni-operator/1.1.1/bundle.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM scratch

# Core bundle labels.
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
LABEL operators.operatorframework.io.bundle.package.v1=desktop
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.37.0
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=helm.sdk.operatorframework.io/v1

# Labels for testing.
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/

# Copy files to locations specified by labels.
COPY bundle/manifests /manifests/
COPY bundle/metadata /metadata/
COPY bundle/tests/scorecard /tests/scorecard/

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,296 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
creationTimestamp: null
labels:
alloydb-omni: "true"
name: backups.alloydbomni.dbadmin.goog
spec:
group: alloydbomni.dbadmin.goog
names:
kind: Backup
listKind: BackupList
plural: backups
shortNames:
- aoob
singular: backup
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .status.completeTime
name: CompleteTime
type: string
- jsonPath: .spec.physicalBackupSpec.backupType
name: Type
type: string
name: v1
schema:
openAPIV3Schema:
description: Backup is the Schema for the backups 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: BackupSpec defines the desired state of Backup.
properties:
backupPlanRef:
description: Name of the BackupPlan from which this backup was created.
This field is required.
type: string
dbclusterRef:
description: The DBCluster name this backup belongs to. This field
is required.
type: string
manual:
default: false
description: Indicate whether this backup is a scheduled or manual
backup. This field is optional. Default to false (scheduled backup)
if not specified.
type: boolean
physicalBackupSpec:
description: PhysicalBackupSpec contains spec for physical backups,
allowing to specify backup type as an enum in {"full","diff","incr"}.
This field is optional. Default to full if not specified.
properties:
backupType:
default: full
description: BackupType is the type of backup to be created. It's
an enum in {"full","diff","incr"}. Default to full if not specified.
enum:
- full
- diff
- incr
type: string
type: object
type: object
status:
description: BackupStatus defines the observed state of Backup.
properties:
completeTime:
description: Completion time of the Backup
format: date-time
type: string
conditions:
description: Conditions represents the latest available observations
of the Entity's current 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,
\n 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
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
createTime:
description: Creation time of the Backup
format: date-time
type: string
criticalIncidents:
description: CriticalIncidents is a flat list of all active Critical
Incidents.
items:
description: CriticalIncident contains all information about an
ongoing critical incident.
properties:
code:
description: Code is the error code of this particular error.
Error codes are DBSE+numeric strings, like "DBSE1012".
type: string
createTime:
description: CreateTime is the timestamp when this Incident
was created at the origin.
format: date-time
type: string
message:
description: Message describes the incident/error that occurred.
type: string
messageTemplateParams:
additionalProperties:
type: string
description: MessageTemplateParams contains key-value pairs
necessary for generating a user-friendly data-driven version
of Message in the UI.
type: object
resource:
description: Resource contains information about the Database
Service component that reported the incident as well as about
the K8s resource.
properties:
component:
description: Component is an internal identifier of the
Database Service subsystem that reported the incident.
type: string
location:
description: Location
properties:
cluster:
description: Cluster is the name of the cluster of the
affected K8S resource.
type: string
group:
description: Group is the Group name of the k8s resource.
type: string
kind:
description: Kind is the Kind of the k8s resource.
type: string
name:
description: Name is the name of the affected K8S resource.
type: string
namespace:
description: Namespace is the namespace of the affected
K8S resource.
type: string
version:
description: Group is the Version of the k8s resource.
type: string
type: object
required:
- component
type: object
stackTrace:
description: StackTrace contains an unstructured list of messages
from the stack trace.
items:
description: CriticalIncidentStackTraceMessage contains stack
trace information available for the incident.
properties:
component:
description: Component is the name of a Database Service
component that logged the message.
type: string
message:
description: Logged message.
type: string
type: object
type: array
transientUntil:
description: TransientUntil if present indicates that the issue
should be considered transient until the specified time.
format: date-time
type: string
required:
- code
- createTime
- resource
type: object
type: array
observedGeneration:
description: 'Internal: The generation observed by the controller.'
format: int64
type: integer
phase:
description: BackupPhase is the phase of a backup.
type: string
physicalBackupStatus:
description: PhysicalBackupStatus contains status info that are specific
for physical backups.
properties:
backupID:
description: BackupID is the unique id of the physical backup
tracked by pgbackrest
type: string
priorBackup:
description: PriorBackup is the prior backup this backup depends
on.
type: string
type: object
reconciled:
description: 'Internal: Whether the resource was reconciled by the
controller.'
type: boolean
retainExpireTime:
description: RetainExpireTime defines the time when the Backup will
be automatically deleted. It's an output only field calculated from
`create_time` + `retain_days`, and will be updated accordingly when
the `retain_days` field of a Backup has been updated.
format: date-time
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
Loading