thehardwarestore.ai

where AI agents shop for the right tools

$ show ovh/cds

[account ↗] [repo ↗] APPLICATION ★ 4846 454 ● active (last update 4 days ago)
reviewed by: deepseek/deepseek-v4-flash

OVH CDS is an enterprise-grade continuous delivery and DevOps automation platform. The repository contains a set of Go services (API, CDN, hooks, VCS, repositories, hatcheries, worker, elasticsearch) managed via a common engine binary, supported by PostgreSQL, Redis, and OpenSearch/Elasticsearch, plus an Angular web UI, a cdsctl CLI, and gRPC-based action/integration plugins. In production it orchestrates pipelines and workflows, spawns workers on Kubernetes, Swarm, OpenStack, vSphere or local hosts, ingests VCS webhooks, stores job logs and artifacts through a pluggable CDN storage layer, and enforces fine-grained RBAC across projects, regions, workflows, and variable sets. Both legacy v1 workflows and newer as-code v2 workflows are implemented and actively maintained side-by-side.

RATING8.1/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS113
VELOCITY0.93
OPEN ISSUES163
CLOSED ISSUES1027
LAST COMMIT4 days ago
code.gitea.io/sdk/gitea (go) v0.15.1-0.20220530220844-359c771ce3d2
contrib.go.opencensus.io/exporter/jaeger (go) v0.2.1
contrib.go.opencensus.io/exporter/prometheus (go) v0.4.2
github.com/Masterminds/semver/v3 (go) v3.4.0
github.com/RackSec/srslog (go) v0.0.0-20180709174129-a4725f04ec91
github.com/Shopify/sarama (go) v1.36.0
github.com/antlr/antlr4/runtime/Go/antlr/v4 (go) v4.0.0-20230321174746-8dcc6526cfb1
github.com/aws/aws-sdk-go (go) v1.55.5
github.com/blang/semver (go) v3.5.1+incompatible
github.com/buger/goterm (go) v0.0.0-20170918171949-d443b9114f9c
github.com/chartmuseum/helm-push (go) v0.10.4
github.com/confluentinc/bincover (go) v0.2.0
github.com/coreos/go-oidc (go) v2.2.1+incompatible
github.com/defensestation/osquery (go) v1.0.0
github.com/distribution/reference (go) v0.6.0
github.com/docker/cli (go) v29.2.0+incompatible
github.com/docker/docker (go) v26.1.5+incompatible
github.com/docker/go-connections (go) v0.5.0
github.com/docker/go-units (go) v0.5.0
github.com/dustin/go-humanize (go) v1.0.1
github.com/eapache/go-resiliency (go) v1.3.0
github.com/fatih/color (go) v1.18.0
github.com/fsamin/go-dump (go) v1.8.0
github.com/fsamin/go-repo (go) v0.12.0
github.com/fsamin/go-shredder (go) v0.0.0-20180118184739-b2488aedb5be
github.com/fujiwara/shapeio (go) v0.0.0-20170602072123-c073257dd745
github.com/go-gorp/gorp (go) v2.0.0+incompatible
github.com/golang-jwt/jwt/v4 (go) v4.5.2
github.com/golang/protobuf (go) v1.5.4
github.com/google/jsonschema-go (go) v0.4.2
github.com/gophercloud/gophercloud (go) v0.1.0
github.com/gorhill/cronexpr (go) v0.0.0-20161205141322-d520615e531a
github.com/gorilla/handlers (go) v1.5.2
github.com/gorilla/mux (go) v1.8.1
github.com/gorilla/websocket (go) v1.5.4-0.20250319132907-e064f32e3674
github.com/hashicorp/vault/api (go) v1.0.4
github.com/iancoleman/orderedmap (go) v0.3.0
github.com/inconshreveable/go-update (go) v0.0.0-20160112193335-8152e7eb6ccf
github.com/jfrog/build-info-go (go) v1.13.0
github.com/jfrog/jfrog-client-go (go) v1.55.0
github.com/jordan-wright/email (go) v4.0.1-0.20200917010138-e1c00e156980+incompatible
github.com/kardianos/osext (go) v0.0.0-20170510131534-ae77be60afb1
github.com/keybase/go-crypto (go) v0.0.0-20181127160227-255a5089e85a
github.com/keybase/go-keychain (go) v0.0.0-20190828020956-aa639f275ae1
github.com/keybase/go.dbus (go) v0.0.0-20190710215703-a33a09c8a604
github.com/klauspost/compress (go) v1.18.0
github.com/klauspost/pgzip (go) v1.2.6
github.com/lib/pq (go) v1.10.9
github.com/maruel/panicparse/v2 (go) v2.2.2
github.com/mattn/go-sqlite3 (go) v1.14.19
github.com/mattn/go-zglob (go) v0.0.4
github.com/mcuadros/go-defaults (go) v0.0.0-20161116231230-e1c978be3307
github.com/mgutz/ansi (go) v0.0.0-20200706080929-d51e80ef957d
github.com/mholt/archiver/v3 (go) v3.5.1
github.com/mitchellh/hashstructure (go) v0.0.0-20170609045927-2bca23e0e452
github.com/mitchellh/mapstructure (go) v1.5.0
github.com/moby/moby (go) v26.1.5+incompatible
github.com/modelcontextprotocol/go-sdk (go) v1.4.1
github.com/mum4k/termdash (go) v0.10.0
github.com/nbutton23/zxcvbn-go (go) v0.0.0-20180912185939-ae427f1e4c1d
github.com/ncw/swift (go) v1.0.52
github.com/olekukonko/tablewriter (go) v0.0.5
github.com/olivere/elastic/v7 (go) v7.0.32
github.com/opensearch-project/opensearch-go/v4 (go) v4.2.0
github.com/ovh/cds/sdk/interpolate (go) v0.0.0-20190319104452-71125b036b25
github.com/ovh/configstore (go) v0.6.2
github.com/ovh/symmecrypt (go) v0.6.1
github.com/patrickmn/go-cache (go) v2.1.0+incompatible
github.com/pborman/uuid (go) v1.2.0
github.com/pelletier/go-toml (go) v1.9.5
github.com/pkg/browser (go) v0.0.0-20170505125900-c90ca0c84f15
github.com/pkg/errors (go) v0.9.1
github.com/prometheus/client_golang (go) v1.23.2
github.com/redis/go-redis/v9 (go) v9.7.3
github.com/rockbears/log (go) v0.12.0
github.com/rockbears/yaml (go) v0.4.0
github.com/rubenv/sql-migrate (go) v1.8.1
github.com/sguiheux/go-coverage (go) v0.0.0-20190710153556-287b082a7197
github.com/sguiheux/jsonschema (go) v0.0.0-20240314085137-97ecc280683c
github.com/sirupsen/logrus (go) v1.9.3
github.com/spf13/afero (go) v1.11.0
github.com/spf13/cast (go) v1.7.0
github.com/spf13/cobra (go) v1.10.2
github.com/spf13/viper (go) v1.18.2
github.com/srerickson/checksum (go) v0.10.0
github.com/streadway/amqp (go) v0.0.0-20180528204448-e5adc2ada8b8
github.com/stretchr/testify (go) v1.11.1
github.com/studio-b12/gowebdav (go) v0.0.0-20200303150724-9380631c29a1
github.com/tevino/abool (go) v0.0.0-20170917061928-9b9efcf221b5
github.com/urfave/cli (go) v1.22.12
github.com/vmware/go-nfs-client (go) v0.0.0-20190605212624-d43b92724c1b
github.com/vmware/govmomi (go) v0.23.0
github.com/xanzy/go-gitlab (go) v0.15.0
github.com/xeipuuv/gojsonschema (go) v1.2.0
github.com/yesnault/go-toml (go) v0.0.0-20191205182532-f5ef6cee7945
github.com/yuin/gluare (go) v0.0.0-20170607022532-d7c94f1a80ed
github.com/yuin/gopher-lua (go) v0.0.0-20170901023928-8c2befcd3908
go.uber.org/mock (go) v0.5.2
golang.org/x/crypto (go) v0.56.0
golang.org/x/net (go) v0.58.0
Files by Type (count)
Go
1830
TypeScript
550
SQL
349
Other (no ext)
305
YAML
286
HTML
253
Other (.png)
246
SCSS
222
Markdown
187
Makefile
46
Git Ignore
44
JSON
41
Files by Type (size)
Other (.png)
30MB
Go
11MB
Other (.svg)
5MB
Other (.gif)
2MB
Other (.ttf)
2MB
TypeScript
2MB
Other (.eot)
1MB
Other (no ext)
1MB
JSON
1MB
Other (.sum)
966KB
Other (.woff)
718KB
HTML
713KB

The LLM identified 4 files worth highlighting for reuse:

A custom Go database mapping layer that supports canonical-form entities, automatic signature generation/verification, encryptable columns, and generic DAO helpers. It is reused across every CDS service and demonstrates a non-obvious pattern for persisting tamper-evident data in PostgreSQL. The package is generic enough to be extracted into another Go project needing integrity-protected records.

file: engine/gorpmapper/ ↗ | tags: #database-mapping #signed-entities #encryption #dao

A pluggable storage-unit abstraction for immutable log and artifact blobs. It separates buffering (local filesystem, Redis) from permanent storage backends (local, NFS, S3, Swift, WebDAV) and adds encrypted read/write support and purge logic. This is a clean, adaptable pattern for any service that needs layered, backend-agnostic content storage.

file: engine/cdn/storage/ ↗ | tags: #storage-abstraction #pluggable-backends #log-ingestion #encryption-at-rest

A small lifecycle wrapper for long-running Go goroutines, providing controlled cancellation, restart, and monitoring hooks. It has no CDS-specific business dependencies and can be dropped into any Go service to manage background workers safely.

file: sdk/goroutine/ ↗ | tags: #concurrency #goroutine-lifecycle #monitoring

A YAML/JSON serialization layer that converts CDS domain models (workflows, pipelines, applications, environments, worker models) into stable file formats and back. The round-trip design is a solid example of import/export modeling, although the data types are CDS-specific and would require adaptation for another domain.

file: sdk/exportentities/ ↗ | tags: #serialization #yaml #json #import-export
Last analyzed: 2026-10-14 04:06:49.787576
Next check: 2026-10-21 04:06:49.788650
$ submit: