GitlabGroup

Creates or mutates a GitLab group.

Schema

GitlabGroupResource

propertytypedescription
versionstring, requiredVersion of Frigg to use. Should be 1.
kindGitlabGroup, requiredKind of resource you want to specify
metadataobject, requiredData used by Frigg internally
metadata.namestring, requiredName used to reference this resource from other resources
metadata.configDefaultsstring, requiredName of the GitlabDefaults resource to use to resolve default configuration.
metadata.idnumber, optionalNumeric ID of the Gitlab group. Specify this when you want to start managing an already existing group using Frigg.
specobject, requiredState you want the resource to have
spec.namestring, requiredName of the group in GitLab
spec.parentstring, nullableName of the parent group, or null if it’s a base level group.
spec.configGitlabGroupConfig, optionalLeave undefined if you want to fully use configDefaults.groupConfig instead.
spec.membersGitlabMember array, optionalArray 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.

propertytype
descriptionstring, optional
visibilityprivate | internal | public, optional
shareWithGroupLockboolean, optional
requireTwoFactorAuthenticationboolean, optional
twoFactorGracePeriodnumber, optional
projectCreationLevelnoone | maintainer | developer, optional
autoDevopsEnabledboolean, optional
subgroupCreationLevelnoone | maintainer, optional
emailsDisabledboolean, optional
mentionsDisabledboolean, optional
lfsEnabledboolean, optional
defaultBranchProtection0 | 1 | 2 | 3 | 4, optional
requestAccessEnabledboolean, optional
membershipLockboolean, optional

GitlabMember

propertytypedescription
namestring, requiredName of the user in the Users resource.
accessLevelno_access | minimal_access | guest | reporter | developer | maintainer | owner, requiredThe 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