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. |
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 |
emailsDisabled | 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. |
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'
emailsDisabled: false
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