Skip to content

operator [N] [CI] nutanix-database-service-operator (0.0.4) #2858

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

Closed
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
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=nutanix-database-service-operator
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.1
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3

# 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/
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
control-plane: controller-manager
name: ndb-operator-controller-manager-metrics-service
spec:
ports:
- name: https
port: 8443
protocol: TCP
targetPort: https
selector:
control-plane: controller-manager
status:
loadBalancer: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
data:
controller_manager_config.yaml: "apiVersion: controller-runtime.sigs.k8s.io/v1alpha1\nkind:
ControllerManagerConfig\nhealth:\n healthProbeBindAddress: :8081\nmetrics:\n
\ bindAddress: 127.0.0.1:8080\nwebhook:\n port: 9443\nleaderElection:\n leaderElect:
true\n resourceName: 81efaee7.nutanix.com\n# leaderElectionReleaseOnCancel
defines if the leader should step down volume \n# when the Manager ends. This
requires the binary to immediately end when the\n# Manager is stopped, otherwise,
this setting is unsafe. Setting this significantly\n# speeds up voluntary leader
transitions as the new leader don't have to wait\n# LeaseDuration time first.\n#
\ In the default scaffold provided, the program ends immediately after \n# the
manager stops, so would be fine to enable this option. However, \n# if you are
doing or is intended to do any operation such as perform cleanups \n# after
the manager stops then its usage might be unsafe.\n# leaderElectionReleaseOnCancel:
true\n"
kind: ConfigMap
metadata:
name: ndb-operator-manager-config
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: null
name: ndb-operator-metrics-reader
rules:
- nonResourceURLs:
- /metrics
verbs:
- get
Original file line number Diff line number Diff line change
@@ -0,0 +1,266 @@
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
alm-examples: |-
[
{
"apiVersion": "ndb.nutanix.com/v1alpha1",
"kind": "Database",
"metadata": {
"name": "db"
},
"spec": {
"databaseInstance": {
"credentialSecret": "db-instance-secret-name",
"databaseInstanceName": "Database Instance Name",
"databaseNames": [
"database_one",
"database_two",
"database_three"
],
"size": 10,
"timezone": "UTC",
"type": "postgres"
},
"ndb": {
"clusterId": "Nutanix Cluster Id",
"credentialSecret": "ndb-secret-name",
"server": "https://[NDB IP]:8443/era/v0.9",
"skipCertificateVerification": true
}
}
}
]
capabilities: Basic Install
createdAt: "2023-05-22T22:18:11Z"
operators.operatorframework.io/builder: operator-sdk-v1.28.1
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
name: ndb-operator.v0.0.4
namespace: placeholder
spec:
apiservicedefinitions: {}
customresourcedefinitions:
owned:
- description: Database is the Schema for the databases API
displayName: Database
kind: Database
name: databases.ndb.nutanix.com
version: v1alpha1
description: The NDB kubernetes operator enables developers to provision and delete
single instance PostgreSQL databases, Single instance MongoDB and Single instance
MySQL databases from their Kuberenetes cluster and connect these instances to
their applications with ease. Developers can also restore and clone their databases
using the NDB operator.
displayName: Nutanix Database Service Operator
icon:
- base64data: "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjYgKDY3NDkxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5OdXRhbml4LUVyYTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxwb2x5Z29uIGlkPSJwYXRoLTEiIHBvaW50cz0iMC4wMDY5NzY3NDQxOSAwLjAzNDA0NzYxOSAzOS44OTUgMC4wMzQwNDc2MTkgMzkuODk1IDM5Ljk5Mjg1NzEgMC4wMDY5NzY3NDQxOSAzOS45OTI4NTcxIj48L3BvbHlnb24+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iTnV0YW5peC1FcmEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICA8L21hc2s+CiAgICAgICAgPGcgaWQ9IkNsaXAtMiI+PC9nPgogICAgICAgIDxwYXRoIGQ9Ik0zNi4yMTcwOTMsMjAuMDE3MDIzOCBDMzUuNjY0ODgzNywyMC41MDcwMjM4IDM1LjA1ODAyMzMsMjAuOTcgMzQuNDAxMzk1MywyMS40MDI1IEMzNi40NjkxODYsMjMuMDkzNTcxNCAzNy42ODU2OTc3LDI1LjE2MjczODEgMzcuNjg1Njk3NywyNy4zOTc4NTcxIEMzNy42ODU2OTc3LDMzLjEwODU3MTQgMjkuNzQ0MDY5OCwzNy43MzgwOTUyIDE5Ljk0NzU1ODEsMzcuNzM4MDk1MiBDMTAuMTUwOTMwMiwzNy43MzgwOTUyIDIuMjA5MzAyMzMsMzMuMTA4NTcxNCAyLjIwOTMwMjMzLDI3LjM5Nzg1NzEgQzIuMjA5MzAyMzMsMjEuNjg2OTA0OCAxMC4xNTA5MzAyLDE3LjA1NzUgMTkuOTQ3NTU4MSwxNy4wNTc1IEMyNC43ODQ3Njc0LDE3LjA1NzUgMjkuMTY4OTUzNSwxOC4xODY3ODU3IDMyLjM2OTA2OTgsMjAuMDE3MDIzOCBDMzMuMTEzNDg4NCwxOS41OTExOTA1IDMzLjc5NDQxODYsMTkuMTI3ODU3MSAzNC40MDEzOTUzLDE4LjYzMTU0NzYgQzMwLjc5NDA2OTgsMTYuMjU1MTE5IDI1LjY5MDQ2NTEsMTQuNzk1NTk1MiAxOS45NDc1NTgxLDE0Ljc5NTU5NTIgQzguNzYxOTc2NzQsMTQuNzk1NTk1MiAwLDIwLjMzMTA3MTQgMCwyNy4zOTc4NTcxIEMwLDM0LjQ2NDQwNDggOC43NjE5NzY3NCw0MCAxOS45NDc1NTgxLDQwIEMzMS4xMzMwMjMzLDQwIDM5Ljg5NSwzNC40NjQ0MDQ4IDM5Ljg5NSwyNy4zOTc4NTcxIEMzOS44OTUsMjQuNjE5NzYxOSAzOC41NDAyMzI2LDIyLjA3ODU3MTQgMzYuMjE3MDkzLDIwLjAxNzAyMzgiIGlkPSJGaWxsLTEiIGZpbGw9IiNBN0NCM0IiIG1hc2s9InVybCgjbWFzay0yKSI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0xOS45NDc1NTgxLDAuMDM0MDQ3NjE5IEM4Ljc2MTk3Njc0LDAuMDM0MDQ3NjE5IDAsNS41Njk2NDI4NiAwLDEyLjYzNjMwOTUgQzAsMTUuNDE0NDA0OCAxLjM1NDc2NzQ0LDE3Ljk1NTQ3NjIgMy42Nzc5MDY5OCwyMC4wMTcwMjM4IEM0LjIzMDExNjI4LDE5LjUyNzAyMzggNC44MzcwOTMwMiwxOS4wNjQwNDc2IDUuNDkzNjA0NjUsMTguNjMxNTQ3NiBDMy40MjU4MTM5NSwxNi45NDA0NzYyIDIuMjA5MzAyMzMsMTQuODcxMTkwNSAyLjIwOTMwMjMzLDEyLjYzNjMwOTUgQzIuMjA5MzAyMzMsNi45MjU0NzYxOSAxMC4xNTA5MzAyLDIuMjk1OTUyMzggMTkuOTQ3NTU4MSwyLjI5NTk1MjM4IEMyOS43NDQwNjk4LDIuMjk1OTUyMzggMzcuNjg1Njk3Nyw2LjkyNTQ3NjE5IDM3LjY4NTY5NzcsMTIuNjM2MzA5NSBDMzcuNjg1Njk3NywxOC4zNDcwMjM4IDI5Ljc0NDA2OTgsMjIuOTc2NjY2NyAxOS45NDc1NTgxLDIyLjk3NjY2NjcgQzE1LjExMDIzMjYsMjIuOTc2NjY2NyAxMC43MjYwNDY1LDIxLjg0NzM4MSA3LjUyNjA0NjUxLDIwLjAxNzAyMzggQzYuNzgxNTExNjMsMjAuNDQyODU3MSA2LjEwMDU4MTQsMjAuOTA2MTkwNSA1LjQ5MzYwNDY1LDIxLjQwMjUgQzkuMTAwOTMwMjMsMjMuNzc4OTI4NiAxNC4yMDQ1MzQ5LDI1LjIzODU3MTQgMTkuOTQ3NTU4MSwyNS4yMzg1NzE0IEMzMS4xMzMwMjMzLDI1LjIzODU3MTQgMzkuODk1LDE5LjcwMjk3NjIgMzkuODk1LDEyLjYzNjMwOTUgQzM5Ljg5NSw1LjU2OTY0Mjg2IDMxLjEzMzAyMzMsMC4wMzQwNDc2MTkgMTkuOTQ3NTU4MSwwLjAzNDA0NzYxOSIgaWQ9IkZpbGwtMyIgZmlsbD0iIzE5NDY4OCIgbWFzaz0idXJsKCNtYXNrLTIpIj48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="
mediatype: "image/svg+xml"
install:
spec:
clusterPermissions:
- rules:
- apiGroups:
- ndb.nutanix.com
resources:
- databases
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ndb.nutanix.com
resources:
- databases/finalizers
verbs:
- update
- apiGroups:
- ndb.nutanix.com
resources:
- databases/status
verbs:
- get
- patch
- update
- apiGroups:
- ""
resources:
- services
- endpoints
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
serviceAccountName: ndb-operator-controller-manager
deployments:
- label:
control-plane: controller-manager
name: ndb-operator-controller-manager
spec:
replicas: 1
selector:
matchLabels:
control-plane: controller-manager
strategy: {}
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
labels:
control-plane: controller-manager
spec:
containers:
- args:
- --secure-listen-address=0.0.0.0:8443
- --upstream=http://127.0.0.1:8080/
- --logtostderr=true
- --v=0
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1
name: kube-rbac-proxy
ports:
- containerPort: 8443
name: https
protocol: TCP
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 5m
memory: 64Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
- args:
- --health-probe-bind-address=:8081
- --metrics-bind-address=127.0.0.1:8080
- --leader-elect
image: docker.io/manavrajvanshinx/ndb-operator:v0.0.4
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
name: manager
readinessProbe:
httpGet:
path: /readyz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 10m
memory: 64Mi
securityContext:
allowPrivilegeEscalation: false
securityContext:
runAsNonRoot: true
serviceAccountName: ndb-operator-controller-manager
terminationGracePeriodSeconds: 10
permissions:
- rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
serviceAccountName: ndb-operator-controller-manager
strategy: deployment
installModes:
- supported: false
type: OwnNamespace
- supported: false
type: SingleNamespace
- supported: false
type: MultiNamespace
- supported: true
type: AllNamespaces
keywords:
- Nutanix
- NDB
- Database
- DBaaS
- PostgreSQL
- MySQL
- MongoDB
links:
- name: NDB Operator
url: https://github.com/nutanix-cloud-native/ndb-operator
maintainers:
- email: [email protected]
name: Manav Rajvanshi
- email: [email protected]
name: Krunal Jhaveri
- email: [email protected]
name: Pritika Shenoy
- email: [email protected]
name: Akshay Mishra
- email: [email protected]
name: Yashesh Mankad
maturity: alpha
provider:
name: Nutanix, Inc.
url: https://www.nutanix.com/
version: 0.0.4
minKubeVersion: 1.16.0
Loading