About this project
Harness Open Source is an open-source development platform that bundles several DevOps capabilities into a single self-hostable service. According to its README, it provides source code hosting, automated CI/CD pipelines, hosted development environments called Gitspaces, and artifact registries.
Deployment is straightforward: a single docker run command starts the container, exposing port 3000 for the web UI and port 3022 for Git over SSH, mounting the Docker socket and a data volume. The README warns that the database and repositories live in that volume, so a bind mount or named volume should be used to avoid data loss when the container stops. A web interface is available at localhost:3000, and a Swagger specification is served at /swagger (raw YAML at /openapi.yaml), with registry endpoints documented separately at /registry/swagger/.
Harness Open Source is positioned as the successor to Drone. The README states that Drone focused solely on continuous integration, while Harness adds code hosting, developer environments and artifact registries, aiming for eventual full pipeline parity so users can migrate from Drone. A snapshot of Drone is preserved as a feature branch for continued development, while Harness development happens on the main branch.
For local development, the project requires Node, Go 1.20 or higher, protobuf v3.21.11, protoc-gen-go v1.28.1 and protoc-gen-go-grpc v1.2.0. Build steps involve installing and building the web UI with yarn, then building the binary with make. The server can be started with ./gitness server .local.env. Pipelines run inside Docker containers; the application negotiates the Docker API version automatically, and the README documents socket locations for Docker Desktop, Rancher Desktop, Colima and native Linux Docker, along with GITNESS_DOCKER_HOST and GITNESS_DOCKER_API_VERSION environment variables for custom setups.
A CLI is included for basic development and service operations, including login and personal access token generation, which can then be used as a Bearer token against the REST API. The README also mentions regenerating the UI's API client from Swagger and running registry conformance tests via make targets. The project is licensed under Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.