weebo-forgejo

ForgejoTeam

A team inside a ForgejoOrganization, with its members.

  • API version: forgejo.weebo.io/v1alpha1
  • Scope: Namespaced
  • Short names: fjteam
  • Guide: Users, OIDC and teams

A team inside a ForgejoOrganization, with its members. Repositories grant themselves access to it through ForgejoRepository.spec.teamRefs.

Example

apiVersion: forgejo.weebo.io/v1alpha1
kind: ForgejoTeam
metadata:
  name: my-team
  namespace: team-a
spec:
  organizationRef:
    name: weebo
  name: devs
  permission: write
  memberRefs:
    - name: alice

Spec fields

FieldTypeRequiredDefaultDescription
canCreateOrgRepobooleannofalse
deletionPolicystringno"Delete"What happens to the Forgejo object when its CR is deleted.
descriptionstringno
includesAllRepositoriesbooleannofalseGrant access to every repository of the organization, current and future.
instanceRefobjectnoThe ForgejoInstance or ForgejoLocalInstance this object lives on. Unset: the cluster's only ForgejoInstance, else the only ForgejoLocalInstance of this namespace.
memberRefsobject[]noUsers in the team. The member list is authoritative: anyone else is removed. A member whose user doesn't exist in Forgejo yet (e.g. an observed OIDC user who never logged in) is reported as MemberPending while the others are synced.
membersPolicystringno"Managed"Who decides the team's members. Managed (the default): memberRefs is authoritative. External: the operator never adds or removes members, leaving them to Forgejo's OIDC group sync (group-team-map / dyn-group-maps on the authentication source); memberRefs must then be empty.
namestringyesTeam name, unique within the organization. Owners is reserved.
organizationRefobjectyesThe organization the team belongs to. A team can't move between organizations: changing this deletes and recreates it, which needs the forgejo.weebo.io/allow-disruptive-update: "true" annotation.
permissionstringno"read"
sharedWithobjectnoOther namespaces allowed to reference this object (when the operator enables cross-namespace references). Unset: this namespace only.
unitsMapobjectnoPer-unit access (repo.code, repo.issues, repo.pulls, repo.releases, repo.wiki, repo.packages, repo.actions, ...) to none, read, write or admin. Empty means every repository unit at permission (Forgejo refuses a team without units). Ignored by Forgejo when permission is admin.

Build a manifest

Answer the questions and fill in the fields: the YAML preview updates as you type, ready to copy or download and kubectl apply.

Loading form...