# tiflow-operator **Repository Path**: mirrors_pingcap/tiflow-operator ## Basic Information - **Project Name**: tiflow-operator - **Description**: TiFlow-Operator creates and manages TiFlow clusters running in Kubernetes. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-22 - **Last Updated**: 2025-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TiFlow-Operator TiFlow-Operator manages tiflow clusters on Kubernetes and automates tasks related to operating a tiflow cluster. It makes tiflow a truly cloud-native data migration platform. ## Description // TODO(user): An in-depth paragraph about your project and overview of use ## Env - go version is 1.18.4 - kubernetes version is 1.24.0 - docker version is 20.10.17, docker desktop is 4.10.1 - kubebuilder version is 3.5.0 - kustomize version is 4.5.5 ## Getting Started You’ll need a Kubernetes cluster to run against. You can use [KIND](https://sigs.k8s.io/kind) to get a local cluster for testing, or run against a remote cluster. **Note:** Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster `kubectl cluster-info` shows). ### Running on the cluster 1. Install Instances of Custom Resources: ```sh kubectl apply -f examples/ ``` 2. Build and push your image to the location specified by `IMG`: ```sh make docker-build docker-push IMG=/tiflow-operator:tag ``` 3. Deploy the controller to the cluster with the image specified by `IMG`: ```sh make deploy IMG=/tiflow-operator:tag ``` ### Uninstall CRDs To delete the CRDs from the cluster: ```sh make uninstall ``` ### Undeploy controller UnDeploy the controller to the cluster: ```sh make undeploy ``` ## Contributing // TODO(user): Add detailed information on how you would like others to contribute to this project ### How it works This project aims to follow the Kubernetes [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) It uses [Controllers](https://kubernetes.io/docs/concepts/architecture/controller/) which provides a reconcile function responsible for synchronizing resources until the desired state is reached on the cluster ### Test It Out 1. Install the CRDs into the cluster: ```sh make install ``` 2. Deploy your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running): ```sh make run ``` **NOTE:** You can also run this in one step by running: `make install run` ### Modifying the API definitions If you are editing the API definitions, generate the manifests such as CRs or CRDs using: ```sh make manifests ``` **NOTE:** Run `make --help` for more information on all potential `make` targets More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html) ## License **TiFlow-Operator** is under the Apache 2.0 license. See the [LICENSE](./LICENSE) file for details.