Class: Kuby::KubeDB::Plugin
- Inherits:
-
Plugin
- Object
- Plugin
- Kuby::KubeDB::Plugin
- Defined in:
- lib/kuby/kube-db/plugin.rb
Constant Summary collapse
- NAMESPACE =
'kube-system'.freeze
- REPO_NAME =
'appscode'.freeze
- REPO_URL =
'https://charts.appscode.com/stable/'.freeze
- OPERATOR_DEPLOYMENT_NAME =
'kubedb-operator'.freeze
- OPERATOR_RELEASE_NAME =
'kubedb-operator'.freeze
- CATALOG_RELEASE_NAME =
'kubedb-catalog'.freeze
- OPERATOR_CHART_NAME =
'appscode/kubedb'.freeze
- CATALOG_CHART_NAME =
'appscode/kubedb-catalog'.freeze
- WAIT_INTERVAL =
seconds
5
- WAIT_MAX =
seconds
120
- OPERATOR_PARAMS =
{ 'apiserver.enableValidatingWebhook' => 'true', 'apiserver.enableMutatingWebhook' => 'true' }
- REPLICA_SET_MATCH_LABELS =
{ 'release' => OPERATOR_RELEASE_NAME, 'app' => 'kubedb' }
Instance Method Summary collapse
Instance Method Details
#setup ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/kuby/kube-db/plugin.rb', line 37 def setup Kuby.logger.info('Setting up KubeDB') Kuby.logger.info('Fetching KubeDB Helm chart') helm_cli.add_repo(REPO_NAME, REPO_URL) helm_cli.update_repos Kuby.logger.info('Deploying KubeDB operator') operator_deployed? ? upgrade_operator : install_operator wait_for_operator do Kuby.logger.info('Waiting for KubeDB operator deployment') end wait_for_api_resources do Kuby.logger.info('Waiting for API resources to become available') end Kuby.logger.info('Deploying kubedb catalog') catalog_deployed? ? upgrade_catalog : install_catalog Kuby.logger.info('KubeDB setup finished') end |