Skip to content

Commit

Permalink
Added CI
Browse files Browse the repository at this point in the history
  • Loading branch information
mmontes11 committed Jul 16, 2024
1 parent 5927510 commit 448129b
Show file tree
Hide file tree
Showing 15 changed files with 53,323 additions and 0 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CI

on:
push:
branches:
- main
pull_request: {}

jobs:
operator-pr:
name: Version
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Operator PR
uses: ./
env:
GITHUB_TOKEN: "${{ secrets.GHA_TOKEN }}"
with:
name: "mariadb-operator"
version: "test"
fork-repo-name: "mariadb-operator/test-operators"
upstream-repo-name: "redhat-openshift-ecosystem/certified-operators"
bundle-path-dir: "deploy/olm/bundle"
ci-path-file: "deploy/olm/ci.yaml"
user-name: "Martin Montes"
user-email: "martin11lrx@gmail.com"
dry-run: true
1 change: 1 addition & 0 deletions deploy/olm/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cert_project_id: test
3,811 changes: 3,811 additions & 0 deletions deploy/olm/manifests/k8s.mariadb.com_backups.yaml

Large diffs are not rendered by default.

344 changes: 344 additions & 0 deletions deploy/olm/manifests/k8s.mariadb.com_connections.yaml

Large diffs are not rendered by default.

222 changes: 222 additions & 0 deletions deploy/olm/manifests/k8s.mariadb.com_databases.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
creationTimestamp: null
name: databases.k8s.mariadb.com
spec:
group: k8s.mariadb.com
names:
kind: Database
listKind: DatabaseList
plural: databases
shortNames:
- dmdb
singular: database
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].message
name: Status
type: string
- jsonPath: .spec.characterSet
name: CharSet
type: string
- jsonPath: .spec.collate
name: Collate
type: string
- jsonPath: .spec.mariaDbRef.name
name: MariaDB
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- jsonPath: .spec.name
name: Name
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: Database is the Schema for the databases API. It is used to define
a logical database as if you were running a 'CREATE DATABASE' statement.
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: DatabaseSpec defines the desired state of Database
properties:
characterSet:
default: utf8
description: CharacterSet to use in the Database.
type: string
collate:
default: utf8_general_ci
description: Collate to use in the Database.
type: string
mariaDbRef:
description: MariaDBRef is a reference to a MariaDB object.
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: |-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
TODO: this design is not final and this field is subject to change in the future.
type: string
kind:
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
name:
description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
namespace:
description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string
resourceVersion:
description: |-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type: string
uid:
description: |-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type: string
waitForIt:
default: true
description: WaitForIt indicates whether the controller using
this reference should wait for MariaDB to be ready.
type: boolean
type: object
x-kubernetes-map-type: atomic
name:
description: Name overrides the default Database name provided by
metadata.name.
maxLength: 80
type: string
requeueInterval:
description: RequeueInterval is used to perform requeue reconciliations.
type: string
retryInterval:
description: RetryInterval is the interval used to perform retries.
type: string
required:
- mariaDbRef
type: object
status:
description: DatabaseStatus defines the observed state of Database
properties:
conditions:
description: Conditions for the Database object.
items:
description: "Condition contains details for one aspect of the current
state of this API Resource.\n---\nThis struct is intended for
direct use as an array at the field path .status.conditions. For
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
observations of a foo's current state.\n\t // Known .status.conditions.type
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
\ // other fields\n\t}"
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
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null
Loading

0 comments on commit 448129b

Please sign in to comment.