 1cfe1aff13
			
		
	
	1cfe1aff13
	
	
	
		
			
			* root: initial rename * web: rename custom element prefix * root: rename external functions with pb_ prefix * root: fix formatting * root: replace domain with goauthentik.io * proxy: update path * root: rename remaining prefixes * flows: rename file extension * root: pbadmin -> akadmin * docs: fix image filenames * lifecycle: ignore migration files * ci: copy default config from current source before loading last tagged * *: new sentry dsn * tests: fix missing python3.9-dev package * root: add additional migrations for service accounts created by outposts * core: mark system-created service accounts with attribute * policies/expression: fix pb_ replacement not working * web: fix last linting errors, add lit-analyse * policies/expressions: fix lint errors * web: fix sidebar display on screens where not all items fit * proxy: attempt to fix proxy pipeline * proxy: use go env GOPATH to get gopath * lib: fix user_default naming inconsistency * docs: add upgrade docs * docs: update screenshots to use authentik * admin: fix create button on empty-state of outpost * web: fix modal submit not refreshing SiteShell and Table * web: fix height of app-card and height of generic icon * web: fix rendering of subtext * admin: fix version check error not being caught * web: fix worker count not being shown * docs: update screenshots * root: new icon * web: fix lint error * admin: fix linting error * root: migrate coverage config to pyproject
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: GitLab
 | |
| ---
 | |
| 
 | |
| ## What is GitLab
 | |
| 
 | |
| From https://about.gitlab.com/what-is-gitlab/
 | |
| 
 | |
| :::note
 | |
| GitLab is a complete DevOps platform, delivered as a single application. This makes GitLab unique and makes Concurrent DevOps possible, unlocking your organization from the constraints of a pieced together toolchain. Join us for a live Q&A to learn how GitLab can give you unmatched visibility and higher levels of efficiency in a single application across the DevOps lifecycle.
 | |
| :::
 | |
| 
 | |
| ## Preparation
 | |
| 
 | |
| The following placeholders will be used:
 | |
| 
 | |
| -   `gitlab.company` is the FQDN of the GitLab Install
 | |
| -   `authentik.company` is the FQDN of the authentik Install
 | |
| 
 | |
| Create an application in authentik and note the slug, as this will be used later. Create a SAML provider with the following parameters:
 | |
| 
 | |
| -   ACS URL: `https://gitlab.company/users/auth/saml/callback`
 | |
| -   Audience: `https://gitlab.company`
 | |
| -   Issuer: `https://gitlab.company`
 | |
| -   Binding: `Post`
 | |
| 
 | |
| You can of course use a custom signing certificate, and adjust durations. To get the value for `idp_cert_fingerprint`, you can use a tool like [this](https://www.samltool.com/fingerprint.php).
 | |
| 
 | |
| ## GitLab Configuration
 | |
| 
 | |
| Paste the following block in your `gitlab.rb` file, after replacing the placeholder values from above. The file is located in `/etc/gitlab`.
 | |
| 
 | |
| ```ruby
 | |
| gitlab_rails['omniauth_enabled'] = true
 | |
| gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
 | |
| gitlab_rails['omniauth_sync_email_from_provider'] = 'saml'
 | |
| gitlab_rails['omniauth_sync_profile_from_provider'] = ['saml']
 | |
| gitlab_rails['omniauth_sync_profile_attributes'] = ['email']
 | |
| gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'saml'
 | |
| gitlab_rails['omniauth_block_auto_created_users'] = false
 | |
| gitlab_rails['omniauth_auto_link_saml_user'] = true
 | |
| gitlab_rails['omniauth_providers'] = [
 | |
|   {
 | |
|     name: 'saml',
 | |
|     args: {
 | |
|       assertion_consumer_service_url: 'https://gitlab.company/users/auth/saml/callback',
 | |
|       idp_cert_fingerprint: '4E:1E:CD:67:4A:67:5A:E9:6A:D0:3C:E6:DD:7A:F2:44:2E:76:00:6A',
 | |
|       idp_sso_target_url: 'https://authentik.company/application/saml/<authentik application slug>/sso/binding/post/',
 | |
|       issuer: 'https://gitlab.company',
 | |
|       name_identifier_format: 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
 | |
|       attribute_statements: {
 | |
|         email: ['urn:oid:1.3.6.1.4.1.5923.1.1.1.6'],
 | |
|         first_name: ['urn:oid:2.5.4.3'],
 | |
|         nickname: ['urn:oid:2.16.840.1.113730.3.1.241']
 | |
|       }
 | |
|     },
 | |
|     label: 'authentik'
 | |
|   }
 | |
| ]
 | |
| ```
 | |
| 
 | |
| Afterwards, either run `gitlab-ctl reconfigure` if you're running GitLab Omnibus, or restart the container if you're using the container.
 |