docs: Add Gitea Organization Management document outlining structure, permissions, and team guidelines

This commit is contained in:
Le Hoang Nam 2025-09-12 17:32:27 +07:00
parent b432ce83f3
commit 4a5a2ecc50

View File

@ -0,0 +1,145 @@
---
id: 03-gitea-organization
title: Gitea Organization
---
# Gitea Organization Management
This document outlines the organizational structure, permissions, and management practices for our Gitea instance. It defines how teams are organized, what permissions they have, and how organizational resources are managed.
## Organization Overview
Our Gitea instance serves as the central repository management platform for all development projects. Organizations are structured around **projects** rather than functional teams, providing clear project boundaries and focused development workflows.
### Key Benefits
- **Project Isolation** → Each project has its own organization with dedicated repositories
- **Technology Separation** → Clear boundaries between different technology stacks
- **Access Control** → Project-specific permissions and team assignments
- **Resource Management** → Organized repositories, teams, and settings per project
- **Scalability** → Easy to add new projects and development initiatives
---Continuous Integration/Continuous Deployment
## Organization Structure
Our Gitea instance is organized around **project-based organizations** rather than functional teams. Each organization represents a specific project or development initiative, allowing for clear project isolation and focused development workflows.
### 🎮 **Main Development Projects**
Main Development Projects are end-user facing products or core game systems. These include all primary game titles, lobbies, and shared frameworks that are directly part of production or delivery.
- Full Name Pattern: `Project <Engine/Platform> <ProjectName>`
- Name Pattern: `<Engine/Platform>-<ProjectName>`
**Examples:**
- `Project Unity Joker` → Project Game for Joker using Unity Engine
- `Project Cocos Core` → Project Core using Cocos Creator Engine
- `Project Cocos Joker` → Project Game for Joker using Cocos Creator Engine
- `Project Cocos Lobby` → Project Lobby using Cocos Creator Engine
### 🛠 **Support Organizations**
Support Organizations are internal or auxiliary projects that provide tools, resources, infrastructure, or research to assist developers. They are not directly delivered to end-users but are essential for efficient development.
- Full Name Pattern: `Project <Purpose>`
- Name Pattern: `dev-<Purpose>`
**Examples:**
- `Project Developer Probation` → Project for Developer probation
- `Project Development Tools` → Project for Development tool
- `Project Research Development` → Project for Research development
---
## Permission Levels
### **👑 Owners Team**
Holds the highest level of authority within an organization.
- Create, modify, and delete any resource within the organization
- Manage organization-wide settings, policies, and access controls
- Add or remove teams and members
- Configure organization-wide permissions
- Approve major changes and policy updates
- Full access to all repositories and resources
### **👥 Leaders Team**
Responsible for managing project execution within their organization.
- Create repositories within the organizations scope
- Manage team member permissions and assignments
- Configure repository settings and branch protection rules
- Review and approve pull requests
- Oversee project workflows and development processes
- Access to organization-specific repositories
### **💻 Developers Team**
Responsible for day-to-day coding and implementation.
- Create new branches and submit pull requests
- Access assigned repositories and project resources
- Participate in code reviews and technical discussions
- Implement features and contribute to project development
- Work only within their organizations repositories
### **🔧 Builders Team**
Automation account responsible for executing builds and deployments.
- Execute CI/CD[^1] pipelines and automated build processes
- Run build configurations and build scripts created by developers
---
# Team Management Guidelines
## Team Creation Process
1. **Request Submission** → Team Leader submits a team creation request.
2. **HoD[^2] Approval** → Head of Department reviews and approves the request.
3. **Team Setup** → HoD creates the team with appropriate permissions.
4. **Member Assignment** → HoD adds members to the team.
5. **Repository Access** → Repositories are assigned to the team as needed.
## Team Structure Guidelines
### Base Team Structure
All organizations follow a standardized team structure with **four core team types**:
#### 👑 Owners Team
* **Purpose:** Provide full administrative control over the organization.
* **Members:** Head of Department (HoD) and senior management for that organization.
* **Permissions:** Create, modify, and delete resources within the organization.
* **Scope:** Limited to the specific organization they own.
* **Size:** 13 members per organization (typically HoD and senior technical leads).
#### 👥 Leaders Team
* **Purpose:** Project management and technical leadership.
* **Members:** Team Leaders.
* **Permissions:** Manage team members, review and approve pull requests, configure repositories and workflows.
* **Size:** 25 members per organization.
#### 💻 Developers Team
* **Purpose:** Core development work and feature implementation.
* **Members:** Game Developers.
* **Permissions:** Create branches, submit pull requests, access assigned repositories, and participate in code reviews.
* **Size:** 310 members per organization (varies by project size).
#### 🔧 Builders Team
* **Purpose:** Manage build and deployment automation.
* **Members:** Automation accounts (not human users).
* **Permissions:** Execute CI/CD pipelines, run build scripts, and perform automated deployments.
* **Size:** 1 automation account per organization.
---
## Team Assignment Guidelines
* **Organization-Specific Teams:** Each organization maintains its own complete set of base teams.
* **Owners Team Scope:** Each organization has its own Owners Team, with authority limited to that organization.
* **Cross-Project Access:** Builders Team may hold access to multiple organizations for shared infrastructure.
* **Role Flexibility:** Team members may belong to multiple teams within the same organization if required.
* **Permission Inheritance:** Team permissions are standardized and inherited from the base team structure.
* **Isolation:** Owners of one organization cannot access or modify another organization.
---
[^1]: Continuous Integration/Continuous Deployment
[^2]: Head of Department