diff --git a/hub/menuoutlines/ace/kubedb-accordion.yaml b/hub/menuoutlines/ace/kubedb-accordion.yaml index cd9c23ef5..44d430ce2 100644 --- a/hub/menuoutlines/ace/kubedb-accordion.yaml +++ b/hub/menuoutlines/ace/kubedb-accordion.yaml @@ -35,6 +35,13 @@ spec: type: group: kubedb.com kind: MariaDB + - featureMode: GA + layoutName: kubedb.com-v1-memcacheds-kubedb + name: Memcached + required: true + type: + group: kubedb.com + kind: Memcached - featureMode: GA layoutName: kubedb.com-v1-mongodbs-kubedb name: MongoDB @@ -49,6 +56,20 @@ spec: type: group: kubedb.com kind: MySQL + - featureMode: GA + layoutName: kubedb.com-v1-perconaxtradbs-kubedb + name: PerconaXtraDB + required: true + type: + group: kubedb.com + kind: PerconaXtraDB + - featureMode: GA + layoutName: kubedb.com-v1-pgbouncers-kubedb + name: PgBouncer + required: true + type: + group: kubedb.com + kind: PgBouncer - featureMode: GA layoutName: kubedb.com-v1-postgreses-kubedb name: PostgreSQL @@ -69,6 +90,12 @@ spec: type: group: kubedb.com kind: Redis + - featureMode: ALPHA + layoutName: kubedb.com-v1alpha2-clickhouses-kubedb + name: ClickHouse + type: + group: kubedb.com + kind: ClickHouse - featureMode: ALPHA layoutName: kubedb.com-v1alpha2-druids-kubedb name: Druid diff --git a/hub/menuoutlines/ace/kubedb-gallery.yaml b/hub/menuoutlines/ace/kubedb-gallery.yaml index 15b4aa8fe..f5cfa46ea 100644 --- a/hub/menuoutlines/ace/kubedb-gallery.yaml +++ b/hub/menuoutlines/ace/kubedb-gallery.yaml @@ -35,6 +35,13 @@ spec: type: group: kubedb.com kind: MariaDB + - featureMode: GA + layoutName: kubedb.com-v1-memcacheds-kubedb + name: Memcached + required: true + type: + group: kubedb.com + kind: Memcached - featureMode: GA layoutName: kubedb.com-v1-mongodbs-kubedb name: MongoDB @@ -49,6 +56,20 @@ spec: type: group: kubedb.com kind: MySQL + - featureMode: GA + layoutName: kubedb.com-v1-perconaxtradbs-kubedb + name: PerconaXtraDB + required: true + type: + group: kubedb.com + kind: PerconaXtraDB + - featureMode: GA + layoutName: kubedb.com-v1-pgbouncers-kubedb + name: PgBouncer + required: true + type: + group: kubedb.com + kind: PgBouncer - featureMode: GA layoutName: kubedb.com-v1-postgreses-kubedb name: PostgreSQL @@ -69,6 +90,12 @@ spec: type: group: kubedb.com kind: Redis + - featureMode: ALPHA + layoutName: kubedb.com-v1alpha2-clickhouses-kubedb + name: ClickHouse + type: + group: kubedb.com + kind: ClickHouse - featureMode: ALPHA layoutName: kubedb.com-v1alpha2-druids-kubedb name: Druid diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/elasticsearches.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/elasticsearches.yaml new file mode 100644 index 000000000..3dcee6a0c --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/elasticsearches.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: Elasticsearch + k8s.io/resource: elasticsearches + k8s.io/version: v1 + name: kubedb.com-v1-elasticsearches +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: Elasticsearch Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: ElasticsearchVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: Elasticsearch + name: elasticsearches + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/kafkas.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/kafkas.yaml new file mode 100644 index 000000000..eb947c700 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/kafkas.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: Kafka + k8s.io/resource: kafkas + k8s.io/version: v1 + name: kubedb.com-v1-kafkas +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: Kafka Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: KafkaVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: Kafka + name: kafkas + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/mariadbs.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/mariadbs.yaml new file mode 100644 index 000000000..0584951b8 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/mariadbs.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: MariaDB + k8s.io/resource: mariadbs + k8s.io/version: v1 + name: kubedb.com-v1-mariadbs +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: MariaDB Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: MariaDBVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: MariaDB + name: mariadbs + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/memcacheds.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/memcacheds.yaml new file mode 100644 index 000000000..94e1e2d07 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/memcacheds.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: Memcached + k8s.io/resource: memcacheds + k8s.io/version: v1 + name: kubedb.com-v1-memcacheds +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: Memcached Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: MemcachedVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budget + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: Memcached + name: memcacheds + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/mongodbs.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/mongodbs.yaml new file mode 100644 index 000000000..3f5c57962 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/mongodbs.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: MongoDB + k8s.io/resource: mongodbs + k8s.io/version: v1 + name: kubedb.com-v1-mongodbs +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: MongoDB Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: MongoDBVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: MongoDB + name: mongodbs + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/mysqls.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/mysqls.yaml new file mode 100644 index 000000000..675d65722 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/mysqls.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: MySQL + k8s.io/resource: mysqls + k8s.io/version: v1 + name: kubedb.com-v1-mysqls +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: MySQL Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: MySQLVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: MySQL + name: mysqls + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/perconaxtradbs.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/perconaxtradbs.yaml new file mode 100644 index 000000000..3bca32257 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/perconaxtradbs.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: PerconaXtraDB + k8s.io/resource: perconaxtradbs + k8s.io/version: v1 + name: kubedb.com-v1-perconaxtradbs +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: PerconaXtraDB Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: PerconaXtraDBVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: PerconaXtraDB + name: perconaxtradbs + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/pgbouncers.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/pgbouncers.yaml new file mode 100644 index 000000000..b81e78cff --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/pgbouncers.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: PgBouncer + k8s.io/resource: pgbouncers + k8s.io/version: v1 + name: kubedb.com-v1-pgbouncers +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: PgBouncer Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: PgBouncerVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: PgBouncer + name: pgbouncers + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/postgreses.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/postgreses.yaml new file mode 100644 index 000000000..752e0b9b9 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/postgreses.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: Postgres + k8s.io/resource: postgreses + k8s.io/version: v1 + name: kubedb.com-v1-postgreses +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: Postgres Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: PostgresVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: Postgres + name: postgreses + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/proxysqls.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/proxysqls.yaml new file mode 100644 index 000000000..b87febb65 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/proxysqls.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: ProxySQL + k8s.io/resource: proxysqls + k8s.io/version: v1 + name: kubedb.com-v1-proxysqls +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: ProxySQL Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: ProxySQLVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: ProxySQL + name: proxysqls + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/redises.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/redises.yaml new file mode 100644 index 000000000..c693707a1 --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/redises.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: Redis + k8s.io/resource: redises + k8s.io/version: v1 + name: kubedb.com-v1-redises +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: Redis Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: RedisVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: Redis + name: redises + scope: Namespaced + version: v1 diff --git a/hub/resourceblockdefinitions/kubedb.com/v1/redissentinels.yaml b/hub/resourceblockdefinitions/kubedb.com/v1/redissentinels.yaml new file mode 100644 index 000000000..253437e1f --- /dev/null +++ b/hub/resourceblockdefinitions/kubedb.com/v1/redissentinels.yaml @@ -0,0 +1,106 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceBlockDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: RedisSentinel + k8s.io/resource: redissentinels + k8s.io/version: v1 + name: kubedb.com-v1-redissentinels +spec: + blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Client Connections + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + - actions: + create: Never + displayMode: List + kind: Connection + name: Redis Version + query: + byLabel: catalog + type: GraphQL + ref: + group: catalog.kubedb.com + kind: RedisVersion + - actions: + create: Never + displayMode: List + kind: Connection + name: PetSets + query: + byLabel: offshoot + type: GraphQL + ref: + group: apps.k8s.appscode.com + kind: PetSet + - actions: + create: Never + displayMode: List + kind: Connection + name: Pods + query: + byLabel: offshoot + type: GraphQL + ref: + group: "" + kind: Pod + - actions: + create: Never + displayMode: List + kind: Connection + name: Services + query: + byLabel: exposed_by + type: GraphQL + ref: + group: "" + kind: Service + - actions: + create: Never + displayMode: List + kind: Connection + name: Secrets + query: + byLabel: config + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: PersistentVolumeClaims + query: + byLabel: storage + type: GraphQL + ref: + group: "" + kind: PersistentVolumeClaim + - actions: + create: Never + displayMode: List + kind: Connection + name: Pod Disruption Budgets + query: + byLabel: policy + type: GraphQL + ref: + group: policy + kind: PodDisruptionBudget + resource: + group: kubedb.com + kind: RedisSentinel + name: redissentinels + scope: Namespaced + version: v1 diff --git a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml new file mode 100644 index 000000000..56937a888 --- /dev/null +++ b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml @@ -0,0 +1,182 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceDescriptor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: ClickHouseAutoscaler + k8s.io/resource: clickhouseautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-clickhouseautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: ClickHouseAutoscaler + name: clickhouseautoscalers + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + name: + description: 'Name must be unique within a namespace. Is required when + creating resources, although some resources may allow a client to + request the generation of an appropriate name automatically. Name + is primarily intended for creation idempotence and configuration definition. + Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: "Namespace defines the space within which each name must + be unique. An empty namespace is equivalent to the \"default\" namespace, + but \"default\" is the canonical representation. Not all objects are + required to be scoped to a namespace - the value of this field for + those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces" + type: string + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of + replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with + a resource that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + type: object + spec: + properties: + compute: + properties: + clickhouse: + properties: + containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + controlledResources: + items: + type: string + type: array + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object + maxAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + minAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + podLifeTimeThreshold: + type: string + resourceDiffPercentage: + format: int32 + type: integer + trigger: + type: string + type: object + nodeTopology: + properties: + name: + type: string + scaleDownDiffPercentage: + default: 25 + format: int32 + type: integer + scaleUpDiffPercentage: + default: 15 + format: int32 + type: integer + type: object + type: object + databaseRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + timeout: + type: string + type: object + storage: + properties: + clickhouse: + properties: + expansionMode: + enum: + - Offline + - Online + type: string + scalingRules: + items: + properties: + appliesUpto: + type: string + threshold: + type: string + required: + - appliesUpto + - threshold + type: object + type: array + scalingThreshold: + format: int32 + type: integer + trigger: + type: string + upperBound: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + usageThreshold: + format: int32 + type: integer + required: + - expansionMode + type: object + type: object + required: + - databaseRef + type: object + required: + - spec + type: object diff --git a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml new file mode 100644 index 000000000..b0a0a77fd --- /dev/null +++ b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml @@ -0,0 +1,182 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceDescriptor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: FerretDBAutoscaler + k8s.io/resource: ferretdbautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-ferretdbautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: FerretDBAutoscaler + name: ferretdbautoscalers + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + name: + description: 'Name must be unique within a namespace. Is required when + creating resources, although some resources may allow a client to + request the generation of an appropriate name automatically. Name + is primarily intended for creation idempotence and configuration definition. + Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: "Namespace defines the space within which each name must + be unique. An empty namespace is equivalent to the \"default\" namespace, + but \"default\" is the canonical representation. Not all objects are + required to be scoped to a namespace - the value of this field for + those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces" + type: string + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of + replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with + a resource that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + type: object + spec: + properties: + compute: + properties: + ferretdb: + properties: + containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + controlledResources: + items: + type: string + type: array + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object + maxAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + minAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + podLifeTimeThreshold: + type: string + resourceDiffPercentage: + format: int32 + type: integer + trigger: + type: string + type: object + nodeTopology: + properties: + name: + type: string + scaleDownDiffPercentage: + default: 25 + format: int32 + type: integer + scaleUpDiffPercentage: + default: 15 + format: int32 + type: integer + type: object + type: object + databaseRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + timeout: + type: string + type: object + storage: + properties: + ferretdb: + properties: + expansionMode: + enum: + - Offline + - Online + type: string + scalingRules: + items: + properties: + appliesUpto: + type: string + threshold: + type: string + required: + - appliesUpto + - threshold + type: object + type: array + scalingThreshold: + format: int32 + type: integer + trigger: + type: string + upperBound: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + usageThreshold: + format: int32 + type: integer + required: + - expansionMode + type: object + type: object + required: + - databaseRef + type: object + required: + - spec + type: object diff --git a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/memcachedautoscalers.yaml b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/memcachedautoscalers.yaml index d7e5f4731..e7d679c52 100644 --- a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/memcachedautoscalers.yaml +++ b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/memcachedautoscalers.yaml @@ -57,342 +57,128 @@ spec: type: object spec: properties: - behavior: + compute: properties: - scaleDown: + memcached: properties: - policies: + containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + controlledResources: items: - properties: - periodSeconds: - format: int32 - type: integer - type: - type: string - value: - format: int32 - type: integer - required: - - periodSeconds - - type - - value - type: object + type: string type: array - selectPolicy: + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object + maxAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + minAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + podLifeTimeThreshold: type: string - stabilizationWindowSeconds: + resourceDiffPercentage: format: int32 type: integer + trigger: + type: string type: object - scaleUp: + nodeTopology: properties: - policies: - items: - properties: - periodSeconds: - format: int32 - type: integer - type: - type: string - value: - format: int32 - type: integer - required: - - periodSeconds - - type - - value - type: object - type: array - selectPolicy: + name: type: string - stabilizationWindowSeconds: + scaleDownDiffPercentage: + default: 25 + format: int32 + type: integer + scaleUpDiffPercentage: + default: 15 format: int32 type: integer type: object type: object - maxReplicas: - format: int32 - type: integer - metrics: - items: - properties: - containerResource: - properties: - container: - type: string - name: - type: string - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - container - - name - - target - type: object - external: - properties: - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - required: - - name - type: object - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - metric - - target - type: object - object: - properties: - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - required: - - name - type: object - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - describedObject - - metric - - target - type: object - pods: - properties: - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - required: - - name - type: object - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - metric - - target - type: object - resource: - properties: - name: - type: string - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - name - - target - type: object - type: - type: string - required: - - type - type: object - type: array - minReplicas: - format: int32 - type: integer - scaleTargetRef: + databaseRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + readinessCriteria: + type: object + timeout: + type: string + type: object + storage: + properties: + memcached: + properties: + expansionMode: + enum: + - Offline + - Online + type: string + scalingRules: + items: + properties: + appliesUpto: + type: string + threshold: + type: string + required: + - appliesUpto + - threshold + type: object + type: array + scalingThreshold: + format: int32 + type: integer + trigger: + type: string + upperBound: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + usageThreshold: + format: int32 + type: integer + required: + - expansionMode + type: object + type: object required: - - maxReplicas - - scaleTargetRef + - databaseRef type: object + required: + - spec type: object diff --git a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml new file mode 100644 index 000000000..b71a52e9c --- /dev/null +++ b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml @@ -0,0 +1,182 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceDescriptor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: MSSQLServerAutoscaler + k8s.io/resource: mssqlserverautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-mssqlserverautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: MSSQLServerAutoscaler + name: mssqlserverautoscalers + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + name: + description: 'Name must be unique within a namespace. Is required when + creating resources, although some resources may allow a client to + request the generation of an appropriate name automatically. Name + is primarily intended for creation idempotence and configuration definition. + Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: "Namespace defines the space within which each name must + be unique. An empty namespace is equivalent to the \"default\" namespace, + but \"default\" is the canonical representation. Not all objects are + required to be scoped to a namespace - the value of this field for + those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces" + type: string + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of + replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with + a resource that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + type: object + spec: + properties: + compute: + properties: + mssqlserver: + properties: + containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + controlledResources: + items: + type: string + type: array + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object + maxAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + minAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + podLifeTimeThreshold: + type: string + resourceDiffPercentage: + format: int32 + type: integer + trigger: + type: string + type: object + nodeTopology: + properties: + name: + type: string + scaleDownDiffPercentage: + default: 25 + format: int32 + type: integer + scaleUpDiffPercentage: + default: 15 + format: int32 + type: integer + type: object + type: object + databaseRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + timeout: + type: string + type: object + storage: + properties: + mssqlserver: + properties: + expansionMode: + enum: + - Offline + - Online + type: string + scalingRules: + items: + properties: + appliesUpto: + type: string + threshold: + type: string + required: + - appliesUpto + - threshold + type: object + type: array + scalingThreshold: + format: int32 + type: integer + trigger: + type: string + upperBound: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + usageThreshold: + format: int32 + type: integer + required: + - expansionMode + type: object + type: object + required: + - databaseRef + type: object + required: + - spec + type: object diff --git a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/pgbouncerautoscalers.yaml b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/pgbouncerautoscalers.yaml index b8f9d8340..81dbc603b 100644 --- a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/pgbouncerautoscalers.yaml +++ b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/pgbouncerautoscalers.yaml @@ -57,342 +57,128 @@ spec: type: object spec: properties: - behavior: + compute: properties: - scaleDown: + nodeTopology: properties: - policies: - items: - properties: - periodSeconds: - format: int32 - type: integer - type: - type: string - value: - format: int32 - type: integer - required: - - periodSeconds - - type - - value - type: object - type: array - selectPolicy: + name: type: string - stabilizationWindowSeconds: + scaleDownDiffPercentage: + default: 25 + format: int32 + type: integer + scaleUpDiffPercentage: + default: 15 format: int32 type: integer type: object - scaleUp: + pgbouncer: properties: - policies: + containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + controlledResources: items: - properties: - periodSeconds: - format: int32 - type: integer - type: - type: string - value: - format: int32 - type: integer - required: - - periodSeconds - - type - - value - type: object + type: string type: array - selectPolicy: + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object + maxAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + minAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + podLifeTimeThreshold: type: string - stabilizationWindowSeconds: + resourceDiffPercentage: format: int32 type: integer + trigger: + type: string type: object type: object - maxReplicas: - format: int32 - type: integer - metrics: - items: - properties: - containerResource: - properties: - container: - type: string - name: - type: string - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - container - - name - - target - type: object - external: - properties: - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - required: - - name - type: object - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - metric - - target - type: object - object: - properties: - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - required: - - name - type: object - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - describedObject - - metric - - target - type: object - pods: - properties: - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - x-kubernetes-list-type: atomic - required: - - key - - operator - type: object - type: array - x-kubernetes-list-type: atomic - matchLabels: - additionalProperties: - type: string - type: object - type: object - x-kubernetes-map-type: atomic - required: - - name - type: object - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - metric - - target - type: object - resource: - properties: - name: - type: string - target: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: - type: string - value: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - required: - - type - type: object - required: - - name - - target - type: object - type: - type: string - required: - - type - type: object - type: array - minReplicas: - format: int32 - type: integer - serverRef: + databaseRef: properties: name: default: "" type: string type: object x-kubernetes-map-type: atomic + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + readinessCriteria: + type: object + timeout: + type: string + type: object + storage: + properties: + pgbouncer: + properties: + expansionMode: + enum: + - Offline + - Online + type: string + scalingRules: + items: + properties: + appliesUpto: + type: string + threshold: + type: string + required: + - appliesUpto + - threshold + type: object + type: array + scalingThreshold: + format: int32 + type: integer + trigger: + type: string + upperBound: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + usageThreshold: + format: int32 + type: integer + required: + - expansionMode + type: object + type: object required: - - maxReplicas - - serverRef + - databaseRef type: object + required: + - spec type: object diff --git a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml new file mode 100644 index 000000000..f47b36869 --- /dev/null +++ b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml @@ -0,0 +1,182 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceDescriptor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: SolrAutoscaler + k8s.io/resource: solrautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-solrautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: SolrAutoscaler + name: solrautoscalers + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + name: + description: 'Name must be unique within a namespace. Is required when + creating resources, although some resources may allow a client to + request the generation of an appropriate name automatically. Name + is primarily intended for creation idempotence and configuration definition. + Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: "Namespace defines the space within which each name must + be unique. An empty namespace is equivalent to the \"default\" namespace, + but \"default\" is the canonical representation. Not all objects are + required to be scoped to a namespace - the value of this field for + those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces" + type: string + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of + replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with + a resource that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + type: object + spec: + properties: + compute: + properties: + nodeTopology: + properties: + name: + type: string + scaleDownDiffPercentage: + default: 25 + format: int32 + type: integer + scaleUpDiffPercentage: + default: 15 + format: int32 + type: integer + type: object + solr: + properties: + containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + controlledResources: + items: + type: string + type: array + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object + maxAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + minAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + podLifeTimeThreshold: + type: string + resourceDiffPercentage: + format: int32 + type: integer + trigger: + type: string + type: object + type: object + databaseRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + timeout: + type: string + type: object + storage: + properties: + solr: + properties: + expansionMode: + enum: + - Offline + - Online + type: string + scalingRules: + items: + properties: + appliesUpto: + type: string + threshold: + type: string + required: + - appliesUpto + - threshold + type: object + type: array + scalingThreshold: + format: int32 + type: integer + trigger: + type: string + upperBound: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + usageThreshold: + format: int32 + type: integer + required: + - expansionMode + type: object + type: object + required: + - databaseRef + type: object + required: + - spec + type: object diff --git a/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml new file mode 100644 index 000000000..386d06e18 --- /dev/null +++ b/hub/resourcedescriptors/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml @@ -0,0 +1,182 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceDescriptor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: ZooKeeperAutoscaler + k8s.io/resource: zookeeperautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-zookeeperautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: ZooKeeperAutoscaler + name: zookeeperautoscalers + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + properties: + name: + description: 'Name must be unique within a namespace. Is required when + creating resources, although some resources may allow a client to + request the generation of an appropriate name automatically. Name + is primarily intended for creation idempotence and configuration definition. + Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: "Namespace defines the space within which each name must + be unique. An empty namespace is equivalent to the \"default\" namespace, + but \"default\" is the canonical representation. Not all objects are + required to be scoped to a namespace - the value of this field for + those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces" + type: string + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be used to organize + and categorize (scope and select) objects. May match selectors of + replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + annotations: + additionalProperties: + type: string + description: 'Annotations is an unstructured key value map stored with + a resource that may be set by external tools to store and retrieve + arbitrary metadata. They are not queryable and should be preserved + when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + type: object + type: object + spec: + properties: + compute: + properties: + nodeTopology: + properties: + name: + type: string + scaleDownDiffPercentage: + default: 25 + format: int32 + type: integer + scaleUpDiffPercentage: + default: 15 + format: int32 + type: integer + type: object + zookeeper: + properties: + containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly + type: string + controlledResources: + items: + type: string + type: array + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object + maxAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + minAllowed: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + podLifeTimeThreshold: + type: string + resourceDiffPercentage: + format: int32 + type: integer + trigger: + type: string + type: object + type: object + databaseRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + timeout: + type: string + type: object + storage: + properties: + zookeeper: + properties: + expansionMode: + enum: + - Offline + - Online + type: string + scalingRules: + items: + properties: + appliesUpto: + type: string + threshold: + type: string + required: + - appliesUpto + - threshold + type: object + type: array + scalingThreshold: + format: int32 + type: integer + trigger: + type: string + upperBound: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + usageThreshold: + format: int32 + type: integer + required: + - expansionMode + type: object + type: object + required: + - databaseRef + type: object + required: + - spec + type: object diff --git a/hub/resourcedescriptors/ops.kubedb.com/v1alpha1/memcachedopsrequests.yaml b/hub/resourcedescriptors/ops.kubedb.com/v1alpha1/memcachedopsrequests.yaml index 71a0dbe86..1da792fd3 100644 --- a/hub/resourcedescriptors/ops.kubedb.com/v1alpha1/memcachedopsrequests.yaml +++ b/hub/resourcedescriptors/ops.kubedb.com/v1alpha1/memcachedopsrequests.yaml @@ -96,6 +96,10 @@ spec: type: object x-kubernetes-map-type: atomic horizontalScaling: + properties: + replicas: + format: int32 + type: integer type: object restart: type: object @@ -226,6 +230,40 @@ spec: type: object verticalScaling: properties: + exporter: + properties: + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + type: object memcached: properties: nodeSelectionPolicy: diff --git a/hub/resourceeditors/apps.k8s.appscode.com/v1/petsets.yaml b/hub/resourceeditors/apps.k8s.appscode.com/v1/petsets.yaml index 6fbbf0704..27e1dba8f 100644 --- a/hub/resourceeditors/apps.k8s.appscode.com/v1/petsets.yaml +++ b/hub/resourceeditors/apps.k8s.appscode.com/v1/petsets.yaml @@ -22,7 +22,7 @@ spec: version: v1 ui: editor: - name: apps.k8s.appscode.com-petset-editor + name: appsk8sappscodecom-petset-editor sourceRef: apiGroup: source.toolkit.fluxcd.io kind: HelmRepository diff --git a/hub/resourceeditors/apps.k8s.appscode.com/v1/placementpolicies.yaml b/hub/resourceeditors/apps.k8s.appscode.com/v1/placementpolicies.yaml index af72c0eb3..88a02a053 100644 --- a/hub/resourceeditors/apps.k8s.appscode.com/v1/placementpolicies.yaml +++ b/hub/resourceeditors/apps.k8s.appscode.com/v1/placementpolicies.yaml @@ -15,3 +15,12 @@ spec: name: placementpolicies scope: Cluster version: v1 + ui: + editor: + name: appsk8sappscodecom-placementpolicy-editor + sourceRef: + apiGroup: source.toolkit.fluxcd.io + kind: HelmRepository + name: appscode-charts-oci + version: v0.4.21 + enforceQuota: false diff --git a/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml new file mode 100644 index 000000000..a0782b267 --- /dev/null +++ b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml @@ -0,0 +1,17 @@ +apiVersion: ui.k8s.appscode.com/v1alpha1 +kind: ResourceEditor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: ClickHouseAutoscaler + k8s.io/resource: clickhouseautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-clickhouseautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: ClickHouseAutoscaler + name: clickhouseautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml new file mode 100644 index 000000000..7583c8323 --- /dev/null +++ b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml @@ -0,0 +1,17 @@ +apiVersion: ui.k8s.appscode.com/v1alpha1 +kind: ResourceEditor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: FerretDBAutoscaler + k8s.io/resource: ferretdbautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-ferretdbautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: FerretDBAutoscaler + name: ferretdbautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml new file mode 100644 index 000000000..4a07dfc9b --- /dev/null +++ b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml @@ -0,0 +1,17 @@ +apiVersion: ui.k8s.appscode.com/v1alpha1 +kind: ResourceEditor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: MSSQLServerAutoscaler + k8s.io/resource: mssqlserverautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-mssqlserverautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: MSSQLServerAutoscaler + name: mssqlserverautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml new file mode 100644 index 000000000..4fa453c03 --- /dev/null +++ b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml @@ -0,0 +1,17 @@ +apiVersion: ui.k8s.appscode.com/v1alpha1 +kind: ResourceEditor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: SolrAutoscaler + k8s.io/resource: solrautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-solrautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: SolrAutoscaler + name: solrautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml new file mode 100644 index 000000000..723415eec --- /dev/null +++ b/hub/resourceeditors/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml @@ -0,0 +1,17 @@ +apiVersion: ui.k8s.appscode.com/v1alpha1 +kind: ResourceEditor +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: ZooKeeperAutoscaler + k8s.io/resource: zookeeperautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-zookeeperautoscalers +spec: + resource: + group: autoscaling.kubedb.com + kind: ZooKeeperAutoscaler + name: zookeeperautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourceeditors/charts.x-helm.dev/v1alpha1/clusterchartpresets.yaml b/hub/resourceeditors/charts.x-helm.dev/v1alpha1/clusterchartpresets.yaml index 15d8dac40..e5d5e3751 100644 --- a/hub/resourceeditors/charts.x-helm.dev/v1alpha1/clusterchartpresets.yaml +++ b/hub/resourceeditors/charts.x-helm.dev/v1alpha1/clusterchartpresets.yaml @@ -24,3 +24,10 @@ spec: name: appscode-charts-oci version: v0.4.21 enforceQuota: false + options: + name: chartsxhelmdev-clusterchartpreset-editor-options + sourceRef: + apiGroup: source.toolkit.fluxcd.io + kind: HelmRepository + name: appscode-charts-oci + version: v0.4.21 diff --git a/hub/resourceeditors/ops.kubedb.com/v1alpha1/solropsrequests.yaml b/hub/resourceeditors/ops.kubedb.com/v1alpha1/solropsrequests.yaml index 15c0bc5b2..9a0f43515 100644 --- a/hub/resourceeditors/ops.kubedb.com/v1alpha1/solropsrequests.yaml +++ b/hub/resourceeditors/ops.kubedb.com/v1alpha1/solropsrequests.yaml @@ -15,3 +15,12 @@ spec: name: solropsrequests scope: Namespaced version: v1alpha1 + ui: + editor: + name: opskubedbcom-solropsrequest-editor + sourceRef: + apiGroup: source.toolkit.fluxcd.io + kind: HelmRepository + name: appscode-charts-oci + version: v0.4.21 + enforceQuota: false diff --git a/hub/resourceoutlines/kubedb.com/v1/kubedb/pgbouncers.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/pgbouncers.yaml new file mode 100644 index 000000000..5902ce4cd --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/pgbouncers.yaml @@ -0,0 +1,473 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: PgBouncer + k8s.io/resource: pgbouncers + k8s.io/version: v1 + name: kubedb.com-v1-pgbouncers-kubedb +spec: + defaultLayout: false + header: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: core.k8s.appscode.com + kind: GenericResource + view: + name: core.k8s.appscode.com-v1alpha1-genericresources-kubedb + pages: + - name: Overview + sections: + - blocks: + - actions: + create: Never + displayMode: List + fieldPath: '{.response.dashboards[0].panels}' + kind: Connection + query: + raw: | + request: + embeddedLink: true + dashboards: + - title: "KubeDB / PgBouncer / Summary" + vars: + - name: namespace + value: {{ .namespace }} + - name: app + value: {{ .name }} + panels: + - { "title": "CPU Usage", "width": 12 } + - { "title": "Memory Usage", "width": 12 } + - { "title": "Disk Usage", "width": 6 } + - { "title": "Disk R/W Info", "width": 6 } + - { "title": "IOPS (Reads+Writes)", "width": 6 } + - { "title": "ThroughPut (Read+Write)", "width": 6 } + - { "title": "Receive Bandwidth", "width": 6 } + - { "title": "Transmit Bandwidth", "width": 6 } + type: REST + ref: + group: ui.openviz.dev + kind: DashboardGroup + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + opscenter-monitoring: + - monitoring-operator + view: + name: ui.openviz.dev-v1alpha1-dashboardgroups-panels + - actions: + create: Never + displayMode: List + kind: Connection + name: Nodes + query: + raw: |- + query Find($src: String!, $targetGroup: String!, $targetKind: String!) { + find(oid: $src) { + offshoot(group: "", kind: "Pod") { + refs: view(group: $targetGroup, kind: $targetKind) { + namespace + name + } + } + } + } + type: GraphQL + ref: + group: core.k8s.appscode.com + kind: PodView + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: core.k8s.appscode.com-v1alpha1-podviews-kubedb-pgbouncers + info: + actions: + create: Never + displayMode: List + kind: Connection + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + requiredFeatureSets: + opscenter-datastore: + - kubedb + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PgBouncerInsight + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + - name: Insights + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + opscenter-monitoring: + - monitoring-operator + sections: + - blocks: + - actions: + create: Never + displayMode: List + fieldPath: .spec.replicationStatus + kind: Connection + name: Replication Status + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PgBouncerInsight + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-pgbouncerinsights + - actions: + create: Never + displayMode: List + fieldPath: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: pgbouncers + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-pgbouncers + type: REST + ref: + group: meta.k8s.appscode.com + kind: RenderDashboard + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + opscenter-monitoring: + - monitoring-operator + view: + name: ui.k8s.appscode.com-v1alpha1-resourcedashboards-urls + info: + actions: + create: Never + displayMode: Field + fieldPath: .spec.settings + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PgBouncerSettings + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-pgbouncersettings-settings + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PgBouncerInsight + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + - name: Users + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Root User + query: + byLabel: auth_secret + type: GraphQL + ref: + group: "" + kind: Secret + view: + name: core-v1-secrets + - actions: + create: Never + displayMode: List + kind: Connection + name: AppBindings + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: appcatalog.appscode.com-v1alpha1-appbindings + - actions: + create: Never + displayMode: List + kind: Connection + name: VaultServers + query: + raw: |- + query Find($src: String!, $targetGroup: String!, $targetKind: String!) { + find(oid: $src) { + authz(group: "engine.kubevault.com", kind: "SecretEngine") { + refs: offshoot(group: $targetGroup, kind: $targetKind) { + namespace + name + } + } + } + } + type: GraphQL + ref: + group: kubevault.com + kind: VaultServer + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: kubevault.com-v1alpha2-vaultservers + - actions: + create: Always + displayMode: List + kind: Connection + name: SecretEngines + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretEngine + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-secretengines + - actions: + create: Always + displayMode: List + kind: Connection + name: SecretAccessRequests + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretAccessRequest + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-secretaccessrequests + - name: Operations + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: PgBouncerOpsRequest + requiredFeatureSets: + opscenter-datastore: + - kubedb + - actions: + create: Never + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: supervisor.appscode.com-v1alpha1-recommendations-kubedb + - name: Backup + requiredFeatureSets: + opscenter-backup: + - kubestash + sections: + - blocks: + - kind: Block + name: core.kubestash.com-v1alpha1-kubedb-backup + - name: Backup (Legacy) + requiredFeatureSets: + opscenter-backup: + - stash + - stash-opscenter + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Recent Backups + query: + raw: |- + query Find($src: String!, $targetGroup: String!, $targetKind: String!) { + find(oid: $src) { + backup_via(group: "stash.appscode.com", kind: "BackupConfiguration") { + refs: offshoot(group: $targetGroup, kind: $targetKind) { + namespace + name + } + } + } + } + type: GraphQL + ref: + group: stash.appscode.com + kind: BackupSession + requiredFeatureSets: + opscenter-backup: + - stash + view: + name: stash.appscode.com-v1beta1-backupsessions-kubedb + - actions: + create: Never + displayMode: List + kind: Connection + name: Recent Restores + query: + byLabel: restore_into + type: GraphQL + ref: + group: stash.appscode.com + kind: RestoreSession + requiredFeatureSets: + opscenter-backup: + - stash + view: + name: stash.appscode.com-v1beta1-restoresessions-kubedb + info: + actions: + create: Never + displayMode: Field + kind: Connection + query: + raw: |- + query Find($src: String!, $targetGroup: String!, $targetKind: String!) { + find(oid: $src) { + backup_via(group: "stash.appscode.com", kind: "BackupConfiguration") { + refs: view(group: $targetGroup, kind: $targetKind) { + namespace + name + } + } + } + } + type: GraphQL + ref: + group: ui.stash.appscode.com + kind: BackupOverview + requiredFeatureSets: + opscenter-backup: + - stash + - stash-opscenter + - name: Security + sections: + - blocks: + - kind: Custom + name: CVE Report + name: CVE Report + requiredFeatureSets: + opscenter-security: + - scanner + - blocks: + - kind: Block + name: rbac.authorization.k8s.io-v1-accesscontrols + name: Access Control + - blocks: + - kind: Block + name: cert-manager.io-v1-tls + name: TLS + requiredFeatureSets: + opscenter-security: + - cert-manager + - blocks: + - kind: Block + name: policy-v1-policies + name: Policies + requiredFeatureSets: + opscenter-security: + - gatekeeper + - gatekeeper-templates + - gatekeeper-constraints + - gatekeeper-grafana-dashboards + - blocks: + - kind: Block + name: falco.appscode.com-v1alpha1-falcoevents-app + name: Runtime Security + requiredFeatureSets: + opscenter-security: + - falco + - falco-ui-server + resource: + group: kubedb.com + kind: PgBouncer + name: pgbouncers + scope: Namespaced + version: v1 + tabBar: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: core.k8s.appscode.com + kind: GenericResourceService + view: + name: core.k8s.appscode.com-v1alpha1-genericresourceservices-kubedb diff --git a/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml new file mode 100644 index 000000000..96f6e1037 --- /dev/null +++ b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/clickhouseautoscalers.yaml @@ -0,0 +1,18 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: ClickHouseAutoscaler + k8s.io/resource: clickhouseautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-clickhouseautoscalers +spec: + defaultView: true + resource: + group: autoscaling.kubedb.com + kind: ClickHouseAutoscaler + name: clickhouseautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml new file mode 100644 index 000000000..37d394c78 --- /dev/null +++ b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/ferretdbautoscalers.yaml @@ -0,0 +1,18 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: FerretDBAutoscaler + k8s.io/resource: ferretdbautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-ferretdbautoscalers +spec: + defaultView: true + resource: + group: autoscaling.kubedb.com + kind: FerretDBAutoscaler + name: ferretdbautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml new file mode 100644 index 000000000..bc3e4efba --- /dev/null +++ b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/mssqlserverautoscalers.yaml @@ -0,0 +1,18 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: MSSQLServerAutoscaler + k8s.io/resource: mssqlserverautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-mssqlserverautoscalers +spec: + defaultView: true + resource: + group: autoscaling.kubedb.com + kind: MSSQLServerAutoscaler + name: mssqlserverautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml new file mode 100644 index 000000000..b61da3720 --- /dev/null +++ b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/solrautoscalers.yaml @@ -0,0 +1,18 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: SolrAutoscaler + k8s.io/resource: solrautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-solrautoscalers +spec: + defaultView: true + resource: + group: autoscaling.kubedb.com + kind: SolrAutoscaler + name: solrautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml new file mode 100644 index 000000000..b7b1e54b9 --- /dev/null +++ b/hub/resourcetabledefinitions/autoscaling.kubedb.com/v1alpha1/zookeeperautoscalers.yaml @@ -0,0 +1,18 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: autoscaling.kubedb.com + k8s.io/kind: ZooKeeperAutoscaler + k8s.io/resource: zookeeperautoscalers + k8s.io/version: v1alpha1 + name: autoscaling.kubedb.com-v1alpha1-zookeeperautoscalers +spec: + defaultView: true + resource: + group: autoscaling.kubedb.com + kind: ZooKeeperAutoscaler + name: zookeeperautoscalers + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourcetabledefinitions/core.k8s.appscode.com/v1alpha1/kubedb/podviews-pgbouncers.yaml b/hub/resourcetabledefinitions/core.k8s.appscode.com/v1alpha1/kubedb/podviews-pgbouncers.yaml new file mode 100644 index 000000000..49aa52708 --- /dev/null +++ b/hub/resourcetabledefinitions/core.k8s.appscode.com/v1alpha1/kubedb/podviews-pgbouncers.yaml @@ -0,0 +1,90 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: core.k8s.appscode.com + k8s.io/kind: PodView + k8s.io/resource: podviews + k8s.io/version: v1alpha1 + name: core.k8s.appscode.com-v1alpha1-podviews-kubedb-pgbouncers +spec: + columns: + - format: name + link: + template: | + {{ $name := .metadata.name }} + {{ $namespace := .metadata.namespace }} + {{- printf "/${username}/${clustername}/core/v1/pods/%s?namespace=%s" $name $namespace -}} + name: Name + pathTemplate: '{{ .metadata.name }}' + priority: 3 + sort: + enable: true + template: '{{ .metadata.name }}' + type: string + type: string + - name: Role + pathTemplate: '{{ index .metadata.labels `kubedb.com/role` | default `-` | upper}}' + priority: 3 + type: string + - name: CPU (usage/limit) + pathTemplate: '{{ if .spec.resources.usage.cpu }}{{.spec.resources.usage.cpu}} / {{ default `*` .spec.resources.limits.cpu }}{{ end }}' + priority: 3 + textAlign: center + type: string + - name: Memory (usage/limit) + pathTemplate: '{{ if .spec.resources.usage.memory }}{{.spec.resources.usage.memory}} / {{default `*` .spec.resources.limits.memory}}{{ end }}' + priority: 3 + textAlign: center + type: string + - name: Storage (usage/limit) + pathTemplate: '{{ if .spec.resources.usage.storage }}{{.spec.resources.usage.storage}} / {{default `*` .spec.resources.limits.storage}}{{ end }}' + priority: 3 + textAlign: center + type: string + - color: + template: | + {{ $status := .status.phase }} + {{ $color := "gray" }} + {{ if list "Running" "Succeeded" | has $status }} + {{ $color = "success" }} + {{ else if list "Pending" | has $status }} + {{ $color = "info" }} + {{ else if list "Failed" | has $status }} + {{ $color = "danger" }} + {{ else if list "Unknown" | has $status }} + {{ $color = "warning" }} + {{ end }} + {{- printf "%s is-light" $color -}} + name: Status + pathTemplate: '{{ .status.phase }}' + priority: 3 + type: string + - name: Age + pathTemplate: '{{ .metadata.creationTimestamp }}' + priority: 3 + sort: + enable: true + template: '{{ .metadata.creationTimestamp | toDate "2006-01-02T15:04:05Z07:00" | unixEpoch }}' + type: integer + type: date + - dashboard: + name: kubedb.com-v1alpha2-pgbouncers-pod + name: Dashboard + priority: 4 + textAlign: center + type: string + - exec: {} + name: Connect + pathTemplate: '{{ .metadata.name }}' + priority: 4 + textAlign: center + type: string + defaultView: false + resource: + group: core.k8s.appscode.com + kind: PodView + name: podviews + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourcetabledefinitions/kubedb.com/v1/kubedb/proxysqls.yaml b/hub/resourcetabledefinitions/kubedb.com/v1/kubedb/proxysqls.yaml new file mode 100644 index 000000000..18dd15a77 --- /dev/null +++ b/hub/resourcetabledefinitions/kubedb.com/v1/kubedb/proxysqls.yaml @@ -0,0 +1,63 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: kubedb.com + k8s.io/kind: ProxySQL + k8s.io/resource: proxysqls + k8s.io/version: v1 + name: kubedb.com-v1-proxysqls-kubedb +spec: + columns: + - name: Name + pathTemplate: '{{ .metadata.name }}' + priority: 3 + type: string + - name: Namespace + pathTemplate: '{{ .metadata.namespace }}' + priority: 3 + type: string + - name: Labels + pathTemplate: '{{ .metadata.labels | toRawJson }}' + priority: 3 + type: object + - name: Annotations + pathTemplate: '{{ .metadata.annotations | toRawJson }}' + priority: 1 + type: object + - name: Replicas + pathTemplate: '{{ k8s_resource_replicas_by_roles . | toRawJson }}' + priority: 3 + type: string + - name: Phase + pathTemplate: '{{ .status.phase }}' + priority: 3 + type: string + - name: Auth Secret + pathTemplate: '{{ .spec.authSecret.name }}' + priority: 1 + type: string + - name: Termination Policy + pathTemplate: '{{ .spec.terminationPolicy }}' + priority: 3 + type: string + - name: Halted + pathTemplate: '{{ .spec.halted }}' + priority: 1 + type: string + - name: Age + pathTemplate: '{{ .metadata.creationTimestamp }}' + priority: 3 + sort: + enable: true + template: '{{ .metadata.creationTimestamp | toDate "2006-01-02T15:04:05Z07:00" | unixEpoch }}' + type: integer + type: date + defaultView: false + resource: + group: kubedb.com + kind: ProxySQL + name: proxysqls + scope: Namespaced + version: v1 diff --git a/hub/resourcetabledefinitions/ui.kubedb.com/v1alpha1/pgbouncerqueries.yaml b/hub/resourcetabledefinitions/ui.kubedb.com/v1alpha1/pgbouncerqueries.yaml new file mode 100644 index 000000000..f8869ec26 --- /dev/null +++ b/hub/resourcetabledefinitions/ui.kubedb.com/v1alpha1/pgbouncerqueries.yaml @@ -0,0 +1,18 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + labels: + k8s.io/group: ui.kubedb.com + k8s.io/kind: PgBouncerQueries + k8s.io/resource: pgbouncerqueries + k8s.io/version: v1alpha1 + name: ui.kubedb.com-v1alpha1-pgbouncerqueries +spec: + defaultView: true + resource: + group: ui.kubedb.com + kind: PgBouncerQueries + name: pgbouncerqueries + scope: Namespaced + version: v1alpha1 diff --git a/hub/resourcetabledefinitions/ui.kubedb.com/v1alpha1/pgbouncersettings-settings.yaml b/hub/resourcetabledefinitions/ui.kubedb.com/v1alpha1/pgbouncersettings-settings.yaml new file mode 100644 index 000000000..065c3095b --- /dev/null +++ b/hub/resourcetabledefinitions/ui.kubedb.com/v1alpha1/pgbouncersettings-settings.yaml @@ -0,0 +1,28 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceTableDefinition +metadata: + creationTimestamp: null + name: ui.kubedb.com-v1alpha1-pgbouncersettings-settings +spec: + columns: + - name: Name + pathTemplate: '{{ .name }}' + priority: 3 + type: string + - name: Current Value + pathTemplate: '{{ .currentValue }}' + priority: 3 + type: string + - name: Default Value + pathTemplate: '{{ .defaultValue }}' + priority: 3 + type: string + - name: Unit + pathTemplate: '{{ .unit }}' + priority: 3 + type: string + - name: Source + pathTemplate: '{{ .source }}' + priority: 3 + type: string + defaultView: false