diff --git a/.ciagent/PROJECT.md b/.ciagent/PROJECT.md index b83bdac..07e9e3a 100644 --- a/.ciagent/PROJECT.md +++ b/.ciagent/PROJECT.md @@ -1,4 +1,4 @@ -# Project: Orchestration Engine +# Project: Orca ## Vision A minimalist, offline-first, CLI-first orchestration engine inspired by HashiCorp Nomad, prioritizing stability, security, and simplicity over feature richness. @@ -18,6 +18,8 @@ Build a lightweight system to manage and execute workloads across a set of nodes - No web UI as a primary requirement. - Must not implement K8s-level complexity. - Feature development must move slowly to ensure stability. +- Only CI system allowed: CoreCI (git.cloudinit.dev/coreci/coreci). +- Gitea remote: git.cloudinit.dev/coreci/orca. ## Out of Scope - Full-blown Kubernetes-compatible API. diff --git a/.ciagent/REQUIREMENTS.md b/.ciagent/REQUIREMENTS.md index b38cd47..f154ea7 100644 --- a/.ciagent/REQUIREMENTS.md +++ b/.ciagent/REQUIREMENTS.md @@ -1,6 +1,6 @@ -# Requirements: Orchestration Engine +# Requirements: Orca -## Milestone v1.0: Foundation +## Milestone v0.1: Foundation | ID | Requirement | Priority | Status | |----|-------------|----------|--------| | REQ-001 | Go 1.25+ Toolchain Support | High | Pending | @@ -9,3 +9,4 @@ | REQ-004 | Basic task deployment (single node) | Medium | Pending | | REQ-005 | Local state storage without external DB | Medium | Pending | | REQ-006 | Security-first audit logging | High | Pending | +| REQ-007 | CoreCI full release flow integration | High | Pending | diff --git a/.ciagent/ROADMAP.md b/.ciagent/ROADMAP.md index 44779fd..d0ad3af 100644 --- a/.ciagent/ROADMAP.md +++ b/.ciagent/ROADMAP.md @@ -1,9 +1,10 @@ -# Roadmap: Orchestration Engine +# Roadmap: Orca -## Milestone v1.0: Foundation (Initial) +## Milestone v0.1: Foundation - [ ] Phase 0: Project Initialization & Specification - [ ] Phase 1: Core CLI Skeleton & Command Parsing - [ ] Phase 2: Basic Node Management (Join/Leave) - [ ] Phase 3: Simple Task Execution Engine - [ ] Phase 4: Local State Persistence - [ ] Phase 5: Basic Health Checking +- [ ] Phase 6: CoreCI Full Release Flow diff --git a/.ciagent/config.json b/.ciagent/config.json index ae658b2..a1ca6d3 100644 --- a/.ciagent/config.json +++ b/.ciagent/config.json @@ -2,10 +2,10 @@ "version": 1, "projects": [ { - "slug": "orch-engine", - "name": "Orchestration Engine", - "description": "Offline/CLI-first orchestration engine inspired by HashiCorp Nomad, far simpler than Kubernetes", - "milestone": "v1.0", + "slug": "orca", + "name": "Orca", + "description": "Offline/CLI-first orchestration engine (Orca) — Nomad-inspired, far simpler than Kubernetes", + "milestone": "v0.1", "phase": 0, "milestone_type": "feature", "default_branch": "main", @@ -22,8 +22,8 @@ } } ], - "active_project": "orch-engine", - "active_projects": ["orch-engine"], + "active_project": "orca", + "active_projects": ["orca"], "autonomy": { "level": "full", "decision_confidence_threshold": 0.60, @@ -69,16 +69,33 @@ "session_isolation": "branch" }, "ci": { - "provider": "gitea", + "provider": "coreci", + "allowed_providers": ["coreci"], "gitea": { "url": "https://git.cloudinit.dev", "owner": "coreci", - "repo": "orch-engine", + "repo": "orca", "token_env": "GITEA_TOKEN" + }, + "coreci": { + "url": "https://git.cloudinit.dev/coreci/coreci", + "config_file": ".coreci.yml" + }, + "tools": { + "gitea_cli": "tea", + "allowed_commands": [ + "tea repos create", + "tea repos list", + "tea pr create", + "tea pr list", + "tea releases create", + "tea issues create" + ] } }, "repository": { "remote": "origin", + "url": "https://git.cloudinit.dev/coreci/orca.git", "main_branch": "main" }, "commands": { diff --git a/.coreci.yml b/.coreci.yml new file mode 100644 index 0000000..923058f --- /dev/null +++ b/.coreci.yml @@ -0,0 +1,46 @@ +version: "1" +name: orca-ci +description: Orca — offline/CLI-first orchestration engine. Full release flow via CoreCI. + +pipelines: + validate: + description: Validate Go toolchain and code formatting + steps: + - name: go-version + image: golang:1.25 + commands: + - go version + - gofmt -l . + - go vet ./... + + build: + description: Build the orca binary + steps: + - name: build + image: golang:1.25 + commands: + - go build -o bin/orca ./cmd/orca + + test: + description: Run all tests with race detection + steps: + - name: test + image: golang:1.25 + commands: + - go test -race -coverprofile=coverage.out ./... + + release: + description: Full release flow — build, package, and publish to Gitea + steps: + - name: build-artifact + image: golang:1.25 + commands: + - go build -ldflags="-s -w" -o bin/orca ./cmd/orca + - tar -czf orca-${CI_COMMIT_TAG}-linux-amd64.tar.gz -C bin orca + - name: gitea-release + image: golang:1.25 + commands: + - tea releases create ${CI_COMMIT_TAG} + --title "Orca ${CI_COMMIT_TAG}" + --note "Full release of Orca. See CHANGELOG for details." + --asset orca-${CI_COMMIT_TAG}-linux-amd64.tar.gz