{"id":49148753,"url":"https://github.com/berrybytes/01cloud-api","last_synced_at":"2026-04-22T05:05:03.545Z","repository":{"id":348707548,"uuid":"1198501534","full_name":"BerryBytes/01cloud-api","owner":"BerryBytes","description":"Backend API for 01Cloud, built to manage cloud resources, automation workflows, and integrations.","archived":false,"fork":false,"pushed_at":"2026-04-02T14:05:05.000Z","size":521,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T01:50:31.551Z","etag":null,"topics":["k8s","kubernetes","multi-tenancy"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BerryBytes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-01T13:37:33.000Z","updated_at":"2026-04-02T14:05:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/BerryBytes/01cloud-api","commit_stats":null,"previous_names":["berrybytes/01cloud-api"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/BerryBytes/01cloud-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01cloud-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01cloud-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01cloud-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01cloud-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BerryBytes","download_url":"https://codeload.github.com/BerryBytes/01cloud-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BerryBytes%2F01cloud-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32122005,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["k8s","kubernetes","multi-tenancy"],"created_at":"2026-04-22T05:04:58.170Z","updated_at":"2026-04-22T05:05:03.540Z","avatar_url":"https://github.com/BerryBytes.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e01cloud API\u003c/h1\u003e\n  \u003cp align=\"center\"\u003eBackend API for the 01cloud platform, focused on Kubernetes operations, application delivery, infrastructure automation, and multi-tenant platform management.\u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/01cloud/01cloud-api/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://golang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Go-1.22-00ADD8.svg?logo=go\" alt=\"Go Version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/01cloud/01cloud-api/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/01cloud/01cloud-api/ci.yaml?branch=main\u0026label=CI\" alt=\"CI Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/01cloud/01cloud-api\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/01cloud/01cloud-api\" alt=\"Go Report Card\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n\n`01cloud-api` is the core backend service for the [01cloud](https://01cloud.com) platform. It exposes REST APIs and background-processing integrations used to manage Kubernetes clusters, deploy workloads, connect registries and Git providers, orchestrate CI/CD workflows, and handle organization-level platform administration.\n\nThis repository is intended to be usable by open-source contributors. If you are exploring the codebase for the first time, start with the quickstart below, then review the contribution and security guides before opening a PR.\n\n## What This Project Does\n\n- Manages cluster and environment lifecycle operations\n- Supports application deployment workflows and Helm-based package delivery\n- Integrates with Git providers such as GitHub, GitLab, and Bitbucket\n- Provides organization, user, role, and access-management APIs\n- Connects to external services including PostgreSQL, Redis, RabbitMQ, SMTP, and gRPC services\n- Exposes Swagger/OpenAPI documentation for API exploration\n\n## Repository Layout\n\n```text\n01cloud-api/\n├── api/\n│   ├── controllers/      # HTTP handlers and route logic\n│   ├── models/           # Data models and persistence logic\n│   ├── middlewares/      # Auth and request middleware\n│   ├── mailer/           # Email delivery helpers\n│   ├── notifications/    # Notification service integration\n│   ├── registry/         # Container registry helpers\n│   ├── seed/             # Seed data utilities\n│   ├── utils/            # Shared helpers and provider integrations\n│   ├── websocket/        # WebSocket support\n│   └── server.go         # API server bootstrapping\n├── docs/                 # Swagger-generated API assets\n├── .github/              # CI workflows and contribution templates\n├── Dockerfile            # Multi-stage container build\n├── Makefile              # Common development tasks\n└── main.go               # Application entrypoint\n```\n\n## Prerequisites\n\n- Go 1.22 or newer\n- PostgreSQL 12 or newer\n- Redis for cache-backed features\n- RabbitMQ for queue-backed/background features\n- Docker if you prefer the containerized workflow\n\nSome features also expect external services such as SMTP and gRPC notification/backup services. For local development, you can often leave optional values unset until you work on those areas.\n\n## Quickstart\n\n```bash\ngit clone https://github.com/01cloud/01cloud-api.git\ncd 01cloud-api\ncp .env.sample .env\ngo mod download\ngo run main.go\n```\n\nThe API starts on `http://localhost:8081` by default.\n\n## Configuration\n\nConfiguration is driven by environment variables in `.env`.\n\nImportant variables include:\n\n| Variable | Description | Default |\n| --- | --- | --- |\n| `API_SECRET` | JWT signing secret | none |\n| `DB_HOST` | PostgreSQL host | `127.0.0.1` |\n| `DB_PORT` | PostgreSQL port | `5432` |\n| `DB_USER` | PostgreSQL username | `postgres` |\n| `DB_PASSWORD` | PostgreSQL password | none |\n| `DB_NAME` | PostgreSQL database name | `fullstack_api` |\n| `BASE_URL` | Public API base URL | `http://localhost:8081` |\n| `SMTP_HOST` | SMTP server hostname | none |\n| `GRPC_NOTIFICATION_SERVER` | Notification gRPC endpoint | `localhost:10080` |\n| `GRPC_BACKUP_SERVER` | Backup gRPC endpoint | `localhost:10080` |\n| `CACHE_TYPE` | Cache backend selection | none |\n| `REDIS_SERVER_URL` | Redis connection string | none |\n| `DEBUG` | Enables debug logging when `true` | `false` |\n\nSee [`.env.sample`](.env.sample) for the broader list used by the application and test suite.\n\n## Development Workflow\n\nUseful local commands:\n\n```bash\nmake run-dev             # start the API locally\nmake test-dev            # run tests with coverage output\nmake format              # gofmt all Go files\nmake lint                # run linting in Docker\nmake unit-test           # run unit tests in Docker\n```\n\nThe Makefile uses Docker for some CI-style checks and local Go tooling for others. If you are contributing from a fresh machine, install Go first and use Docker-backed targets when you want a closer match to CI.\n\n## API Documentation\n\nSwagger assets live in [`docs/`](docs). With the server running locally, the interactive docs are available at:\n\n```text\nhttp://localhost:8081/swagger/index.html\n```\n\nTo regenerate Swagger files:\n\n```bash\nswag init\n```\n\n## Testing\n\n```bash\ngo test ./...\nmake test-dev\nmake unit-test\nmake unit-test-coverage\n```\n\nIf your change affects API behavior, request handling, or integrations, add or update tests where practical.\n\n## Open Source Contribution\n\n- Read the [contribution guide](CONTRIBUTING.md) before opening a PR\n- Review the [code of conduct](CODE_OF_CONDUCT.md) for community expectations\n- Use the [security policy](SECURITY.md) for responsible vulnerability reporting\n- Use the [support guide](SUPPORT.md) for questions and help requests\n\n## License\n\nThis project is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberrybytes%2F01cloud-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberrybytes%2F01cloud-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberrybytes%2F01cloud-api/lists"}