operator: kubedb.dev/operator/pkg/controller Index | Files

package controller

import "kubedb.dev/operator/pkg/controller"

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The KubeDB Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Package Files

config.go controller.go migration.go run.go

type Controller Uses

type Controller struct {
    amc.Config
    *amc.Controller
    // contains filtered or unexported fields
}

func New Uses

func New(
    clientConfig *rest.Config,
    client kubernetes.Interface,
    crdClient crd_cs.Interface,
    dbClient cs.Interface,
    stashClient scs.Interface,
    dynamicClient dynamic.Interface,
    appCatalogClient appcat_cs.Interface,
    promClient pcm.MonitoringV1Interface,
    opt amc.Config,
    topology *core_util.Topology,
) *Controller

func (*Controller) EnsureCustomResourceDefinitions Uses

func (c *Controller) EnsureCustomResourceDefinitions() error

EnsureCustomResourceDefinitions ensures CRD for MySQl, DormantDatabase and Snapshot

func (*Controller) Init Uses

func (c *Controller) Init() error

InitInformer initializes MongoDB, DormantDB amd Snapshot watcher

func (*Controller) MigrateObservedGeneration Uses

func (c *Controller) MigrateObservedGeneration() error

func (*Controller) Run Uses

func (c *Controller) Run(stopCh <-chan struct{})

Blocks caller. Intended to be called as a Go routine.

func (*Controller) StartAndRunControllers Uses

func (c *Controller) StartAndRunControllers(stopCh <-chan struct{})

StartAndRunControllers starts InformetFactory and runs queue.worker

type OperatorConfig Uses

type OperatorConfig struct {
    amc.Config

    ClientConfig     *rest.Config
    KubeClient       kubernetes.Interface
    CRDClient        crd_cs.Interface
    DBClient         cs.Interface
    StashClient      scs.Interface
    DynamicClient    dynamic.Interface
    AppCatalogClient appcat_cs.Interface
    PromClient       pcm.MonitoringV1Interface
}

func NewOperatorConfig Uses

func NewOperatorConfig(clientConfig *rest.Config) *OperatorConfig

func (*OperatorConfig) New Uses

func (c *OperatorConfig) New() (*Controller, error)

Package controller imports 36 packages (graph) and is imported by 4 packages. Updated 2020-06-10. Refresh now. Tools for package owners.