GitOps Domain Snapshot Orchestrator for Switcher API
Switcher GitOps is used to orchestrate Domain Snapshots for Switcher API. It allows managing feature flags and configurations lifecycle.
- Manages Switchers with GitOps workflow (repository as a source of truth)
- Repository synchronization allows integrated tools such as Switcher API Management and Switcher Slack App to work in sync
- Flexible settings allow you to define the best workflow for your organization
- Orchestrates accounts per Domain environments allowing seamless integration with any branching strategy
Switcher GitOps is available as a cloud-hosted service. You can sign up for a free account at Switcher API Cloud.
- Create and Configure a new Domain
- Select the Domain and click on the Menu toolbar
- Under Integrations, select Switcher GitOps
- Follow the instructions to set up the repository
- Kubernetes cluster
- Helm 3
- Switcher API & Switcher Management
- Git Token (read/write access) for the repository
Find detailed instructions on how to deploy Switcher GitOps to Kubernetes here.
- Docker & docker-compose
- Switcher API & Switcher Management
- Git Token (read/write access) for the repository
-
Configure Switcher API to allow Switcher GitOps to access the API
Set SWITCHER_GITOPS_JWT_SECRET for Switcher API and SWITCHER_API_JWT_SECRET for Switcher GitOps. -
Start Switcher API and Switcher Management
-
Start Switcher GitOps
docker-compose -d up
You might need to remove mongodb setting from docker-compose.yml if launching the full Switcher API stack from step 2.
- Go [check version in go.mod]
- MongoDB +7.0
- Clone the repository
- Configure the environment variables in the
.env.testfile make run-testto start the application
Set up PAT (Personal Access Token) for Switcher GitOps to access the repository. You can either create a fine-grained token with only the necessary permissions such as Content (Read and Write) and Metadata (Read) or use a personal token with full access.
Once you have the token, you can set it up in the .env.test environment file by including the following:
GIT_USER=[YOUR_GIT_USER]
GIT_TOKEN=[YOUR_GIT_TOKEN]
GIT_TOKEN_READ_ONLY=[YOUR_GIT_TOKEN_READ_ONLY]
GIT_REPO_URL=[YOUR_GIT_REPO_URL]
GIT_BRANCH=[YOUR_GIT_BRANCH]
GIT_PATH=[YOUR_GIT_PATH]This project's core foundation was built and maintained by a human from day one. However, we have leveraged AI tools to assist in various aspects of the development process, such as troubleshooting, code optimization, and documentation. We have thoroughly reviewed and tested all AI-generated contributions to ensure they meet our quality standards and align with our project's goals. We are committed to transparency about our use of AI and will continue to disclose any significant AI contributions in the future.
External contributions from the community are equally valued and will be reviewed with the same standards, regardless of whether they were assisted by AI or not. We encourage all contributors to disclose their use of AI tools in their contributions to maintain transparency and foster trust within our community.
