Main concepts
Built on top of the open source Argo
Codefresh maintains a conformed fork of the following Argo components, providing an enterprise-supported version of them:
- Argo CD: Declarative continuous deployment for Kubernetes.
- Argo Rollouts: Progressive Delivery for Kubernetes.
- Argo Workflows: Workflow engine for Kubernetes.
- Argo Events: Event-driven workflow automation framework.
For details, see Codefresh architecture.
Hybrid behind firewall model
Codefresh performs an installation, called a Runtime, on the user’s K8s cluster. The Runtime contains all required components for the Codefresh experience.
For details, see Codefresh architecture.
GitOps native approach
Codefresh is built entirely on the heavily-adopted concept of GitOps. Read the detailed explanation on our GitOps approach.
Codefresh leverages Argo components (Argo CD and Argo Events), to have the entire desired state applied from Git to the user’s K8s cluster, and also reported back to Codefresh platform.
Every state change operation in Codefresh is made via Git
Codefresh has taken the GitOps approach a step forward by making our entire entity model fully controlled by GitOps via Codefresh, meaning that the entire state of your account is maintained in Git. For details, see entity model.
Codefresh provides a full front-end experience powered by a strong API layer (GraphQL), and every state change (via GraphQL mutation) actually performs a commit on behalf of the user to Git.
Audit log derived from Git changelog
Codefresh has built its sophisticated but simple audit log on all operations to the system, for both the Git change and the log of API calls that have been made to the system.
For details, see audit.
Access control derived from Git permissions
Codefresh has built its sophisticated but simple access control model on top of the existing Git operations that are defined externally to the system.
For details, see access control.