charlescd

module
v0.0.0-...-3794c23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2023 License: Apache-2.0

README

Documentation Status codecov License

CharlesCD logo

Table of contents

1. About

2. Getting Started

2.1. Requirements
2.2. Installation
2.3. Usage

3. Documentation

4. Contributing

4.1. Developer Certificate of Origin - DCO

5. Code of Conduct

6. License

7. Community

8. Security




About

CharlesCD is an open source project that deploys quickly, continuously, and securely. It allows development teams to simultaneously perform hypothesis validations with specific groups of users.

It is possible to segment your customers through specific characteristics (circles) and, at the same time, submit several versions of the same application for testing with users of the circles.

Currently, CharlesCD works with these modules:

How was the project created?

The project's concept refers to the theory proposed by biologist Charles Darwin (1809-1882), that evolution occurs through adaptation to a new environment. In the development's case, this logic happens through constant improvements in applications, for example, when you build and test hypotheses to deploy more effective releases.

CharlesCD offers a solution to the community: we want to enhance the deployment and hypotheses testing work, because it will allow you to identify problems faster and execute possible solutions to solve them.

For this reason, we consider CharlesCD a Darwinism's application within the development and programming universe.

What does Charles do?

  • Simple segmentation of users based on their profile or even demographic data;
  • Creation of deployment strategies in an easier and more sophisticated way using circles;
  • Easy version management in case of multiple releases in parallel in the production environment;
  • Monitoring the impacts of each version using metrics defined during the creation of the deployment.

Getting Started

Requirements

To install Charles your environment needs the following requisites:

  • Kubernetes
  • Helm
  • Istio (version>= 1.7 and enabled sidecar injection on the deploy namespace of your application).
  • Prometheus, in case you want to use metrics.

Installation

CharlesCD's installation considers these components:

  1. Charles' architecture specific modules;
  2. Keycloak, used for the project's authentication and authorization. However, if you already have an Identity Manager (IDM) and you want to use it, you have just to configure it during Charles' installation;

Usage

For more details, check out the documentation.

Documentation

You can find Charles's documentation on our website.

Contributing

Help us to evolve CharlesCD

Check out our contributing guide to learn about our development process, how to propose bug fixes and improvements, build and test your changes to Charles.

Developer Certificate of Origin - DCO

This is a security layer for the project and for the developers. It is mandatory.

Follow one of these two methods to add DCO to your commits:

1. Command line Follow the steps: Step 1: Configure your local git environment adding the same name and e-mail configured at your GitHub account. It helps to sign commits manually during reviews and suggestions.

git config --global user.name “Name”
git config --global user.email “email@domain.com.br”

Step 2: Add the Signed-off-by line with the '-s' flag in the git commit command:

$ git commit -s -m "This is my commit message"

2. GitHub website You can also manually sign your commits during GitHub reviews and suggestions, follow the steps below:

Step 1: When the commit changes box opens, manually type or paste your signature in the comment box, see the example:

Signed-off-by: Name < e-mail address >

For this method, your name and e-mail must be the same registered on your GitHub account.

Code of Conduct

Please follow the Code of Conduct in all your interactions with our project.

License

Apache License 2.0.

Community

Do you have any question or suggestion about Charles? Let's chat in our forum.

Keep evolving.

Security

Check out our security policies.

Directories

Path Synopsis
butler module
cmd
compass module
internal
moove module
pkg
api/v1alpha1
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=charlescd.io
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=charlescd.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL