DEV Community

Alex Spinov
Alex Spinov

Posted on

Codefresh Has a Free API: GitOps CI/CD Built for Kubernetes from Day One

What is Codefresh?

Codefresh is a Kubernetes-native CI/CD platform built by the creators of Argo (ArgoCD, Argo Workflows, Argo Rollouts, Argo Events). It combines the power of the Argo ecosystem with an enterprise-grade platform for GitOps deployments.

Why Codefresh?

  • Free tier — 3 builds/month for open source, free GitOps runtime
  • Argo-native — ArgoCD, Argo Workflows, Argo Rollouts all integrated
  • Kubernetes-first — every build runs in a K8s pod
  • Built-in Docker registry — free private registry included
  • GitOps dashboard — unified view of all deployments across clusters

Quick Start

# Install Codefresh CLI
npm install -g codefresh

# Authenticate
codefresh auth create-context --api-key YOUR_API_KEY

# Install GitOps runtime
codefresh install gitops-runtime \
  --repo https://github.com/your-org/gitops-config \
  --git-token YOUR_GITHUB_TOKEN
Enter fullscreen mode Exit fullscreen mode

CI Pipeline (codefresh.yml)

version: "1.0"
stages:
  - build
  - test
  - deploy

steps:
  clone:
    type: git-clone
    repo: your-org/your-app
    revision: ${{CF_BRANCH}}
    stage: build

  test:
    image: node:20
    stage: test
    commands:
      - npm ci
      - npm test
      - npm run lint

  build_image:
    type: build
    stage: build
    image_name: your-org/your-app
    tag: ${{CF_SHORT_REVISION}}
    dockerfile: Dockerfile

  deploy:
    type: gitops
    stage: deploy
    arguments:
      app_name: your-app
      revision: ${{CF_SHORT_REVISION}}
Enter fullscreen mode Exit fullscreen mode

GitOps Application

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-webapp
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/your-org/gitops-config
    path: apps/my-webapp
    targetRevision: main
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
Enter fullscreen mode Exit fullscreen mode

Progressive Delivery with Argo Rollouts

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: my-webapp
spec:
  replicas: 10
  strategy:
    canary:
      steps:
        - setWeight: 10
        - pause: {duration: 5m}
        - setWeight: 30
        - pause: {duration: 5m}
        - setWeight: 60
        - pause: {duration: 5m}
      canaryMetadata:
        labels:
          role: canary
      analysis:
        templates:
          - templateName: success-rate
        startingStep: 2
        args:
          - name: service-name
            value: my-webapp
Enter fullscreen mode Exit fullscreen mode

Codefresh vs Alternatives

Feature Codefresh GitHub Actions Jenkins GitLab CI
K8s-native Yes No No Runners
GitOps ArgoCD built-in Manual Plugin Agent
Progressive delivery Argo Rollouts Manual Plugin Manual
Docker registry Included free GHCR None Included
Helm dashboard Yes No No No

Real-World Impact

A media company with 30 microservices managed deployments through a mix of Jenkins, custom scripts, and manual kubectl. Migration to Codefresh: unified GitOps dashboard, automatic canary rollouts with Argo Rollouts, deployment frequency went from weekly to 20x daily, and rollback time dropped from 45 minutes to 30 seconds.


Implementing GitOps for your team? I help organizations adopt Kubernetes-native CI/CD. Contact spinov001@gmail.com or check my data tools on Apify.

Top comments (0)