diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 4d49775d5..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,37 +0,0 @@ -# How to Contribute - -AppsCode projects are [Apache 2.0 licensed](LICENSE) and accept contributions via -GitHub pull requests. This document outlines some of the conventions on -development workflow, commit message formatting, contact points and other -resources to make it easier to get your contribution accepted. - -## Certificate of Origin -By contributing to this project you agree to the Developer Certificate of -Origin (DCO). This document was created by the Linux Kernel community and is a -simple statement that you, as a contributor, have the legal right to make the -contribution. See the [DCO](DCO) file for details. - -## Developer Guide -We have a [Developer Guide](/docs/developer-guide/README.md) that outlines everything you need to know from setting up your -dev environment to how to build and test KubeDB. If you find something undocumented or incorrect along the way, -please feel free to send a Pull Request. - -## Getting Help -If you have a question about KubeDB or having problem using it, you can contact us on our public Slack channel. Follow [this link](http://slack.kubernetes.io) to get invitation to our Slack channel. - -## Bugs/Feature request -If you have found a bug with KubeDB or want to request for new features, please file issues under [kubedb/project](https://github.com/kubedb/project/issues/new) repository. - -## Contribution Flow -If you fix a bug or developed a new feature, feel free to submit a PR. In either case, please file a Github issue first, so that we can have a discussion on it. This is a rough outline of what a contributor's workflow looks like: - -- Create a topic branch from where you want to base your work (usually master). -- Make commits of logical units. -- Push your changes to a topic branch in your fork of the repository. -- Make sure the tests pass, and add any new tests as appropriate. -- Submit a pull request to the original repository. - -Thanks for your contributions! - -## Spread the word -If you have written blog post or tutorial on KubeDB, please share it with us on [Twitter](https://twitter.com/KubeDB) or the [Kubernetes Slack team](http://slack.kubernetes.io) channel `#kubedb`. diff --git a/README.md b/README.md index 41cea28c5..4bb0d936e 100644 --- a/README.md +++ b/README.md @@ -30,24 +30,23 @@ Please pick a version of KubeDB that matches your Kubernetes installation. | [0.6.0](https://github.com/kubedb/cli/releases/tag/0.6.0) (uses TPR) | [User Guide](https://github.com/kubedb/cli/tree/0.6.0/docs) | 1.5.x - 1.7.x | ## Installation -To install KubeDB, please follow the guide [here](/docs/install.md). +To install KubeDB, please follow the guide [here](/docs/setup/install.md). ## Using KubeDB -Want to learn how to use KubeDB? Please start [here](/docs/tutorials/README.md). +Want to learn how to use KubeDB? Please start [here](/docs/guides//README.md). ## Contribution guidelines -Want to help improve KubeDB? Please start [here](/CONTRIBUTING.md). - -## Project Status -Wondering what features are coming next? Please visit [here](/ROADMAP.md). +Want to help improve KubeDB? Please start [here](/docs/CONTRIBUTING.md). --- -**The KubeDB operator collects anonymous usage statistics to help us learn how the software is being used and how we can improve it. To disable stats collection, run the operator with the flag** `--analytics=false`. +**KubeDB binaries collects anonymous usage statistics to help us learn how the software is being used and how we can improve it. To disable stats collection, run the operator with the flag** `--analytics=false`. --- ## Support -If you have any questions, talk to us on the [Kubernetes Slack team](http://slack.kubernetes.io/) channel `#kubedb`. +We use Slack for public discussions. To chit chat with us or the rest of the community, join us in the [Kubernetes Slack team](https://kubernetes.slack.com/messages/C8149MREV/) channel `#kubedb`. To sign up, use our [Slack inviter](http://slack.kubernetes.io/). + +To receive product annoucements, please join our [mailing list](https://groups.google.com/forum/#!forum/kubedb) or follow us on [Twitter](https://twitter.com/KubeDB). Our mailing list is also used to share design docs shared via Google docs. -If you have found a bug with KubeDB or want to request for new features, please file issues under [kubedb/project](https://github.com/kubedb/project/issues/new) repository. +If you have found a bug with Stash or want to request for new features, please [file an issue](https://github.com/kubedb/project/issues/new). diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 000000000..74174798d --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,55 @@ +--- +title: Contributing | KubeDB +description: Contributing +menu: + docs_0.8.0-beta.0: + identifier: contributing-cli + name: Contributing + parent: welcome + weight: 10 +menu_name: docs_0.8.0-beta.0 +section_menu_id: welcome +url: /docs/0.8.0-beta.0/welcome/contributing/ +aliases: + - /docs/0.8.0-beta.0/CONTRIBUTING/ +--- + +# Contribution Guidelines +Want to hack on KubeDB? + +AppsCode projects are [Apache 2.0 licensed](https://github.com/kubedb/cli/blob/master/LICENSE) and accept contributions via GitHub pull requests. This document outlines some of the conventions on development workflow, commit message formatting, contact points and other resources to make it easier to get your contribution accepted. + +## Certificate of Origin + +By contributing to this project you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a +simple statement that you, as a contributor, have the legal right to make the contribution. See the [DCO](https://github.com/kubedb/cli/blob/master/DCO) file for details. + +## Developer Guide + +We have a [Developer Guide](/docs/setup/developer-guide/overview.md) that outlines everything you need to know from setting up your dev environment to how to build and test KubeDB. If you find something undocumented or incorrect along the way, please feel free to send a Pull Request. + +## Getting Help + +We use Slack for public discussions. To chit chat with us or the rest of the community, join us in the [Kubernetes Slack team](https://kubernetes.slack.com/messages/C8149MREV/) channel `#kubedb`. To sign up, use our [Slack inviter](http://slack.kubernetes.io/). + +To receive product annoucements, please join our [mailing list](https://groups.google.com/forum/#!forum/kubedb) or follow us on [Twitter](https://twitter.com/KubeDB). Our mailing list is also used to share design docs shared via Google docs. + +## Bugs/Feature request + +If you have found a bug with KubeDB or want to request for new features, please [file an issue](https://github.com/kubedb/project/issues/new). + +## Submit PR + +If you fix a bug or developed a new feature, feel free to submit a PR. In either case, please file a [Github issue](https://github.com/kubedb/project/issues/new) first, so that we can have a discussion on it. This is a rough outline of what a contributor's workflow looks like: + +- Create a topic branch from where you want to base your work (usually master). +- Make commits of logical units. +- Push your changes to a topic branch in your fork of the repository. +- Make sure the tests pass, and add any new tests as appropriate. +- Submit a pull request to the original repository. + +Thanks for your contributions! + +## Spread the word + +If you have written blog post or tutorial on KubeDB, please share it with us on [Twitter](https://twitter.com/KubeDB) or the [Kubernetes Slack team](http://slack.kubernetes.io) channel `#kubedb`. diff --git a/docs/README.md b/docs/README.md index aea97931d..30ef5e97a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,24 +1,23 @@ - --- -title: KubeDB Overview +title: Weclome | KubeDB +description: Welcome to CLI menu: - docs_0.8.0: - identifier: kubedb-overview - name: Overview - parent: getting-started - weight: 10 -menu_name: docs_0.8.0 -section_menu_id: getting-started -url: /docs/0.8.0/getting-started/ + docs_0.8.0-beta.0: + identifier: readme-cli + name: Readme + parent: welcome + weight: -1 +menu_name: docs_0.8.0-beta.0 +section_menu_id: welcome +url: /docs/0.8.0-beta.0/welcome/ aliases: - - /docs/0.8.0/ - - /docs/0.8.0/README/ + - /docs/0.8.0-beta.0/ + - /docs/0.8.0-beta.0/README/ --- -[![Go Report Card](https://goreportcard.com/badge/github.com/kubedb/cli)](https://goreportcard.com/report/github.com/kubedb/cli) - # KubeDB -Running production quality database in Kubernetes can be tricky to say the least. In the early days of Kubernetes, replication controllers were used to run a single pod for a database. With the introduction of StatefulSet, it became easy to run a docker container for any database. But what about monitoring, taking periodic backups, restoring from backups or cloning from an existing database? KubeDB is a framework for writing operators for any database that support the following operational requirements: + +Running production quality databases in Kubernetes can be tricky. KubeDB is a framework for writing operators for any database that support the following operational requirements: - Create a database declaratively using CRD. - Take one-off backups or period backups to various cloud stores, eg,, S3, GCS, etc. @@ -28,36 +27,28 @@ Running production quality database in Kubernetes can be tricky to say the least - Keep track of deleted databases, cleanup prior snapshots with a single command. - Use cli to manage databases like kubectl for Kubernetes. -KubeDB is developed at [AppsCode](https://twitter.com/AppsCodeHQ) to run their SAAS platform on Kubernetes. Currently we include complete implementations for Postgres and Elasticsearch database. +Currently KubeDB includes support for following datastores: + - Postgres + - Elasticsearch + - MySQL + - MongoDB + - Redis + - Memcached -## Supported Versions -Please pick a version of KubeDB that matches your Kubernetes installation. +From here you can learn all about KubeDB's architecture and how to deploy and use KubeDB. -| KubeDB Version | Docs | Kubernetes Version | -|----------------------------------------------------------------------|-------------------------------------------------------------|--------------------| -| [0.7.1](https://github.com/kubedb/cli/releases/tag/0.7.1) (uses CRD) | [User Guide](https://github.com/kubedb/cli/tree/0.7.1/docs) | 1.7.x + | -| [0.6.0](https://github.com/kubedb/cli/releases/tag/0.6.0) (uses TPR) | [User Guide](https://github.com/kubedb/cli/tree/0.6.0/docs) | 1.5.x - 1.7.x | +- [Concepts](/docs/concepts/). Concepts explain some significant aspect of KubeDB. This is where you can learn about what KubeDB does and how it does it. -## Installation -To install KubeDB, please follow the guide [here](/docs/install.md). +- [Setup](/docs/setup/). Setup contains instructions for installing the KubeDB in various cloud providers. -## Using KubeDB -Want to learn how to use KubeDB? Please start [here](/docs/tutorials/README.md). +- [Guides](/docs/guides/). Guides show you how to perform tasks with KubeDB. -## Contribution guidelines -Want to help improve KubeDB? Please start [here](/CONTRIBUTING.md). +- [Reference](/docs/reference/). Detailed exhaustive lists of command-line options, configuration options, API definitions, and procedures. -## Project Status -Wondering what features are coming next? Please visit [here](/ROADMAP.md). +We're always looking for help improving our documentation, so please don't hesitate to [file an issue](https://github.com/kubedb/project/issues/new) if you see some problem. Or better yet, submit your own [contributions](/docs/CONTRIBUTING.md) to help make our docs better. --- -**The KubeDB operator collects anonymous usage statistics to help us learn how the software is being used and how we can improve it. To disable stats collection, run the operator with the flag** `--analytics=false`. +**KubeDB binaries collects anonymous usage statistics to help us learn how the software is being used and how we can improve it. To disable stats collection, run the operator with the flag** `--analytics=false`. --- - -## Support -If you have any questions, you can reach out to us. -* [Slack](https://slack.appscode.com) -* [Twitter](https://twitter.com/AppsCodeHQ) -* [Website](https://appscode.com) diff --git a/docs/_index.md b/docs/_index.md index 15a506ef4..c74f17d53 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -1,9 +1,9 @@ --- title: KubeDB menu: - docs_0.8.0: - identifier: getting-started - name: Getting Started + docs_0.8.0-beta.0: + identifier: welcome + name: Welcome weight: 10 -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 --- diff --git a/docs/concepts/README.md b/docs/concepts/README.md new file mode 100644 index 000000000..4e61cd088 --- /dev/null +++ b/docs/concepts/README.md @@ -0,0 +1,18 @@ +--- +title: Concepts | KubeDB +menu: + docs_0.8.0-beta.0: + identifier: concepts-readme + name: Readme + parent: concepts + weight: -1 +menu_name: docs_0.8.0-beta.0 +section_menu_id: concepts +url: /docs/0.8.0-beta.0/concepts/ +aliases: + - /docs/0.8.0-beta.0/concepts/README/ +--- + +# Concepts + +Concepts help you learn about the different parts of the CLI and the abstractions it uses. diff --git a/docs/concepts/_index.md b/docs/concepts/_index.md index f8cc82e9e..59fa33afb 100644 --- a/docs/concepts/_index.md +++ b/docs/concepts/_index.md @@ -1,9 +1,10 @@ --- -title: KubeDB Concepts +title: Concepts +description: Concepts menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: concepts name: Concepts weight: 20 -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 --- diff --git a/docs/concepts/elasticsearch.md b/docs/concepts/elasticsearch.md index d54a5a4a1..e2bef4c8b 100644 --- a/docs/concepts/elasticsearch.md +++ b/docs/concepts/elasticsearch.md @@ -1,18 +1,16 @@ --- title: Elasticsearch Concepts menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: concepts-elasticsearch name: Elasticsearch parent: concepts weight: 10 -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: concepts -aliases: - - /docs/0.8.0/concepts/ --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Elasticsearch @@ -180,7 +178,7 @@ KubeDB supports taking periodic snapshots for Elasticsearch database. This is an - `spec.backupSchedule.cronExpression` is a required [cron expression](https://github.com/robfig/cron/blob/v2/doc.go#L26). This specifies the schedule for backup operations. - - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshots.md). + - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshot.md). - `spec.backupSchedule.resources` is an optional field that can request compute resources required by Jobs used to take snapshot or initialize databases from snapshot. To learn more, visit [here](http://kubernetes.io/docs/user-guide/compute-resources/). @@ -198,9 +196,9 @@ To learn how to monitor Elasticsearch databases, please visit [here](/docs/conce ## Next Steps -- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/tutorials/elasticsearch/README.md). +- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/guides/elasticsearch/overview.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/concepts/memcached.md b/docs/concepts/memcached.md index ec1d923f3..8cc88769f 100644 --- a/docs/concepts/memcached.md +++ b/docs/concepts/memcached.md @@ -1,4 +1,16 @@ -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: Memcached Concepts +menu: + docs_0.8.0-beta.0: + identifier: concepts-memcached + name: Memcached + parent: concepts + weight: 13 +menu_name: docs_0.8.0-beta.0 +section_menu_id: concepts +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # Memcached @@ -60,8 +72,8 @@ To learn how to monitor Memcached databases, please visit [here](/docs/concepts/ ## Next Steps -- Learn how to use KubeDB to run a Memcached database [here](/docs/tutorials/memcached/README.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Learn how to use KubeDB to run a Memcached database [here](/docs/guides/memcached/overview.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/concepts/mongodb.md b/docs/concepts/mongodb.md index e38e73c3f..f757c694c 100644 --- a/docs/concepts/mongodb.md +++ b/docs/concepts/mongodb.md @@ -1,4 +1,16 @@ -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: MongoDB Concepts +menu: + docs_0.8.0-beta.0: + identifier: concepts-mongodb + name: MongoDB + parent: concepts + weight: 15 +menu_name: docs_0.8.0-beta.0 +section_menu_id: concepts +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # MongoDB @@ -143,7 +155,7 @@ KubeDB supports taking periodic snapshots for MongoDB database. This is an optio - `spec.backupSchedule.cronExpression` is a required [cron expression](https://github.com/robfig/cron/blob/v2/doc.go#L26). This specifies the schedule for backup operations. - - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshots.md). + - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshot.md). - `spec.backupSchedule.resources` is an optional field that can request compute resources required by Jobs used to take snapshot or initialize databases from snapshot. To learn more, visit [here](http://kubernetes.io/docs/user-guide/compute-resources/). @@ -161,9 +173,9 @@ To learn how to monitor MongoDB databases, please visit [here](/docs/concepts/mo ## Next Steps -- Learn how to use KubeDB to run a MongoDB database [here](/docs/tutorials/mongodb/README.md). +- Learn how to use KubeDB to run a MongoDB database [here](/docs/guides/mongodb/overview.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/concepts/monitoring.md b/docs/concepts/monitoring.md index 83162a370..d8f3ce5ed 100644 --- a/docs/concepts/monitoring.md +++ b/docs/concepts/monitoring.md @@ -1,16 +1,16 @@ --- title: Monitoring menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: monitoring-concepts name: Monitoring parent: concepts - weight: 15 -menu_name: docs_0.8.0 + weight: 18 +menu_name: docs_0.8.0-beta.0 section_menu_id: concepts --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Monitoring KubeDB @@ -49,8 +49,8 @@ __Known Limitations:__ If the databse password is updated, exporter must be rest ## Next Steps -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/tutorials/postgres/README.md). -- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/tutorials/elasticsearch/README.md). -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/guides/postgres/overview.md). +- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/guides/elasticsearch/overview.md). +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/concepts/mysql.md b/docs/concepts/mysql.md index 90af863fb..15969b016 100644 --- a/docs/concepts/mysql.md +++ b/docs/concepts/mysql.md @@ -1,4 +1,16 @@ -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: MySQL +menu: + docs_0.8.0-beta.0: + identifier: mysql-concepts + name: MySQL + parent: concepts + weight: 20 +menu_name: docs_0.8.0-beta.0 +section_menu_id: concepts +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # MySQL @@ -143,7 +155,7 @@ KubeDB supports taking periodic snapshots for MySQL database. This is an optiona - `spec.backupSchedule.cronExpression` is a required [cron expression](https://github.com/robfig/cron/blob/v2/doc.go#L26). This specifies the schedule for backup operations. - - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshots.md). + - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshot.md). - `spec.backupSchedule.resources` is an optional field that can request compute resources required by Jobs used to take snapshot or initialize databases from snapshot. To learn more, visit [here](http://kubernetes.io/docs/user-guide/compute-resources/). @@ -161,9 +173,9 @@ To learn how to monitor MySQL databases, please visit [here](/docs/concepts/moni ## Next Steps -- Learn how to use KubeDB to run a MySQL database [here](/docs/tutorials/mysql/README.md). +- Learn how to use KubeDB to run a MySQL database [here](/docs/guides/mysql/overview.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/concepts/postgres.md b/docs/concepts/postgres.md index 061ebcea8..a67818727 100644 --- a/docs/concepts/postgres.md +++ b/docs/concepts/postgres.md @@ -1,16 +1,16 @@ --- title: Postgres Concepts menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: concepts-postgres name: Postgres parent: concepts - weight: 20 -menu_name: docs_0.8.0 + weight: 25 +menu_name: docs_0.8.0-beta.0 section_menu_id: concepts --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Postgres @@ -214,7 +214,7 @@ KubeDB supports taking periodic snapshots for Postgres database. This is an opti - `spec.backupSchedule.cronExpression` is a required [cron expression](https://github.com/robfig/cron/blob/v2/doc.go#L26). This specifies the schedule for backup operations. - - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshots.md). + - `spec.backupSchedule.{storage}` is a required field that is used as the destination for storing snapshot data. KubeDB supports cloud storage providers like S3, GCS, Azure and OpenStack Swift. It also supports any locally mounted Kubernetes volumes, like NFS, Ceph , etc. Only one backend can be used at a time. To learn how to configure this, please visit [here](/docs/concepts/snapshot.md). - `spec.backupSchedule.resources` is an optional field that can request compute resources required by Jobs used to take snapshot or initialize databases from snapshot. To learn more, visit [here](http://kubernetes.io/docs/user-guide/compute-resources/). @@ -232,9 +232,9 @@ To learn how to monitor Postgres databases, please visit [here](/docs/concepts/m ## Next Steps -- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/tutorials/postgres/README.md). +- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/guides/postgres/overview.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/concepts/redis.md b/docs/concepts/redis.md index 6d5d953e5..08f93a763 100644 --- a/docs/concepts/redis.md +++ b/docs/concepts/redis.md @@ -1,4 +1,16 @@ -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: Redis +menu: + docs_0.8.0-beta.0: + identifier: redis-concepts + name: Redis + parent: concepts + weight: 30 +menu_name: docs_0.8.0-beta.0 +section_menu_id: concepts +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # Redis @@ -76,9 +88,9 @@ To learn how to monitor Redis databases, please visit [here](/docs/concepts/moni ## Next Steps -- Learn how to use KubeDB to run a Redis database [here](/docs/tutorials/redis/README.md). +- Learn how to use KubeDB to run a Redis database [here](/docs/guides/redis/overview.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/concepts/snapshot.md b/docs/concepts/snapshot.md index 8ff0ab446..c9b618477 100644 --- a/docs/concepts/snapshot.md +++ b/docs/concepts/snapshot.md @@ -1,16 +1,16 @@ --- title: Snapshot menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: snapshot-concepts name: Snapshot parent: concepts - weight: 25 -menu_name: docs_0.8.0 + weight: 35 +menu_name: docs_0.8.0-beta.0 section_menu_id: concepts --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Snapshot @@ -442,7 +442,7 @@ spec: ## Next Steps -- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/tutorials/postgres/README.md). -- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/tutorials/elasticsearch/README.md). -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/guides/postgres/overview.md). +- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/guides/elasticsearch/overview.md). +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/README.md b/docs/guides/README.md new file mode 100644 index 000000000..d880c40eb --- /dev/null +++ b/docs/guides/README.md @@ -0,0 +1,36 @@ +--- +title: Tutorials | KubeDB +menu: + docs_0.8.0-beta.0: + identifier: guides-overview + name: Overview + parent: guides + weight: -1 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides +url: /docs/0.8.0-beta.0/guides/ +aliases: + - /docs/0.8.0-beta.0/guides/README/ +--- + +# Tutorials + +This section contains tutorials on how to use KubeDB. Please visit the links below to learn more: + + - [Running PostgreSQL](/docs/guides/postgres/overview.md): This tutorial will show you how to use KubeDB to run a PostgreSQL database. + + - [Running Elasticsearch](/docs/guides/elasticsearch/overview.md): This tutorial will show you how to use KubeDB to run an Elasticsearch database. + + - [Running MySQL](/docs/guides/mysql/overview.md): This tutorial will show you how to use KubeDB to run a MySQL database. + + - [Running MongoDB](/docs/guides/mongodb/overview.md): This tutorial will show you how to use KubeDB to run a MongoDB database. + + - [Running Redis](/docs/guides/redis/overview.md): This tutorial will show you how to use KubeDB to run a Redis database. + + - [Running Memcached](/docs/guides/memcached/overview.md): This tutorial will show you how to use KubeDB to run a Memcached database. + + - [Manage KubeDB objects using CLIs](/docs/guides/cli.md): KubeDB comes with its own cli. It is called `kubedb` cli. kubedb can be used to deploy KubeDB operator in a cluster and manage all KubeDB tprs. + + - [Using Prometheus with KubeDB](/docs/guides/monitoring.md): This tutorial will show you how to monitor KubeDB databases using Prometheus via [CoreOS Prometheus Operator](https://github.com/coreos/prometheus-operator). + + - [Using RBAC with KubeDB](/docs/guides/rbac.md): This tutorial will show you how to use KubeDB in a [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/) enabled cluster. diff --git a/docs/guides/_index.md b/docs/guides/_index.md new file mode 100644 index 000000000..1c6d32ee4 --- /dev/null +++ b/docs/guides/_index.md @@ -0,0 +1,9 @@ +--- +title: Guides +menu: + docs_0.8.0-beta.0: + identifier: guides + name: Guides + weight: 40 +menu_name: docs_0.8.0-beta.0 +--- diff --git a/docs/tutorials/cli.md b/docs/guides/cli.md similarity index 96% rename from docs/tutorials/cli.md rename to docs/guides/cli.md index 8db1be797..2c53d4325 100644 --- a/docs/tutorials/cli.md +++ b/docs/guides/cli.md @@ -1,22 +1,22 @@ --- title: CLI | KubeDB menu: - docs_0.8.0: - identifier: tutorials-cli + docs_0.8.0-beta.0: + identifier: guides-cli name: CLI - parent: tutorials - weight: 60 -menu_name: docs_0.8.0 -section_menu_id: tutorials + parent: guides + weight: 70 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Manage KubeDB objects using CLIs ## KubeDB CLI KubeDB comes with its own cli. It is called `kubedb` cli. `kubedb` can be used to deploy KubeDB operator in a cluster and manage all KubeDB objects. -`kubedb` cli also performs various validations to improve ux. To install KubeDB cli on your workstation, follow the steps [here](/docs/install.md). +`kubedb` cli also performs various validations to improve ux. To install KubeDB cli on your workstation, follow the steps [here](/docs/setup/install.md). ### How to Create objects @@ -372,7 +372,7 @@ $ kubectl delete postgres ## Next Steps -- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/tutorials/postgres/README.md). -- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/tutorials/elasticsearch/README.md). -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/guides/postgres/overview.md). +- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/guides/elasticsearch/overview.md). +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/elasticsearch/_index.md b/docs/guides/elasticsearch/_index.md new file mode 100644 index 000000000..96f643c60 --- /dev/null +++ b/docs/guides/elasticsearch/_index.md @@ -0,0 +1,10 @@ +--- +title: Elasticsearch +menu: + docs_0.8.0-beta.0: + identifier: guides-elasticsearch + name: Elasticsearch + parent: guides + weight: 10 +menu_name: docs_0.8.0-beta.0 +--- diff --git a/docs/tutorials/elasticsearch/README.md b/docs/guides/elasticsearch/overview.md similarity index 96% rename from docs/tutorials/elasticsearch/README.md rename to docs/guides/elasticsearch/overview.md index f44171b07..e5f978614 100644 --- a/docs/tutorials/elasticsearch/README.md +++ b/docs/guides/elasticsearch/overview.md @@ -1,26 +1,25 @@ --- title: Elasticsearch menu: - docs_0.8.0: - identifier: tutorials-elasticsearch-readme + docs_0.8.0-beta.0: + identifier: guides-elasticsearch-overview name: Overview - parent: tutorials-elasticsearch + parent: guides-elasticsearch weight: 10 -menu_name: docs_0.8.0 -section_menu_id: tutorials -url: /docs/0.8.0/tutorials/elasticsearch/ +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides aliases: - - /docs/0.8.0/tutorials/elasticsearch/README/ + - /docs/0.8.0-beta.0/guides/elasticsearch/ --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Running Elasticsearch This tutorial will show you how to use KubeDB to run an Elasticsearch database. ## Before You Begin At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [Minikube](https://github.com/kubernetes/minikube). -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. Run the following command to prepare your cluster for this tutorial: ```console @@ -69,7 +68,7 @@ Here, - `spec.doNotPause` tells KubeDB operator that if this CRD object is deleted, it should be automatically reverted. This should be set to `true` for production databases to avoid accidental deletion. - `spec.storage` specifies the StorageClass of PVC dynamically allocated to store data for this database. This storage spec will be passed to the StatefulSet created by KubeDB operator to run database pods. You can specify any StorageClass available in your cluster with appropriate resource requests. If no storage spec is given, an `emptyDir` is used. -KubeDB operator watches for `Elasticsearch` objects using Kubernetes api. When a `Elasticsearch` object is created, KubeDB operator will create a new StatefulSet and two ClusterIP Service with the matching name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/tutorials/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching tpr name will be created and used as the service account name for the corresponding StatefulSet. +KubeDB operator watches for `Elasticsearch` objects using Kubernetes api. When a `Elasticsearch` object is created, KubeDB operator will create a new StatefulSet and two ClusterIP Service with the matching name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/guides/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching tpr name will be created and used as the service account name for the corresponding StatefulSet. ```console @@ -600,13 +599,13 @@ To cleanup the Kubernetes resources created by this tutorial, run: $ kubectl delete ns demo ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps - Learn about the details of Elasticsearch object [here](/docs/concepts/elasticsearch.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/memcached/_index.md b/docs/guides/memcached/_index.md new file mode 100644 index 000000000..73cf56bbe --- /dev/null +++ b/docs/guides/memcached/_index.md @@ -0,0 +1,10 @@ +--- +title: Memcached +menu: + docs_0.8.0-beta.0: + identifier: guides-memcached + name: Memcached + parent: guides + weight: 20 +menu_name: docs_0.8.0-beta.0 +--- diff --git a/docs/tutorials/memcached/README.md b/docs/guides/memcached/overview.md similarity index 92% rename from docs/tutorials/memcached/README.md rename to docs/guides/memcached/overview.md index 7a899f55a..594fa1c4e 100644 --- a/docs/tutorials/memcached/README.md +++ b/docs/guides/memcached/overview.md @@ -1,4 +1,18 @@ -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: Memcached +menu: + docs_0.8.0-beta.0: + identifier: guides-memcached-overview + name: Overview + parent: guides-memcached + weight: 10 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides +aliases: + - /docs/0.8.0-beta.0/guides/memcached/ +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # Running Memcached This tutorial will show you how to use KubeDB to run a Memcached database. @@ -6,7 +20,7 @@ This tutorial will show you how to use KubeDB to run a Memcached database. ## Before You Begin At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [Minikube](https://github.com/kubernetes/minikube). -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. Run the following command to prepare your cluster for this tutorial: @@ -58,7 +72,7 @@ Here, - `spec.resource` is an optional field that specifies how much CPU and memory (RAM) each Container needs. To learn details about Managing Compute Resources for Containers, please visit [here](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/). -KubeDB operator watches for `Memcached` objects using Kubernetes api. When a `Memcached` object is created, KubeDB operator will create a new `Deployment` and a ClusterIP Service with the matching crd name. If [RBAC is enabled](/docs/tutorials/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching crd name will be created and used as the service account name for the corresponding Deployment. +KubeDB operator watches for `Memcached` objects using Kubernetes api. When a `Memcached` object is created, KubeDB operator will create a new `Deployment` and a ClusterIP Service with the matching crd name. If [RBAC is enabled](/docs/guides/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching crd name will be created and used as the service account name for the corresponding Deployment. ```console $ kubedb describe mc -n demo mc1 @@ -360,12 +374,12 @@ To cleanup the Kubernetes resources created by this tutorial, run: $ kubectl delete ns demo ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps - Learn about the details of Memcached crd [here](/docs/concepts/memcached.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/mongodb/_index.md b/docs/guides/mongodb/_index.md new file mode 100644 index 000000000..0274c4e95 --- /dev/null +++ b/docs/guides/mongodb/_index.md @@ -0,0 +1,10 @@ +--- +title: MongoDB +menu: + docs_0.8.0-beta.0: + identifier: guides-mongodb + name: MongoDB + parent: guides + weight: 30 +menu_name: docs_0.8.0-beta.0 +--- diff --git a/docs/tutorials/mongodb/README.md b/docs/guides/mongodb/overview.md similarity index 96% rename from docs/tutorials/mongodb/README.md rename to docs/guides/mongodb/overview.md index 205a618c6..c4b0ab37f 100644 --- a/docs/tutorials/mongodb/README.md +++ b/docs/guides/mongodb/overview.md @@ -1,4 +1,18 @@ -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: MongoDB +menu: + docs_0.8.0-beta.0: + identifier: guides-mongodb-overview + name: Overview + parent: guides-mongodb + weight: 10 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides +aliases: + - /docs/0.8.0-beta.0/guides/mongodb/ +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # Running MongoDB This tutorial will show you how to use KubeDB to run a MongoDB database. @@ -6,7 +20,7 @@ This tutorial will show you how to use KubeDB to run a MongoDB database. ## Before You Begin At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [Minikube](https://github.com/kubernetes/minikube). -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. This tutorial will also use a phpMyAdmin to connect and test MongoDB database, once it is running. Run the following command to prepare your cluster for this tutorial: @@ -62,7 +76,7 @@ Here, - `spec.init.scriptSource` specifies a sql script source used to initialize the database after it is created. The sql scripts will be executed alphabatically. In this tutorial, a sample sql script from the git repository `https://github.com/kubedb/mongodb-init-scripts.git` is used to create a test database. -KubeDB operator watches for `MongoDB` objects using Kubernetes api. When a `MongoDB` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching MongoDB object name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/tutorials/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching object name will be created and used as the service account name for the corresponding StatefulSet. +KubeDB operator watches for `MongoDB` objects using Kubernetes api. When a `MongoDB` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching MongoDB object name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/guides/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching object name will be created and used as the service account name for the corresponding StatefulSet. ```console $ kubedb describe mg -n demo mgo1 @@ -701,13 +715,13 @@ $ kubectl delete ns demo namespace "demo" deleted ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps - Learn about the details of MongoDB object [here](/docs/concepts/mongodb.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/tutorials/monitoring.md b/docs/guides/monitoring.md similarity index 91% rename from docs/tutorials/monitoring.md rename to docs/guides/monitoring.md index a950501bd..ae607abd1 100644 --- a/docs/tutorials/monitoring.md +++ b/docs/guides/monitoring.md @@ -1,16 +1,16 @@ --- title: Monitoring menu: - docs_0.8.0: - identifier: tutorials-monitoring + docs_0.8.0-beta.0: + identifier: guides-monitoring name: Monitoring - parent: tutorials - weight: 70 -menu_name: docs_0.8.0 -section_menu_id: tutorials + parent: guides + weight: 80 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Using Prometheus with KubeDB This tutorial will show you how to monitor KubeDB databases using Prometheus via [CoreOS Prometheus Operator](https://github.com/coreos/prometheus-operator). @@ -18,7 +18,7 @@ This tutorial will show you how to monitor KubeDB databases using Prometheus via ## Before You Begin At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [Minikube](https://github.com/kubernetes/minikube). -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. Run the following command to prepare your cluster for this tutorial: @@ -95,7 +95,7 @@ Here, - `spec.monitor` specifies that CoreOS Prometheus operator is used to monitor this database instance. A ServiceMonitor should be created in the `demo` namespace with label `app=kubedb`. The exporter endpoint should be scrapped every 10 seconds. -KubeDB operator watches for `Postgres` objects using Kubernetes api. When a `Postgres` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching tpr name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/tutorials/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching tpr name will be created and used as the service account name for the corresponding StatefulSet. +KubeDB operator watches for `Postgres` objects using Kubernetes api. When a `Postgres` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching tpr name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/guides/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching tpr name will be created and used as the service account name for the corresponding StatefulSet. ```console $ kubedb get pg -n demo @@ -197,12 +197,12 @@ To cleanup the Kubernetes resources created by this tutorial, run: $ kubectl delete ns demo ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps - Learn about the details of monitoring support [here](/docs/concepts/monitoring.md). -- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/tutorials/postgres/README.md). -- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/tutorials/elasticsearch/README.md). -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/guides/postgres/overview.md). +- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/guides/elasticsearch/overview.md). +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/mysql/_index.md b/docs/guides/mysql/_index.md new file mode 100644 index 000000000..73075a20a --- /dev/null +++ b/docs/guides/mysql/_index.md @@ -0,0 +1,10 @@ +--- +title: MySQL +menu: + docs_0.8.0-beta.0: + identifier: guides-mysql + name: MySQL + parent: guides + weight: 40 +menu_name: docs_0.8.0-beta.0 +--- diff --git a/docs/tutorials/mysql/README.md b/docs/guides/mysql/overview.md similarity index 96% rename from docs/tutorials/mysql/README.md rename to docs/guides/mysql/overview.md index 1e602fbaf..37b5ffe87 100644 --- a/docs/tutorials/mysql/README.md +++ b/docs/guides/mysql/overview.md @@ -1,5 +1,18 @@ - -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: MySQL +menu: + docs_0.8.0-beta.0: + identifier: guides-mysql-overview + name: Overview + parent: guides-mysql + weight: 10 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides +aliases: + - /docs/0.8.0-beta.0/guides/mysql/ +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # Running MySQL This tutorial will show you how to use KubeDB to run a MySQL database. @@ -7,7 +20,7 @@ This tutorial will show you how to use KubeDB to run a MySQL database. ## Before You Begin At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [Minikube](https://github.com/kubernetes/minikube). -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. This tutorial will also use a phpMyAdmin to connect and test MySQL database, once it is running. Run the following command to prepare your cluster for this tutorial: @@ -77,7 +90,7 @@ Here, - `spec.init.scriptSource` specifies a sql script source used to initialize the database after it is created. The sql scripts will be executed alphabatically. In this tutorial, a sample sql script from the git repository `https://github.com/kubedb/mysql-init-scripts.git` is used to create a `dashboard` table in _test_ database. -KubeDB operator watches for `MySQL` objects using Kubernetes api. When a `MySQL` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching MySQL object name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/tutorials/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching object name will be created and used as the service account name for the corresponding StatefulSet. +KubeDB operator watches for `MySQL` objects using Kubernetes api. When a `MySQL` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching MySQL object name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/guides/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching object name will be created and used as the service account name for the corresponding StatefulSet. ```console $ kubedb describe ms -n demo m1 @@ -664,13 +677,13 @@ $ kubectl delete ns demo namespace "demo" deleted ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps - Learn about the details of MySQL object [here](/docs/concepts/mysql.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/postgres/_index.md b/docs/guides/postgres/_index.md new file mode 100644 index 000000000..81068be74 --- /dev/null +++ b/docs/guides/postgres/_index.md @@ -0,0 +1,10 @@ +--- +title: Postgres +menu: + docs_0.8.0-beta.0: + identifier: guides-postgres + name: PostgreSQL + parent: guides + weight: 50 +menu_name: docs_0.8.0-beta.0 +--- \ No newline at end of file diff --git a/docs/tutorials/postgres/README.md b/docs/guides/postgres/overview.md similarity index 96% rename from docs/tutorials/postgres/README.md rename to docs/guides/postgres/overview.md index ac2504496..3c60ac373 100644 --- a/docs/tutorials/postgres/README.md +++ b/docs/guides/postgres/overview.md @@ -1,26 +1,25 @@ --- title: Postgres menu: - docs_0.8.0: - identifier: tutorials-postgres-readme + docs_0.8.0-beta.0: + identifier: guides-postgres-readme name: Overview - parent: tutorials-postgres + parent: guides-postgres weight: 10 -menu_name: docs_0.8.0 -section_menu_id: tutorials -url: /docs/0.8.0/tutorials/postgres/ +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides aliases: - - /docs/0.8.0/tutorials/postgres/README/ + - /docs/0.8.0-beta.0/guides/postgres/ --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Running PostgreSQL This tutorial will show you how to use KubeDB to run a PostgreSQL database. ## Before You Begin At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [Minikube](https://github.com/kubernetes/minikube). -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. This tutorial will also use a pgAdmin to connect and test PostgreSQL database, once it is running. Run the following command to prepare your cluster for this tutorial: @@ -86,7 +85,7 @@ Here, - `spec.storage` specifies the StorageClass of PVC dynamically allocated to store data for this database. This storage spec will be passed to the StatefulSet created by KubeDB operator to run database pods. You can specify any StorageClass available in your cluster with appropriate resource requests. If no storage spec is given, an `emptyDir` is used. - `spec.init.scriptSource` specifies scripts used to initialize the database after it is created. In this tutorial, `data.sql` script from the git repository `https://github.com/kubedb/postgres-init-scripts.git` is used to create a `dashboard` table in `data` schema. -KubeDB operator watches for `Postgres` objects using Kubernetes api. When a `Postgres` object is created, KubeDB operator will create a new StatefulSet and two ClusterIP Service with the matching name. KubeDB operator will also create a governing service for StatefulSet with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/tutorials/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching CRD object name will be created and used as the service account name for the corresponding StatefulSet. +KubeDB operator watches for `Postgres` objects using Kubernetes api. When a `Postgres` object is created, KubeDB operator will create a new StatefulSet and two ClusterIP Service with the matching name. KubeDB operator will also create a governing service for StatefulSet with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/guides/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching CRD object name will be created and used as the service account name for the corresponding StatefulSet. ```console $ kubedb describe pg -n demo p1 @@ -599,13 +598,13 @@ To cleanup the Kubernetes resources created by this tutorial, run: $ kubectl delete ns demo ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps - Learn about the details of Postgres object [here](/docs/concepts/postgres.md). - See the list of supported storage providers for snapshots [here](/docs/concepts/snapshot.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/tutorials/rbac.md b/docs/guides/rbac.md similarity index 95% rename from docs/tutorials/rbac.md rename to docs/guides/rbac.md index dc2c3b157..f50377ff8 100644 --- a/docs/tutorials/rbac.md +++ b/docs/guides/rbac.md @@ -1,16 +1,16 @@ --- title: RBAC menu: - docs_0.8.0: - identifier: tutorials-rbac + docs_0.8.0-beta.0: + identifier: guides-rbac name: RBAC - parent: tutorials - weight: 80 -menu_name: docs_0.8.0 -section_menu_id: tutorials + parent: guides + weight: 90 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Using RBAC with KubeDB This tutorial will show you how to use KubeDB in a [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/) enabled cluster. @@ -43,7 +43,7 @@ $ kubectl patch deployment kube-dns -n kube-system -p '{"spec":{"template":{"spe $ kubectl get pods -n kube-system --watch ``` -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). ``` $ kubedb init --rbac ``` @@ -283,11 +283,11 @@ To cleanup the Kubernetes resources created by this tutorial, run: $ kubectl delete ns demo ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps -- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/tutorials/postgres/README.md). -- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/tutorials/elasticsearch/README.md). -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Learn how to use KubeDB to run a PostgreSQL database [here](/docs/guides/postgres/overview.md). +- Learn how to use KubeDB to run an Elasticsearch database [here](/docs/guides/elasticsearch/overview.md). +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/redis/_index.md b/docs/guides/redis/_index.md new file mode 100644 index 000000000..5be225079 --- /dev/null +++ b/docs/guides/redis/_index.md @@ -0,0 +1,10 @@ +--- +title: Redis +menu: + docs_0.8.0-beta.0: + identifier: guides-redis + name: Redis + parent: guides + weight: 60 +menu_name: docs_0.8.0-beta.0 +--- diff --git a/docs/tutorials/redis/README.md b/docs/guides/redis/overview.md similarity index 92% rename from docs/tutorials/redis/README.md rename to docs/guides/redis/overview.md index 392bdc439..0ce46e0df 100644 --- a/docs/tutorials/redis/README.md +++ b/docs/guides/redis/overview.md @@ -1,4 +1,18 @@ -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +--- +title: Redis +menu: + docs_0.8.0-beta.0: + identifier: guides-redis-readme + name: Overview + parent: guides-redis + weight: 10 +menu_name: docs_0.8.0-beta.0 +section_menu_id: guides +aliases: + - /docs/0.8.0-beta.0/guides/redis/ +--- + +> New to KubeDB? Please start [here](/docs/guides/README.md). # Running Redis This tutorial will show you how to use KubeDB to run an Redis database. @@ -6,7 +20,7 @@ This tutorial will show you how to use KubeDB to run an Redis database. ## Before You Begin At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [Minikube](https://github.com/kubernetes/minikube). -Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/install.md). +Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/install.md). To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. Run the following command to prepare your cluster for this tutorial: @@ -55,7 +69,7 @@ Here, - `spec.storage` specifies the StorageClass of PVC dynamically allocated to store data for this database. This storage spec will be passed to the StatefulSet created by KubeDB operator to run database pods. You can specify any StorageClass available in your cluster with appropriate resource requests. If no storage spec is given, an `emptyDir` is used. -KubeDB operator watches for `Redis` objects using Kubernetes api. When a `Redis` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching Redis object name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/tutorials/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching object name will be created and used as the service account name for the corresponding StatefulSet. +KubeDB operator watches for `Redis` objects using Kubernetes api. When a `Redis` object is created, KubeDB operator will create a new StatefulSet and a ClusterIP Service with the matching Redis object name. KubeDB operator will also create a governing service for StatefulSets with the name `kubedb`, if one is not already present. If [RBAC is enabled](/docs/guides/rbac.md), a ClusterRole, ServiceAccount and ClusterRoleBinding with the matching object name will be created and used as the service account name for the corresponding StatefulSet. ```console $ kubedb describe rd r1 -n demo @@ -348,12 +362,12 @@ To cleanup the Kubernetes resources created by this tutorial, run: $ kubectl delete ns demo ``` -If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/uninstall.md). +If you would like to uninstall KubeDB operator, please follow the steps [here](/docs/setup/uninstall.md). ## Next Steps - Learn about the details of Redis object [here](/docs/concepts/redis.md). -- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/tutorials/monitoring.md). -- Learn how to use KubeDB in a [RBAC](/docs/tutorials/rbac.md) enabled cluster. -- Wondering what features are coming next? Please visit [here](/ROADMAP.md). -- Want to hack on KubeDB? Check our [contribution guidelines](/CONTRIBUTING.md). +- Thinking about monitoring your database? KubeDB works [out-of-the-box with Prometheus](/docs/guides/monitoring.md). +- Learn how to use KubeDB in a [RBAC](/docs/guides/rbac.md) enabled cluster. +- Wondering what features are coming next? Please visit [here](/docs/roadmap.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/reference/_index.md b/docs/reference/_index.md index a2467d63c..84d0bcbc8 100644 --- a/docs/reference/_index.md +++ b/docs/reference/_index.md @@ -2,9 +2,9 @@ title: Reference description: KubeDB CLI Reference menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: reference name: Reference weight: 1000 -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 --- diff --git a/docs/reference/kubedb.md b/docs/reference/kubedb.md index 530570e69..6b48637c7 100644 --- a/docs/reference/kubedb.md +++ b/docs/reference/kubedb.md @@ -1,16 +1,16 @@ --- title: Kubedb menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb name: Kubedb parent: reference weight: 0 -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference aliases: - - /docs/0.8.0/reference/ + - /docs/0.8.0-beta.0/reference/ --- ## kubedb diff --git a/docs/reference/kubedb_compare.md b/docs/reference/kubedb_compare.md index c3677577f..b3f114731 100644 --- a/docs/reference/kubedb_compare.md +++ b/docs/reference/kubedb_compare.md @@ -1,11 +1,11 @@ --- title: Kubedb Compare menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-compare name: Kubedb Compare parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb compare diff --git a/docs/reference/kubedb_create.md b/docs/reference/kubedb_create.md index 8616f4dfc..4ca531f52 100644 --- a/docs/reference/kubedb_create.md +++ b/docs/reference/kubedb_create.md @@ -1,11 +1,11 @@ --- title: Kubedb Create menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-create name: Kubedb Create parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb create diff --git a/docs/reference/kubedb_delete.md b/docs/reference/kubedb_delete.md index fd7e1286b..5b8238789 100644 --- a/docs/reference/kubedb_delete.md +++ b/docs/reference/kubedb_delete.md @@ -1,11 +1,11 @@ --- title: Kubedb Delete menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-delete name: Kubedb Delete parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb delete diff --git a/docs/reference/kubedb_describe.md b/docs/reference/kubedb_describe.md index 6f2784974..49fad8266 100644 --- a/docs/reference/kubedb_describe.md +++ b/docs/reference/kubedb_describe.md @@ -1,11 +1,11 @@ --- title: Kubedb Describe menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-describe name: Kubedb Describe parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb describe diff --git a/docs/reference/kubedb_edit.md b/docs/reference/kubedb_edit.md index a177c07fe..af8a81e54 100644 --- a/docs/reference/kubedb_edit.md +++ b/docs/reference/kubedb_edit.md @@ -1,11 +1,11 @@ --- title: Kubedb Edit menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-edit name: Kubedb Edit parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb edit diff --git a/docs/reference/kubedb_get.md b/docs/reference/kubedb_get.md index 68900a8e0..87f92335c 100644 --- a/docs/reference/kubedb_get.md +++ b/docs/reference/kubedb_get.md @@ -1,11 +1,11 @@ --- title: Kubedb Get menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-get name: Kubedb Get parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb get diff --git a/docs/reference/kubedb_init.md b/docs/reference/kubedb_init.md index 30f9227fb..0664a3165 100644 --- a/docs/reference/kubedb_init.md +++ b/docs/reference/kubedb_init.md @@ -1,11 +1,11 @@ --- title: Kubedb Init menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-init name: Kubedb Init parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb init @@ -27,7 +27,7 @@ kubedb init [flags] kubedb init # Upgrade operator to use another version. - kubedb init --version=0.8.0 --upgrade + kubedb init --version=0.8.0-beta.0 --upgrade ``` ### Options @@ -40,7 +40,7 @@ kubedb init [flags] --operator-namespace string Name of namespace where operator will be deployed. (default "kube-system") --rbac If true, uses RBAC with operator and database objects --upgrade If present, Upgrade operator to use provided version - --version string Operator version (default "0.8.0") + --version string Operator version (default "0.8.0-beta.0") ``` ### Options inherited from parent commands diff --git a/docs/reference/kubedb_summarize.md b/docs/reference/kubedb_summarize.md index 95d3fb46e..ede080c67 100644 --- a/docs/reference/kubedb_summarize.md +++ b/docs/reference/kubedb_summarize.md @@ -1,11 +1,11 @@ --- title: Kubedb Summarize menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-summarize name: Kubedb Summarize parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb summarize diff --git a/docs/reference/kubedb_version.md b/docs/reference/kubedb_version.md index 0e0e63ce2..a67ebec73 100644 --- a/docs/reference/kubedb_version.md +++ b/docs/reference/kubedb_version.md @@ -1,11 +1,11 @@ --- title: Kubedb Version menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: kubedb-version name: Kubedb Version parent: reference -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 section_menu_id: reference --- ## kubedb version diff --git a/ROADMAP.md b/docs/roadmap.md similarity index 60% rename from ROADMAP.md rename to docs/roadmap.md index 94f01cdf8..94ce841e6 100644 --- a/ROADMAP.md +++ b/docs/roadmap.md @@ -1,6 +1,23 @@ +--- +title: Roadmap | KubeDB +description: Roadmap of CLI +menu: + docs_0.8.0-beta.0: + identifier: roadmap-cli + name: Roadmap + parent: welcome + weight: 15 +menu_name: docs_0.8.0-beta.0 +section_menu_id: welcome +url: /docs/0.8.0-beta.0/welcome/roadmap/ +aliases: + - /docs/0.8.0-beta.0/roadmap/ +--- + # Project Status ## Versioning Policy There are 2 parts to versioning policy: + - Operator & cli version: KubeDB follows semver versioning policy. Until 1.0 release is done, there might be breaking changes between point releases of the operator. Please always check the release notes for upgrade instructions. - CRD version: `kubedb.com/v1alpha1` is considered in alpha. This means breaking changes to the YAML format might happen among different releases of the operator. diff --git a/docs/setup/README.md b/docs/setup/README.md new file mode 100644 index 000000000..2016ce992 --- /dev/null +++ b/docs/setup/README.md @@ -0,0 +1,25 @@ +--- +title: Table of Contents | Setup +description: Table of Contents | Setup +menu: + docs_0.8.0-beta.0: + identifier: setup-readme + name: Readme + parent: setup + weight: -1 +menu_name: docs_0.8.0-beta.0 +section_menu_id: setup +url: /docs/0.8.0-beta.0/setup/ +aliases: + - /docs/0.8.0-beta.0/setup/README/ +--- + +# Setup + +Setup contains instructions for installing the KubeDB to work with database objects. + +- [Install KubeDB](/docs/setup/install.md). Installation instructions for KubeDB. +- [Uninstall KubeDB](/docs/setup/uninstall.md). Instructions for uninstallating KubeDB. +- Developer Guide + - [Overview](/docs/setup/developer-guide/overview.md). Outlines everything you need to know from setting up your dev environment to how to build and test KubeDB. + - [Release process](/docs/setup/developer-guide/release.md). Steps for releasing a new version of KubeDB. diff --git a/docs/setup/_index.md b/docs/setup/_index.md new file mode 100644 index 000000000..9f67b2d3a --- /dev/null +++ b/docs/setup/_index.md @@ -0,0 +1,9 @@ +--- +title: Setup | KubeDB +menu: + docs_0.8.0-beta.0: + identifier: setup + name: Setup + weight: 30 +menu_name: docs_0.8.0-beta.0 +--- diff --git a/docs/developer-guide/_index.md b/docs/setup/developer-guide/_index.md similarity index 61% rename from docs/developer-guide/_index.md rename to docs/setup/developer-guide/_index.md index 90a58abc3..4077f7462 100644 --- a/docs/developer-guide/_index.md +++ b/docs/setup/developer-guide/_index.md @@ -1,9 +1,10 @@ --- title: Developer Guide menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: developer-guide name: Developer Guide + parent: setup weight: 40 -menu_name: docs_0.8.0 +menu_name: docs_0.8.0-beta.0 --- diff --git a/docs/developer-guide/README.md b/docs/setup/developer-guide/overview.md similarity index 80% rename from docs/developer-guide/README.md rename to docs/setup/developer-guide/overview.md index 9d3fc00fb..cd03d565c 100644 --- a/docs/developer-guide/README.md +++ b/docs/setup/developer-guide/overview.md @@ -1,72 +1,72 @@ --- title: Developer Guide menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: developer-guide-readme name: Overview parent: developer-guide weight: 10 -menu_name: docs_0.8.0 -section_menu_id: developer-guide -url: /docs/0.8.0/developer-guide/ +menu_name: docs_0.8.0-beta.0 +section_menu_id: setup aliases: - - /docs/0.8.0/developer-guide/README/ + - /docs/0.8.0-beta.0/setup/developer-guide/ --- -## Development Guide +# Development Guide This document is intended to be the canonical source of truth for things like supported toolchain versions for building KubeDB. If you find a requirement that this doc does not capture, please submit an issue on github. This document is intended to be relative to the branch in which it is found. It is guaranteed that requirements will change over time for the development branch, but release branches of KubeDB should not change. -### Build KubeDB +## Build KubeDB Some of the KubeDB development helper scripts rely on a fairly up-to-date GNU tools environment, so most recent Linux distros should work just fine out-of-the-box. -#### Setup GO +### Setup GO KubeDB is written in Google's GO programming language. Currently, KubeDB is developed and tested on **go 1.8.3**. If you haven't set up a GO development environment, please follow [these instructions](https://golang.org/doc/code.html) to install GO. -#### Code Organization +### Code Organization KubeDB codebase is across various repositories under github.com/kubedb organization. There are 5 categories of git repositories: -| Repository | Description | -|---------------------------------------|---------------------------------------------------------------------------------------------------------| -| https://github.com/kubedb/apimachinery | Contains api types, clientset and KubeDB framework interfaces. | -| https://github.com/kubedb/db | This repository contains operator for `db`, eg, https://github.com/kubedb/postgres | +| Repository | Description | +|----------------------------------------|----------------------------------------------------------------------------------------------------------| +| https://github.com/kubedb/apimachinery | Contains api types, clientset and KubeDB framework interfaces. | +| https://github.com/kubedb/xdb | This repository contains operator for `db`, eg, https://github.com/kubedb/postgres | | https://github.com/kubedb/db_exporter | This repository contains Prometheus exporter for `db`, eg, https://github.com/kubedb/postgres_exporter . | -| https://github.com/kubedb/operator | This repository contains the combined operator for all databases supported by KubeDB. | -| https://github.com/kubedb/cli | This repository contains CLI for KubeDB. | +| https://github.com/kubedb/operator | This repository contains the combined operator for all databases supported by KubeDB. | +| https://github.com/kubedb/cli | This repository contains CLI for KubeDB. | For each of these repositories, you can get source code and build code using the following steps: -#### Download Source +### Download Source ```console $ go get github.com/kubedb/operator $ cd $(go env GOPATH)/src/github.com/kubedb/operator ``` -#### Install Dev tools +### Install Dev tools To install various dev tools for KubeDB, run the following command: + ```console $ ./hack/builddeps.sh ``` -#### Build Binary +### Build Binary ```console $ ./hack/make.py ``` -#### Dependency management +### Dependency management For KubeDB original repositories, we use [Glide](https://github.com/Masterminds/glide) to manage dependencies. Dependencies are already checked in the `vendor` folder. If you want to update/add dependencies, run: ```console $ glide slow ``` -#### Build Docker images -For unified operator or db specific operators, we support building Docker images. To build and push your custom Docker image, follow the steps below. To release a new version of KubeDB, please follow the [release guide](/docs/developer-guide/release.md). +### Build Docker images +For unified operator or db specific operators, we support building Docker images. To build and push your custom Docker image, follow the steps below. To release a new version of KubeDB, please follow the [release guide](/docs/setup/developer-guide/release.md). ```console # Build Docker image @@ -83,8 +83,8 @@ $ docker tag kubedb/operator:default aerokite/operator:default $ docker push aerokite/operator:default ``` -#### Generate CLI Reference Docs +### Generate CLI Reference Docs ```console $ cd ~/go/src/github.com/kubedb/cli -$ ./hack/gendocs/make.sh +$ ./hack/gendocs/make.sh ``` diff --git a/docs/developer-guide/release.md b/docs/setup/developer-guide/release.md similarity index 97% rename from docs/developer-guide/release.md rename to docs/setup/developer-guide/release.md index 419fc7f79..9b584f203 100644 --- a/docs/developer-guide/release.md +++ b/docs/setup/developer-guide/release.md @@ -1,15 +1,17 @@ --- title: Release menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: developer-guide-release - name: Release + name: Release Process parent: developer-guide weight: 20 -menu_name: docs_0.8.0 -section_menu_id: developer-guide +menu_name: docs_0.8.0-beta.0 +section_menu_id: setup --- +# Release Process + ## apimachinery - Make sure `apimachinery` master builds and create a `release-*` branch. diff --git a/docs/install.md b/docs/setup/install.md similarity index 84% rename from docs/install.md rename to docs/setup/install.md index ff18aab45..45e83bdc6 100644 --- a/docs/install.md +++ b/docs/setup/install.md @@ -1,20 +1,16 @@ - --- -title: KubeDB Install +title: Install menu: - docs_0.8.0: + docs_0.8.0-beta.0: identifier: install-kubedb name: Install - parent: getting-started - weight: 20 -menu_name: docs_0.8.0 -section_menu_id: getting-started -url: /docs/0.8.0/getting-started/install/ -aliases: - - /docs/0.8.0/install/ + parent: setup + weight: 10 +menu_name: docs_0.8.0-beta.0 +section_menu_id: setup --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Installation Guide @@ -23,12 +19,12 @@ KubeDB provides a CLI to work with database objects. Download pre-built binaries ```console # Linux amd 64-bit -wget -O kubedb https://github.com/kubedb/cli/releases/download/0.8.0/kubedb-linux-amd64 \ +wget -O kubedb https://github.com/kubedb/cli/releases/download/0.8.0-beta.0/kubedb-linux-amd64 \ && chmod +x kubedb \ && sudo mv kubedb /usr/local/bin/ # Mac 64-bit -wget -O kubedb https://github.com/kubedb/cli/releases/download/0.8.0/kubedb-darwin-amd64 \ +wget -O kubedb https://github.com/kubedb/cli/releases/download/0.8.0-beta.0/kubedb-darwin-amd64 \ && chmod +x kubedb \ && sudo mv kubedb /usr/local/bin/ ``` @@ -61,7 +57,7 @@ Successfully created operator deployment. Successfully created operator service. ``` -This will create a `kubedb-operator` ClusterRole, ClusterRoleBinding and ServiceAccount to run `KubeDB` operator pods. With RBAC enabled, a separate set of ClusterRole, ClusterRoleBinding and ServiceAccount will be created for each KubeDB database. To learn more, please visit [here](/docs/tutorials/rbac.md). +This will create a `kubedb-operator` ClusterRole, ClusterRoleBinding and ServiceAccount to run `KubeDB` operator pods. With RBAC enabled, a separate set of ClusterRole, ClusterRoleBinding and ServiceAccount will be created for each KubeDB database. To learn more, please visit [here](/docs/guides/rbac.md). ## Verify installation To check if KubeDB operator pods have started, run the following command: @@ -76,7 +72,7 @@ Now, to confirm CRD groups have been registered by the operator, run the followi $ kubectl get crd -l app=kubedb ``` -Now, you are ready to [create your first database](/docs/tutorials/README.md) using KubeDB. +Now, you are ready to [create your first database](/docs/guides/README.md) using KubeDB. ## Upgrade KubeDB To upgrade KubeDB cli, just replace the old cli with the new version. @@ -84,7 +80,7 @@ To upgrade KubeDB cli, just replace the old cli with the new version. `kubedb init` command can be used to upgrade operator. Re-run the `kubedb init` command with `--upgrade` flag to upgrade operator. ```console -$ kubedb init --version='0.8.0' --upgrade +$ kubedb init --version='0.8.0-beta.0' --upgrade Successfully upgraded operator deployment. ``` diff --git a/docs/uninstall.md b/docs/setup/uninstall.md similarity index 86% rename from docs/uninstall.md rename to docs/setup/uninstall.md index 25801fd7b..0d4c80de2 100644 --- a/docs/uninstall.md +++ b/docs/setup/uninstall.md @@ -1,19 +1,16 @@ --- title: KubeDB Uninstall menu: - docs_0.7.2: + docs_0.8.0-beta.0: identifier: uninstall-kubedb name: Uninstall - parent: getting-started - weight: 30 -menu_name: docs_0.7.2 -section_menu_id: getting-started -url: /docs/0.7.2/getting-started/uninstall/ -aliases: - - /docs/0.7.2/uninstall/ + parent: setup + weight: 20 +menu_name: docs_0.8.0-beta.0 +section_menu_id: setup --- -> New to KubeDB? Please start [here](/docs/tutorials/README.md). +> New to KubeDB? Please start [here](/docs/guides/README.md). # Uninstall KubeDB Please follow the steps below to uninstall KubeDB: diff --git a/docs/support.md b/docs/support.md new file mode 100644 index 000000000..543177af1 --- /dev/null +++ b/docs/support.md @@ -0,0 +1,23 @@ +--- +title: Support | KubeDB +description: Support +menu: + docs_0.8.0-beta.0: + identifier: support-cli + name: Support + parent: welcome + weight: 10 +menu_name: docs_0.8.0-beta.0 +section_menu_id: welcome +url: /docs/0.8.0-beta.0/welcome/support/ +aliases: + - /docs/0.8.0-beta.0/support/ +--- + +# Support + +We use Slack for public discussions. To chit chat with us or the rest of the community, join us in the [Kubernetes Slack team](https://kubernetes.slack.com/messages/C8149MREV/) channel `#kubedb`. To sign up, use our [Slack inviter](http://slack.kubernetes.io/). + +To receive product annoucements, please join our [mailing list](https://groups.google.com/forum/#!forum/kubedb) or follow us on [Twitter](https://twitter.com/KubeDB). Our mailing list is also used to share design docs shared via Google docs. + +If you have found a bug with Stash or want to request for new features, please [file an issue](https://github.com/kubedb/project/issues/new). diff --git a/docs/tutorials/README.md b/docs/tutorials/README.md deleted file mode 100644 index c69dad9d2..000000000 --- a/docs/tutorials/README.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Tutorials | KubeDB -menu: - docs_0.8.0: - identifier: tutorials-overview - name: Overview - parent: tutorials - weight: 50 -menu_name: docs_0.8.0 -section_menu_id: tutorials -url: /docs/0.8.0/tutorials/ -aliases: - - /docs/0.8.0/tutorials/README/ ---- - -# Tutorials - -This section contains tutorials on how to use KubeDB. Please visit the links below to learn more: - - - [Running PostgreSQL](/docs/tutorials/postgres/README.md): This tutorial will show you how to use KubeDB to run a PostgreSQL database. - - - [Running Elasticsearch](/docs/tutorials/elasticsearch/README.md): This tutorial will show you how to use KubeDB to run an Elasticsearch database. - - - [Running MySQL](/docs/tutorials/mysql/README.md): This tutorial will show you how to use KubeDB to run a MySQL database. - - - [Running MongoDB](/docs/tutorials/mongodb/README.md): This tutorial will show you how to use KubeDB to run a MongoDB database. - - - [Running Redis](/docs/tutorials/redis/README.md): This tutorial will show you how to use KubeDB to run a Redis database. - - - [Running Memcached](/docs/tutorials/memcached/README.md): This tutorial will show you how to use KubeDB to run a Memcached database. - - - [Manage KubeDB objects using CLIs](/docs/tutorials/cli.md): KubeDB comes with its own cli. It is called `kubedb` cli. kubedb can be used to deploy KubeDB operator in a cluster and manage all KubeDB tprs. - - - [Using Prometheus with KubeDB](/docs/tutorials/monitoring.md): This tutorial will show you how to monitor KubeDB databases using Prometheus via [CoreOS Prometheus Operator](https://github.com/coreos/prometheus-operator). - - - [Using RBAC with KubeDB](/docs/tutorials/rbac.md): This tutorial will show you how to use KubeDB in a [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/) enabled cluster. diff --git a/docs/tutorials/_index.md b/docs/tutorials/_index.md deleted file mode 100644 index 0bdae9c0f..000000000 --- a/docs/tutorials/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Tutorials -menu: - docs_0.8.0: - identifier: tutorials - name: Tutorials - weight: 8 -menu_name: docs_0.8.0 ---- diff --git a/docs/tutorials/elasticsearch/_index.md b/docs/tutorials/elasticsearch/_index.md deleted file mode 100644 index f83adbc4e..000000000 --- a/docs/tutorials/elasticsearch/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Elasticsearch -menu: - docs_0.8.0: - identifier: tutorials-elasticsearch - name: Elasticsearch - parent: tutorials - weight: 10 -menu_name: docs_0.8.0 ---- diff --git a/docs/tutorials/postgres/_index.md b/docs/tutorials/postgres/_index.md deleted file mode 100644 index d046afa54..000000000 --- a/docs/tutorials/postgres/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Postgres -menu: - docs_0.8.0: - identifier: tutorials-postgres - name: Postgres - parent: tutorials - weight: 20 -menu_name: docs_0.8.0 ---- \ No newline at end of file