GitlabGroup
Creates or mutates a GitLab group.
Schema
GitlabGroupResource
| property | type | description |
|---|---|---|
| version | string, required | Version of Frigg to use. Should be 1. |
| kind | GitlabGroup, required | Kind of resource you want to specify |
| metadata | object, required | Data used by Frigg internally |
| metadata.name | string, required | Name used to reference this resource from other resources |
| metadata.configDefaults | string, required | Name of the GitlabDefaults resource to use to resolve default configuration. |
| metadata.id | number, optional | Numeric ID of the Gitlab group. Specify this when you want to start managing an already existing group using Frigg. |
| spec | object, required | State you want the resource to have |
| spec.name | string, required | Name of the group in GitLab |
| spec.parent | string, nullable | Name of the parent group, or null if it’s a base level group. |
| spec.config | GitlabGroupConfig, optional | Leave undefined if you want to fully use configDefaults.groupConfig instead. |
| spec.members | GitlabMember array, optional | Array containing the group’s members. |
| spec.sharedWithGroups | SharedWithGroup array, optional | Array containing the groups that this group is shared with. |
GitlabGroupConfig
All properties are optional. Any undefined properties will default to the specified groupConfig in GitlabDefaults.
For detailed info about the properties, please reference GitLab’s documentation.
| property | type |
|---|---|
| description | string, optional |
| visibility | private | internal | public, optional |
| shareWithGroupLock | boolean, optional |
| requireTwoFactorAuthentication | boolean, optional |
| twoFactorGracePeriod | number, optional |
| projectCreationLevel | noone | maintainer | developer, optional |
| autoDevopsEnabled | boolean, optional |
| subgroupCreationLevel | noone | maintainer, optional |
| emailsEnabled | boolean, optional |
| mentionsDisabled | boolean, optional |
| lfsEnabled | boolean, optional |
| defaultBranchProtection | 0 | 1 | 2 | 3 | 4, optional |
| requestAccessEnabled | boolean, optional |
| membershipLock | boolean, optional |
GitlabMember
| property | type | description |
|---|---|---|
| name | string, required | Name of the user in the Users resource. |
| accessLevel | no_access | minimal_access | guest | reporter | developer | maintainer | owner, required | The access level of the user. |
SharedWithGroup
| property | type | description |
|---|---|---|
| name | string, required | Metadata name of the group you want to share this group with. |
| accessLevel | no_access | minimal_access | guest | reporter | developer | maintainer | owner, required | The access level of the group. |
Example
The following example includes all possible GitlabGroupConfig properties.
version: '1'
kind: GitlabGroup
metadata:
name: example_group
configDefaults: GitlabDefaults
spec:
name: Example Group
parent: null
config:
autoDevopsEnabled: false
defaultBranchProtection: 2
description: 'Example description'
emailsEnabled: true
lfsEnabled: true
membershipLock: false
mentionsDisabled: false
projectCreationLevel: maintainer
requestAccessEnabled: true
requireTwoFactorAuthentication: true
shareWithGroupLock: false
subgroupCreationLevel: owner
twoFactorGracePeriod: 48
visibility: private
members:
- name: john.doe
accessLevel: owner
- name: alice.johnson
accessLevel: reporter
sharedWithGroups:
- name: another_example_group
accessLevel: developer