diff --git a/hub/resourcedescriptors/kubedb.com/v1alpha2/etcds.yaml b/hub/resourcedescriptors/kubedb.com/v1alpha2/etcds.yaml index 95cf02fe3..0c3190f15 100644 --- a/hub/resourcedescriptors/kubedb.com/v1alpha2/etcds.yaml +++ b/hub/resourcedescriptors/kubedb.com/v1alpha2/etcds.yaml @@ -117,6 +117,13 @@ spec: type: string type: object x-kubernetes-map-type: atomic + deletionPolicy: + enum: + - Halt + - Delete + - WipeOut + - DoNotTerminate + type: string halted: type: boolean init: @@ -4124,13 +4131,6 @@ spec: - Durable - Ephemeral type: string - terminationPolicy: - enum: - - Halt - - Delete - - WipeOut - - DoNotTerminate - type: string tls: properties: member: diff --git a/hub/resourceoutlines/kubedb.com/v1/elasticsearches.yaml b/hub/resourceoutlines/kubedb.com/v1/elasticsearches.yaml new file mode 100644 index 000000000..04a5c4543 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/elasticsearches.yaml @@ -0,0 +1,210 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-elasticsearches + - name: Users + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Root User + query: + byLabel: auth_secret + type: GraphQL + ref: + group: "" + kind: Secret + - 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 + - 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 + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretEngines + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretEngine + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: ElasticSearchRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: ElasticSearchRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretAccessRequests + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretAccessRequest + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: ElasticsearchOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: Elasticsearch + name: elasticsearches + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/kafkas.yaml b/hub/resourceoutlines/kubedb.com/v1/kafkas.yaml new file mode 100644 index 000000000..fa6a00d82 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kafkas.yaml @@ -0,0 +1,67 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-kafkas + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: Kafka + name: kafkas + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/kubedb/elasticsearches.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/elasticsearches.yaml new file mode 100644 index 000000000..22d5e2b54 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/elasticsearches.yaml @@ -0,0 +1,490 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-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 / Elasticsearch / 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-elasticsearches + 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: ElasticsearchInsight + 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: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: elasticsearches + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-elasticsearches + 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 + - actions: + create: Never + displayMode: List + fieldPath: .spec.nodes + kind: Connection + name: Stats + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: ElasticsearchNodesStats + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-elasticsearchnodesstats-nodes + - actions: + create: Never + displayMode: List + fieldPath: .spec.indices + kind: Connection + name: Indices + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: ElasticsearchSchemaOverview + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-elasticsearchschemaoverviews-indices + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: ElasticsearchInsight + 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: ElasticSearchRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: ElasticSearchRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-elasticsearchroles + - 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: ElasticsearchOpsRequest + view: + name: ops.kubedb.com-v1alpha1-elasticsearchopsrequests-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 + opscenter-tools: + - supervisor + 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: Elasticsearch + name: elasticsearches + 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/resourceoutlines/kubedb.com/v1/kubedb/kafkas.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/kafkas.yaml new file mode 100644 index 000000000..c7e109f3b --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/kafkas.yaml @@ -0,0 +1,165 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-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 + 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-kafkas + 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 + - name: Insights + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + opscenter-monitoring: + - monitoring-operator + sections: + - blocks: + - actions: + create: Never + displayMode: List + fieldPath: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: kafkas + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-kafkas + 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 + - 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: Kafka + name: kafkas + 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/resourceoutlines/kubedb.com/v1/kubedb/mariadbs.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/mariadbs.yaml new file mode 100644 index 000000000..7225e6d55 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/mariadbs.yaml @@ -0,0 +1,490 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-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 / MariaDB / 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-mariadbs + 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: MariaDBInsight + 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: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: mariadbs + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-mariadbs + 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 + - actions: + create: Never + displayMode: List + fieldPath: .spec.queries + kind: Connection + name: Slow Queries + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MariaDBQueries + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-mariadbqueries-queries + - actions: + create: Never + displayMode: List + fieldPath: .spec.databases + kind: Connection + name: Databases + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MariaDBSchemaOverview + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-mariadbschemaoverviews-databases + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MariaDBInsight + 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: MariaDBRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: MariaDBRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-mariadbroles + - 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: MariaDBOpsRequest + view: + name: ops.kubedb.com-v1alpha1-mariadbopsrequests-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 + opscenter-tools: + - supervisor + 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: MariaDB + name: mariadbs + 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/resourceoutlines/kubedb.com/v1/kubedb/memcacheds.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/memcacheds.yaml new file mode 100644 index 000000000..040e567b1 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/memcacheds.yaml @@ -0,0 +1,117 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-kubedb +spec: + defaultLayout: false + pages: + - name: Basic + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-memcacheds + - 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: MemcachedOpsRequest + 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: Memcached + name: memcacheds + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/kubedb/mongodbs.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/mongodbs.yaml new file mode 100644 index 000000000..56ecbd9d8 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/mongodbs.yaml @@ -0,0 +1,496 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-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 + requiredFeatureSets: + opscenter-datastore: + - kubedb + 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 / MongoDB / 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-mongodbs + 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: MongoDBInsight + 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: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: mongodbs + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-mongodbs + 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 + - actions: + create: Never + displayMode: List + fieldPath: .spec.queries + kind: Connection + name: Slow Queries + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MongoDBQueries + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-mongodbqueries-queries + - actions: + create: Never + displayMode: List + fieldPath: .spec.collections + kind: Connection + name: Top Collections + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MongoDBSchemaOverview + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-mongodbschemaoverviews-collections + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MongoDBInsight + 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: AppBinding + 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: MongoDBRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: MongoDBRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-mongodbroles + - 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: MongoDBOpsRequest + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: ops.kubedb.com-v1alpha1-mongodbopsrequests-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 + opscenter-tools: + - supervisor + 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: MongoDB + name: mongodbs + 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/resourceoutlines/kubedb.com/v1/kubedb/mysqls.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/mysqls.yaml new file mode 100644 index 000000000..4463a1b17 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/mysqls.yaml @@ -0,0 +1,493 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-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 / MySQL / 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-mysqls + 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: MySQLInsight + 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: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: mysqls + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-mysqls + 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 + - actions: + create: Never + displayMode: List + fieldPath: .spec.queries + kind: Connection + name: Slow Queries + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MySQLQueries + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-mysqlqueries-queries + - actions: + create: Never + displayMode: List + fieldPath: .spec.databases + kind: Connection + name: Databases + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MySQLSchemaOverview + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-mysqlschemaoverviews-databases + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: MySQLInsight + 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: MySQLRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: MySQLRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-mysqlroles + - 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: MySQLOpsRequest + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: ops.kubedb.com-v1alpha1-mysqlopsrequests-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 + opscenter-tools: + - supervisor + 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: MySQL + name: mysqls + 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/resourceoutlines/kubedb.com/v1/kubedb/postgreses.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/postgreses.yaml new file mode 100644 index 000000000..d39d45793 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/postgreses.yaml @@ -0,0 +1,529 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-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 / Postgres / 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-postgreses + 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: PostgresInsight + 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: PostgresInsight + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-postgresinsights-replicationstatus + - actions: + create: Never + displayMode: List + fieldPath: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: postgreses + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-postgreses + 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 + - actions: + create: Never + displayMode: List + fieldPath: .spec.queries + kind: Connection + name: Slow Queries + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PostgresQueries + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-postgresqueries-queries + - actions: + create: Never + displayMode: List + fieldPath: .spec.databases + kind: Connection + name: Databases + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PostgresSchemaOverview + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-postgresschemaoverviews-databases + info: + actions: + create: Never + displayMode: Field + fieldPath: .spec.settings + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PostgresSettings + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-postgressettings-settings + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: PostgresInsight + 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: PostgresRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: PostgresRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-postgresroles + - 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: PostgresOpsRequest + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: ops.kubedb.com-v1alpha1-postgresopsrequests-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 + opscenter-tools: + - supervisor + 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: Postgres + name: postgreses + 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/resourceoutlines/kubedb.com/v1/kubedb/proxysqls.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/proxysqls.yaml new file mode 100644 index 000000000..bc347c996 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/proxysqls.yaml @@ -0,0 +1,232 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + 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 / ProxySQL / 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-proxysqls + info: + actions: + create: Never + displayMode: Field + kind: Self + view: + name: kubedb.com-v1-proxysqls-kubedb + - name: Insights + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + opscenter-monitoring: + - monitoring-operator + sections: + - blocks: + - actions: + create: Never + displayMode: List + fieldPath: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: proxysqls + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-proxysqls + 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 + - 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: ProxySQLOpsRequest + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: ops.kubedb.com-v1alpha1-proxysqlopsrequests-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 + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations-kubedb + - 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: ProxySQL + name: proxysqls + 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/resourceoutlines/kubedb.com/v1/kubedb/redises.yaml b/hub/resourceoutlines/kubedb.com/v1/kubedb/redises.yaml new file mode 100644 index 000000000..153bc7817 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/kubedb/redises.yaml @@ -0,0 +1,493 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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-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 / Redis / 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-redises + 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: RedisInsight + 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: .response.dashboards + kind: Connection + name: Grafana Dashboards + query: + raw: | + request: + sourceLocator: + resource: + group: kubedb.com + name: redises + version: v1 + ref: + name: {{ .name }} + namespace: {{ .namespace }} + name: kubedb.com-v1-redises + 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 + - actions: + create: Never + displayMode: List + fieldPath: .spec.queries + kind: Connection + name: Slow Queries + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: RedisQueries + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-redisqueries-queries + - actions: + create: Never + displayMode: List + fieldPath: .spec.databases + kind: Connection + name: Databases + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: RedisSchemaOverview + requiredFeatureSets: + opscenter-datastore: + - kubedb + - kubedb-opscenter + view: + name: ui.kubedb.com-v1alpha1-redisschemaoverviews-databases + insight: + actions: + create: Never + displayMode: Field + kind: Connection + query: + byLabel: view + type: GraphQL + ref: + group: ui.kubedb.com + kind: RedisInsight + 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: RedisRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: RedisRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + view: + name: engine.kubevault.com-v1alpha1-redisroles + - 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: RedisOpsRequest + requiredFeatureSets: + opscenter-datastore: + - kubedb + view: + name: ops.kubedb.com-v1alpha1-mongodbopsrequests-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 + opscenter-tools: + - supervisor + 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: Redis + name: redises + 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/resourceoutlines/kubedb.com/v1/mariadbs.yaml b/hub/resourceoutlines/kubedb.com/v1/mariadbs.yaml new file mode 100644 index 000000000..016347da3 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/mariadbs.yaml @@ -0,0 +1,210 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-mariadbs + - name: Users + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Root User + query: + byLabel: auth_secret + type: GraphQL + ref: + group: "" + kind: Secret + - 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 + - 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 + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretEngines + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretEngine + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: MariaDBRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: MariaDBRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretAccessRequests + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretAccessRequest + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: MariaDBOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: MariaDB + name: mariadbs + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/memcacheds.yaml b/hub/resourceoutlines/kubedb.com/v1/memcacheds.yaml new file mode 100644 index 000000000..3572efcda --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/memcacheds.yaml @@ -0,0 +1,116 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-memcacheds + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: MemcachedOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: Memcached + name: memcacheds + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/mongodbs.yaml b/hub/resourceoutlines/kubedb.com/v1/mongodbs.yaml new file mode 100644 index 000000000..e3f5f7bcb --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/mongodbs.yaml @@ -0,0 +1,210 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-mongodbs + - name: Users + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Root User + query: + byLabel: auth_secret + type: GraphQL + ref: + group: "" + kind: Secret + - actions: + create: Never + displayMode: List + kind: Connection + name: AppBinding + query: + byLabel: connect_via + type: GraphQL + ref: + group: appcatalog.appscode.com + kind: AppBinding + requiredFeatureSets: + opscenter-datastore: + - kubedb + - 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 + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretEngines + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretEngine + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: MongoDBRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: MongoDBRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretAccessRequests + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretAccessRequest + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: MongoDBOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: MongoDB + name: mongodbs + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/mysqls.yaml b/hub/resourceoutlines/kubedb.com/v1/mysqls.yaml new file mode 100644 index 000000000..8c8867657 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/mysqls.yaml @@ -0,0 +1,210 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-mysqls + - name: Users + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Root User + query: + byLabel: auth_secret + type: GraphQL + ref: + group: "" + kind: Secret + - 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 + - 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 + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretEngines + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretEngine + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: MySQLRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: MySQLRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretAccessRequests + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretAccessRequest + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: MySQLOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: MySQL + name: mysqls + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/perconaxtradbs.yaml b/hub/resourceoutlines/kubedb.com/v1/perconaxtradbs.yaml new file mode 100644 index 000000000..bca02f8dc --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/perconaxtradbs.yaml @@ -0,0 +1,116 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-perconaxtradbs + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: PerconaXtraDBOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: PerconaXtraDB + name: perconaxtradbs + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/pgbouncers.yaml b/hub/resourceoutlines/kubedb.com/v1/pgbouncers.yaml new file mode 100644 index 000000000..fbcbc0028 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/pgbouncers.yaml @@ -0,0 +1,99 @@ +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 +spec: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-pgbouncers + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: PgBouncerOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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 diff --git a/hub/resourceoutlines/kubedb.com/v1/postgreses.yaml b/hub/resourceoutlines/kubedb.com/v1/postgreses.yaml new file mode 100644 index 000000000..b3c4c2a03 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/postgreses.yaml @@ -0,0 +1,210 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-postgreses + - name: Users + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Root User + query: + byLabel: auth_secret + type: GraphQL + ref: + group: "" + kind: Secret + - 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 + - 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 + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretEngines + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretEngine + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: PostgresRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: PostgresRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretAccessRequests + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretAccessRequest + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: PostgresOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: Postgres + name: postgreses + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/proxysqls.yaml b/hub/resourceoutlines/kubedb.com/v1/proxysqls.yaml new file mode 100644 index 000000000..f2b63f62d --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/proxysqls.yaml @@ -0,0 +1,99 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-proxysqls + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: ProxySQLOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: ProxySQL + name: proxysqls + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/redises.yaml b/hub/resourceoutlines/kubedb.com/v1/redises.yaml new file mode 100644 index 000000000..5ba091ad5 --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/redises.yaml @@ -0,0 +1,210 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-redises + - name: Users + sections: + - blocks: + - actions: + create: Never + displayMode: List + kind: Connection + name: Root User + query: + byLabel: auth_secret + type: GraphQL + ref: + group: "" + kind: Secret + - 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 + - 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 + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretEngines + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretEngine + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: RedisRoles + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: RedisRole + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - actions: + create: Never + displayMode: List + kind: Connection + name: SecretAccessRequests + query: + byLabel: authz + type: GraphQL + ref: + group: engine.kubevault.com + kind: SecretAccessRequest + requiredFeatureSets: + opscenter-secret-management: + - kubevault + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: RedisOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - 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: + - kind: Block + name: stash.appscode.com-v1-kubedb-backup + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: Redis + name: redises + scope: Namespaced + version: v1 diff --git a/hub/resourceoutlines/kubedb.com/v1/redissentinels.yaml b/hub/resourceoutlines/kubedb.com/v1/redissentinels.yaml new file mode 100644 index 000000000..fd25a7fcc --- /dev/null +++ b/hub/resourceoutlines/kubedb.com/v1/redissentinels.yaml @@ -0,0 +1,99 @@ +apiVersion: meta.k8s.appscode.com/v1alpha1 +kind: ResourceOutline +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: + defaultLayout: true + pages: + - name: Overview + sections: + - blocks: + - kind: Block + name: kubedb.com-v1-redissentinels + - name: Operations + sections: + - blocks: + - actions: + create: Always + displayMode: List + kind: Connection + name: Recent Operations + query: + byLabel: ops + type: GraphQL + ref: + group: ops.kubedb.com + kind: RedisSentinelOpsRequest + - actions: + create: Always + displayMode: List + kind: Connection + name: Recommendations + query: + byLabel: recommended_for + type: GraphQL + ref: + group: supervisor.appscode.com + kind: Recommendation + requiredFeatureSets: + opscenter-datastore: + - kubedb + opscenter-tools: + - supervisor + view: + name: supervisor.appscode.com-v1alpha1-recommendations + - name: Monitoring + sections: + - blocks: + - kind: Block + name: monitoring.coreos.com-v1-kubedb-monitoring + - 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: RedisSentinel + name: redissentinels + scope: Namespaced + version: v1