From 96e1bad6f28585e05ef248c22884c373f6bc72cf Mon Sep 17 00:00:00 2001 From: Nicholas Dille Date: Fri, 8 Nov 2024 09:55:52 +0100 Subject: [PATCH] Final slides for 20241107 --- .../150_gitlab/000_intro/architecture.md | 2 +- .../150_gitlab/000_intro/product.md | 8 ++-- .../150_gitlab/010_projects/slides.md | 4 +- .../150_gitlab/030_authentication/slides.md | 14 +++---- .../150_gitlab/040_profile/slides.md | 4 +- .../2024-11-07/150_gitlab/060_api/slides.md | 14 +++---- .../150_gitlab/090_maintenance/slides.md | 4 +- .../150_gitlab/100_reverse_proxy/slides.md | 8 ++-- .../2024-11-07/150_gitlab/120_ldap/slides.md | 37 ++++++++++++++----- .../2024-11-07/150_gitlab/125_smtp/slides.md | 4 +- .../150_gitlab/130_registries/slides.md | 14 +++---- .../150_gitlab/140_troubleshooting/slides.md | 12 +++--- .../150_gitlab/160_runner/slides.md | 6 +-- .../2024-11-07/150_gitlab/165_pages/slides.md | 4 +- .../150_gitlab/170_monitoring/slides.md | 24 +++++++++++- .../150_gitlab/185_storage/slides.md | 2 +- slides/2024-11-07/index.html | 12 +++--- 17 files changed, 106 insertions(+), 67 deletions(-) diff --git a/slides/2024-11-07/150_gitlab/000_intro/architecture.md b/slides/2024-11-07/150_gitlab/000_intro/architecture.md index 80f0fc3d..c2ff10d8 100644 --- a/slides/2024-11-07/150_gitlab/000_intro/architecture.md +++ b/slides/2024-11-07/150_gitlab/000_intro/architecture.md @@ -8,7 +8,7 @@ Consists of multiple services internally ![](150_gitlab/000_intro/components.drawio.svg) -GitLab offers reference architectures [](https://docs.gitlab.com/ee/administration/reference_architectures/) +GitLab offers reference architectures [](https://docs.gitlab.com/ee/administration/reference_architectures/) Sizing information included diff --git a/slides/2024-11-07/150_gitlab/000_intro/product.md b/slides/2024-11-07/150_gitlab/000_intro/product.md index 9c69c251..c196ca08 100644 --- a/slides/2024-11-07/150_gitlab/000_intro/product.md +++ b/slides/2024-11-07/150_gitlab/000_intro/product.md @@ -36,19 +36,19 @@ ## Options -Same pricing [](https://about.gitlab.com/pricing/) and features [](https://about.gitlab.com/pricing/self-managed/feature-comparison/) for cloud and self-hosted +Same pricing [](https://about.gitlab.com/pricing/) and features [](https://about.gitlab.com/pricing/self-managed/feature-comparison/) for cloud and self-hosted ### Free Based on open-source project, allows your own runners, static websites -gitlab.com: 5GB storage [](https://about.gitlab.com/pricing/#do-the-storage-and-transfer-limits-apply-to-self-managed), 400 minutes/month [](https://about.gitlab.com/pricing/#why-do-i-need-to-enter-credit-debit-card-details-for-free-pipeline-minutes), 5 users/group [](https://about.gitlab.com/pricing/#when-will-the-user-limits-be-effective) +gitlab.com: 5GB storage [](https://about.gitlab.com/pricing/#do-the-storage-and-transfer-limits-apply-to-self-managed), 400 minutes/month [](https://about.gitlab.com/pricing/#why-do-i-need-to-enter-credit-debit-card-details-for-free-pipeline-minutes), 5 users/group [](https://about.gitlab.com/pricing/#when-will-the-user-limits-be-effective) -### Premium [](https://about.gitlab.com/pricing/premium/) ($29/user/month) +### Premium [](https://about.gitlab.com/pricing/premium/) ($29/user/month) **CI/CD-focused:** Faster code reviews, advanced CI/CD, enterprise agile planning, release controls, support, higher limits -### Ultimate [](https://about.gitlab.com/pricing/ultimate/) ($99/user/month) +### Ultimate [](https://about.gitlab.com/pricing/ultimate/) ($99/user/month) **Security-focused:** Advanced security testing, security risk mitigation, compliance, portfolio management, value stream management, free guest users diff --git a/slides/2024-11-07/150_gitlab/010_projects/slides.md b/slides/2024-11-07/150_gitlab/010_projects/slides.md index e95abcc1..89c975d4 100644 --- a/slides/2024-11-07/150_gitlab/010_projects/slides.md +++ b/slides/2024-11-07/150_gitlab/010_projects/slides.md @@ -10,7 +10,7 @@ -Groups [](https://docs.gitlab.com/ee/user/group/subgroups/) are used for organizing projects +Groups [](https://docs.gitlab.com/ee/user/group/subgroups/) are used for organizing projects - by organizational units - by architectural components @@ -33,7 +33,7 @@ Groups... -Project [](https://docs.gitlab.com/ee/user/project/) offer collaboration +Project [](https://docs.gitlab.com/ee/user/project/) offer collaboration - Create content using code, wikis and pages - Review work using merge requests diff --git a/slides/2024-11-07/150_gitlab/030_authentication/slides.md b/slides/2024-11-07/150_gitlab/030_authentication/slides.md index 6d6a69ac..565842d2 100644 --- a/slides/2024-11-07/150_gitlab/030_authentication/slides.md +++ b/slides/2024-11-07/150_gitlab/030_authentication/slides.md @@ -12,12 +12,12 @@ We have already used username and password -Users can create *Personal Access Tokens* [](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) +Users can create *Personal Access Tokens* [](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) - Used instead of password for `git` operations - Used to access the API (more later) -Users can add SSH public keys [](https://docs.gitlab.com/ee/user/ssh.html) +Users can add SSH public keys [](https://docs.gitlab.com/ee/user/ssh.html) - Used for `git` operations @@ -42,17 +42,17 @@ Permissions inherited from user ### Scoped to group -Group Deploy Tokens (read only) [](https://docs.gitlab.com/ee/user/project/deploy_tokens/) +Group Deploy Tokens (read only) [](https://docs.gitlab.com/ee/user/project/deploy_tokens/) -Group Access Tokens (configurable) [](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) +Group Access Tokens (configurable) [](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) ### Scoped to project -Project Access Tokens (configurable) [](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) +Project Access Tokens (configurable) [](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) -Project Deploy Token (read-only) [](https://docs.gitlab.com/ee/user/project/deploy_tokens/) +Project Deploy Token (read-only) [](https://docs.gitlab.com/ee/user/project/deploy_tokens/) -Project Deploy SSH Key (read-write) [](https://docs.gitlab.com/ee/user/project/deploy_keys/) +Project Deploy SSH Key (read-write) [](https://docs.gitlab.com/ee/user/project/deploy_keys/) ### Hands-On diff --git a/slides/2024-11-07/150_gitlab/040_profile/slides.md b/slides/2024-11-07/150_gitlab/040_profile/slides.md index 37bf6883..7dadcfd7 100644 --- a/slides/2024-11-07/150_gitlab/040_profile/slides.md +++ b/slides/2024-11-07/150_gitlab/040_profile/slides.md @@ -16,9 +16,9 @@ Notifications Personal access tokens -SSH keys [](https://docs.gitlab.com/ee/user/ssh.html) +SSH keys [](https://docs.gitlab.com/ee/user/ssh.html) -GPG keys [](https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/) +GPG keys [](https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/) Preferences diff --git a/slides/2024-11-07/150_gitlab/060_api/slides.md b/slides/2024-11-07/150_gitlab/060_api/slides.md index 277bab85..f5974361 100644 --- a/slides/2024-11-07/150_gitlab/060_api/slides.md +++ b/slides/2024-11-07/150_gitlab/060_api/slides.md @@ -10,11 +10,11 @@ -GitLab offers a very extensive API [](https://docs.gitlab.com/ee/api/) +GitLab offers a very extensive API [](https://docs.gitlab.com/ee/api/) The API is located at `/api/v4/` -The notes how to use the API [](https://docs.gitlab.com/ee/api/#how-to-use-the-api) include: +The notes how to use the API [](https://docs.gitlab.com/ee/api/#how-to-use-the-api) include: - Authentication (see next slides) - Pagination (see next slides) @@ -26,7 +26,7 @@ The notes how to use the API [ ### Resources -Resources for every aspect of GitLab [](https://docs.gitlab.com/ee/api/api_resources.html) +Resources for every aspect of GitLab [](https://docs.gitlab.com/ee/api/api_resources.html) --- @@ -34,7 +34,7 @@ Resources for every aspect of GitLab [ -Authentication [](https://docs.gitlab.com/ee/api/#authentication) using a token (personal/group/project) +Authentication [](https://docs.gitlab.com/ee/api/#authentication) using a token (personal/group/project) Token requires `read_api` or `api` scope @@ -53,7 +53,7 @@ curl "http://gitlab.${DOMAIN}/api/v4/projects" \ -Pagination [](https://docs.gitlab.com/ee/api/#pagination) done by offset +Pagination [](https://docs.gitlab.com/ee/api/#pagination) done by offset GitLab API returns HTTP headers: @@ -66,7 +66,7 @@ GitLab API returns HTTP headers: | `x-total` | Total number of items | | `x-total-pages` | Total number of pages | -Keyset-based pagination [](https://docs.gitlab.com/ee/api/#keyset-based-pagination) is also supported +Keyset-based pagination [](https://docs.gitlab.com/ee/api/#keyset-based-pagination) is also supported --- @@ -99,7 +99,7 @@ Keyset-based pagination [] ### `glab` -glab [](https://gitlab.com/gitlab-org/cli) was adopted as the official CLI in November 2022: +glab [](https://gitlab.com/gitlab-org/cli) was adopted as the official CLI in November 2022: 1. Configure `glab`: diff --git a/slides/2024-11-07/150_gitlab/090_maintenance/slides.md b/slides/2024-11-07/150_gitlab/090_maintenance/slides.md index 39e4607c..649e2390 100644 --- a/slides/2024-11-07/150_gitlab/090_maintenance/slides.md +++ b/slides/2024-11-07/150_gitlab/090_maintenance/slides.md @@ -12,7 +12,7 @@ ### Messages -Show a banner announcing maintenance work [](https://docs.gitlab.com/ee/administration/broadcast_messages.html) +Show a banner announcing maintenance work [](https://docs.gitlab.com/ee/administration/broadcast_messages.html) Configure under Menu Admin Messages @@ -20,7 +20,7 @@ Can also show up in git response ### Maintenance Mode (Premium feature) -Switch GitLab into read-only mode [](https://docs.gitlab.com/ee/administration/maintenance_mode/) +Switch GitLab into read-only mode [](https://docs.gitlab.com/ee/administration/maintenance_mode/) --- diff --git a/slides/2024-11-07/150_gitlab/100_reverse_proxy/slides.md b/slides/2024-11-07/150_gitlab/100_reverse_proxy/slides.md index 8a1b29c0..d139305b 100644 --- a/slides/2024-11-07/150_gitlab/100_reverse_proxy/slides.md +++ b/slides/2024-11-07/150_gitlab/100_reverse_proxy/slides.md @@ -120,16 +120,16 @@ Multiple options ### GitLab with certificate file -Configure GitLab with key and certificate [](https://docs.gitlab.com/omnibus/settings/ssl.html#other-certificate-authorities) +Configure GitLab with key and certificate [](https://docs.gitlab.com/omnibus/settings/ssl.html#other-certificate-authorities) ### GitLab with Let's Encrypt -Configure GitLab to use Let's Encrypt [](https://docs.gitlab.com/omnibus/settings/ssl.html#lets-encrypt-integration) +Configure GitLab to use Let's Encrypt [](https://docs.gitlab.com/omnibus/settings/ssl.html#lets-encrypt-integration) ### Reverse proxy with custom certificate -Configure traefik to use custom certificate [](https://doc.traefik.io/traefik/https/tls/#user-defined) +Configure traefik to use custom certificate [](https://doc.traefik.io/traefik/https/tls/#user-defined) ### Reverse proxy with Let's Encrypt -Configure traefik to use Let's Encrypt with DNS challenge [](https://doc.traefik.io/traefik/user-guides/docker-compose/acme-dns/) \ No newline at end of file +Configure traefik to use Let's Encrypt with DNS challenge [](https://doc.traefik.io/traefik/user-guides/docker-compose/acme-dns/) \ No newline at end of file diff --git a/slides/2024-11-07/150_gitlab/120_ldap/slides.md b/slides/2024-11-07/150_gitlab/120_ldap/slides.md index 936f8f83..9f076df6 100644 --- a/slides/2024-11-07/150_gitlab/120_ldap/slides.md +++ b/slides/2024-11-07/150_gitlab/120_ldap/slides.md @@ -10,15 +10,17 @@ -GitLab can directly connect to LDAP servers [](https://docs.gitlab.com/ee/administration/auth/ldap/) +GitLab can directly connect to LDAP servers [](https://docs.gitlab.com/ee/administration/auth/ldap/) +- Create internal users for authenticated users +- Sync LDAP groups to GitLab groups [](https://docs.gitlab.com/ee/administration/auth/ldap/ldap_synchronization.html#group-sync) (requires Premium) -LDAP backend based on OpenLDAP [](https://www.openldap.org/) +### Example setup -Management UI based on Keycloak [](https://www.keycloak.org/) +LDAP backend based on OpenLDAP [](https://www.openldap.org/) -![](150_gitlab/120_ldap/ldap.drawio.svg) +Management UI based on Keycloak [](https://www.keycloak.org/) -Group sync [](https://docs.gitlab.com/ee/administration/auth/ldap/ldap_synchronization.html#group-sync) only available in Premium +![](150_gitlab/120_ldap/ldap.drawio.svg) --- @@ -37,10 +39,8 @@ docker volume create keycloak_data Deploy additional components: ```bash -# Switch to directory for this topics -cd ../120_ldap/ - # Deploy components for LDAP +cd ../120_ldap/ docker compose --project-name gitlab \ --file ../100_reverse_proxy/compose.yml \ --file compose.yml \ @@ -64,4 +64,23 @@ Login using one these users ## Alternative: Single Sign-On -XXX https://docs.gitlab.com/ee/integration/saml.html +GitLab can use an SAML Identity Provider to authenticate users [](https://docs.gitlab.com/ee/integration/saml.html) + +```ruby +gitlab_rails['omniauth_enabled'] = true +gitlab_rails['omniauth_allow_single_sign_on'] = ['saml'] +gitlab_rails['omniauth_block_auto_created_users'] = false +gitlab_rails['omniauth_auto_link_saml_user'] = true +gitlab_rails['omniauth_providers'] = [{ + name: "saml", + label: "my-label", + args: { + assertion_consumer_service_url: "https://gitlab.seatN.inmylab.de/users/auth/saml/callback", + idp_cert_fingerprint: "", + idp_sso_target_url: "https://login.foo.com/bar", + issuer: "MyIssuer", + name_identifier_format: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + attribute_statements: { name: ['name'], first_name: ['first_name'], last_name: ['last_name'], nickname: ['username'] } + } +}] +``` diff --git a/slides/2024-11-07/150_gitlab/125_smtp/slides.md b/slides/2024-11-07/150_gitlab/125_smtp/slides.md index 48efe44f..23be9a88 100644 --- a/slides/2024-11-07/150_gitlab/125_smtp/slides.md +++ b/slides/2024-11-07/150_gitlab/125_smtp/slides.md @@ -10,7 +10,7 @@ ## SMTP -Outgoing emails for notifications [](https://docs.gitlab.com/omnibus/settings/smtp.html) (many examples) +Outgoing emails for notifications [](https://docs.gitlab.com/omnibus/settings/smtp.html) (many examples) ``` # Connection information @@ -40,7 +40,7 @@ gitlab_rails['smtp_pool'] = true ## Test SMTP -Test the SMTP configuration [](https://docs.gitlab.com/omnibus/settings/smtp.html#testing-the-smtp-configuration): +Test the SMTP configuration [](https://docs.gitlab.com/omnibus/settings/smtp.html#testing-the-smtp-configuration): ```bash gitlab-rails console diff --git a/slides/2024-11-07/150_gitlab/130_registries/slides.md b/slides/2024-11-07/150_gitlab/130_registries/slides.md index bf68bbd3..afaf39b6 100644 --- a/slides/2024-11-07/150_gitlab/130_registries/slides.md +++ b/slides/2024-11-07/150_gitlab/130_registries/slides.md @@ -10,7 +10,7 @@ -Use your favorite package manager against GitLab [](https://docs.gitlab.com/ee/user/packages/package_registry/index.html) +Use your favorite package manager against GitLab [](https://docs.gitlab.com/ee/user/packages/package_registry/index.html) Authentication using personal/group/project/job token @@ -30,15 +30,15 @@ Authentication using personal/group/project/job token ## Container Registry -Store container images in GitLab [](https://docs.gitlab.com/ee/user/packages/container_registry/index.html) +Store container images in GitLab [](https://docs.gitlab.com/ee/user/packages/container_registry/index.html) Authentication using personal or deploy token Naming convention: `gitlab.example.com/mynamespace/myproject` -Integrated cleanup policy [](https://docs.gitlab.com/ee/user/packages/container_registry/reduce_container_registry_storage.html#cleanup-policy) +Integrated cleanup policy [](https://docs.gitlab.com/ee/user/packages/container_registry/reduce_container_registry_storage.html#cleanup-policy) -Proxy for upstream images [](https://docs.gitlab.com/ee/user/packages/dependency_proxy/) +Proxy for upstream images [](https://docs.gitlab.com/ee/user/packages/dependency_proxy/) Optional S3 storage backend @@ -59,13 +59,13 @@ registry['storage'] = { -Store Terraform modules in GitLab [](https://docs.gitlab.com/ee/user/packages/infrastructure_registry/index.html) +Store Terraform modules in GitLab [](https://docs.gitlab.com/ee/user/packages/infrastructure_registry/index.html) -More about Terraform modules [](https://docs.gitlab.com/ee/user/packages/terraform_module_registry/index.html) +More about Terraform modules [](https://docs.gitlab.com/ee/user/packages/terraform_module_registry/index.html) ### Sidenote -GitLab stores Terraform state [](https://docs.gitlab.com/ee/user/infrastructure/iac/terraform_state.html) +GitLab stores Terraform state [](https://docs.gitlab.com/ee/user/infrastructure/iac/terraform_state.html) No need for separate infrastructure diff --git a/slides/2024-11-07/150_gitlab/140_troubleshooting/slides.md b/slides/2024-11-07/150_gitlab/140_troubleshooting/slides.md index c67eed01..f6e99dea 100644 --- a/slides/2024-11-07/150_gitlab/140_troubleshooting/slides.md +++ b/slides/2024-11-07/150_gitlab/140_troubleshooting/slides.md @@ -10,23 +10,23 @@ -GitLab comes with extensive troubleshooting guides [](https://docs.gitlab.com/ee/administration/troubleshooting/) +GitLab comes with extensive troubleshooting guides [](https://docs.gitlab.com/ee/administration/troubleshooting/) ### For example... -Sidekiq (job processor) [](https://docs.gitlab.com/ee/administration/troubleshooting/sidekiq.html) +Sidekiq (job processor) [](https://docs.gitlab.com/ee/administration/troubleshooting/sidekiq.html) -GitLab rails [](https://docs.gitlab.com/ee/administration/troubleshooting/gitlab_rails_cheat_sheet.html) +GitLab rails [](https://docs.gitlab.com/ee/administration/troubleshooting/gitlab_rails_cheat_sheet.html) ### ...as well as tools... -gitlabsos (omnibus, docker) [](https://gitlab.com/gitlab-com/support/toolbox/gitlabsos/) +gitlabsos (omnibus, docker) [](https://gitlab.com/gitlab-com/support/toolbox/gitlabsos/) -kubesos [](https://gitlab.com/gitlab-com/support/toolbox/kubesos) +kubesos [](https://gitlab.com/gitlab-com/support/toolbox/kubesos) ### ...and tracing across logs -Correlation IDs [](https://docs.gitlab.com/ee/administration/troubleshooting/tracing_correlation_id.html) +Correlation IDs [](https://docs.gitlab.com/ee/administration/troubleshooting/tracing_correlation_id.html) --- diff --git a/slides/2024-11-07/150_gitlab/160_runner/slides.md b/slides/2024-11-07/150_gitlab/160_runner/slides.md index 6c8640a7..210f0007 100644 --- a/slides/2024-11-07/150_gitlab/160_runner/slides.md +++ b/slides/2024-11-07/150_gitlab/160_runner/slides.md @@ -10,13 +10,13 @@ -Runners [](https://docs.gitlab.com/runner/) are used to execute jobs in GitLab CI +Runners [](https://docs.gitlab.com/runner/) are used to execute jobs in GitLab CI Runner can be shared across the instance of GitLab They can be specific to a group or project -Extensive configuration [](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) +Extensive configuration [](https://docs.gitlab.com/runner/configuration/advanced-configuration.html) ### Tags @@ -74,7 +74,7 @@ Jobs are executed in a dedicated container / pod ### Image cleanup -docuum [](https://github.com/stepchowfun/docuum) is able to remove least recently used images +docuum [](https://github.com/stepchowfun/docuum) is able to remove least recently used images --- diff --git a/slides/2024-11-07/150_gitlab/165_pages/slides.md b/slides/2024-11-07/150_gitlab/165_pages/slides.md index 92e42f12..52dac8da 100644 --- a/slides/2024-11-07/150_gitlab/165_pages/slides.md +++ b/slides/2024-11-07/150_gitlab/165_pages/slides.md @@ -10,9 +10,9 @@ -Publish static websites [](https://docs.gitlab.com/ee/user/project/pages/) +Publish static websites [](https://docs.gitlab.com/ee/user/project/pages/) -Extensively customizable [](https://docs.gitlab.com/ee/administration/pages/index.html) +Extensively customizable [](https://docs.gitlab.com/ee/administration/pages/index.html) ### How it works diff --git a/slides/2024-11-07/150_gitlab/170_monitoring/slides.md b/slides/2024-11-07/150_gitlab/170_monitoring/slides.md index cbb8e6cb..707ec673 100644 --- a/slides/2024-11-07/150_gitlab/170_monitoring/slides.md +++ b/slides/2024-11-07/150_gitlab/170_monitoring/slides.md @@ -10,7 +10,7 @@ -GitLab ships with Prometheus [](https://docs.gitlab.com/omnibus/settings/grafana.html) +GitLab ships with Prometheus [](https://docs.gitlab.com/omnibus/settings/grafana.html) Grafana was removed in 16.3.0 (August 2023) [](https://docs.gitlab.com/ee/update/deprecations.html?removal_milestone=16.3#bundled-grafana-deprecated-and-disabled) @@ -55,11 +55,31 @@ Prometheus scrapes metrics from exporter regularly --- +## Authenticate Grafana against GitLab + +Use GitLab as authentication provider in Grafana + + **This requires TLS to work** + +1. Create application in GitLab + - Name: Grafana + - Redirect URI: `https://grafana.seatN.inmylab.de/login/gitlab` + - Scopes: `openid`, `profile`, `email` + +1. Configure Grafana + - URL: `http://gitlab:80` + - Client ID: `` + - Client Secret: `` + - Auth URL: `https://gitlab.seatN.inmylab.de/oauth/authorize` + - Token URL: `https://gitlab.seatN.inmylab.de/oauth/token` + +--- + ## GitLab CI Pipelines Exporter (GCPE) -Prometheus exporter for pipelines [](https://github.com/mvisonneau/gitlab-ci-pipelines-exporter) collecting... +Prometheus exporter for pipelines [](https://github.com/mvisonneau/gitlab-ci-pipelines-exporter) collecting... - Pipeline results - Job results diff --git a/slides/2024-11-07/150_gitlab/185_storage/slides.md b/slides/2024-11-07/150_gitlab/185_storage/slides.md index 8c48c165..f29d6506 100644 --- a/slides/2024-11-07/150_gitlab/185_storage/slides.md +++ b/slides/2024-11-07/150_gitlab/185_storage/slides.md @@ -10,7 +10,7 @@ -GitLab can store some data in object storage [](https://docs.gitlab.com/ee/administration/object_storage.html) +GitLab can store some data in object storage [](https://docs.gitlab.com/ee/administration/object_storage.html) Enable the object store: diff --git a/slides/2024-11-07/index.html b/slides/2024-11-07/index.html index 3ed9c09d..7cad11e7 100644 --- a/slides/2024-11-07/index.html +++ b/slides/2024-11-07/index.html @@ -89,12 +89,12 @@

Summary

    -
  • GitLab covers the whole DevOps process
  • -
  • Easily deployed using containers
  • -
  • GitLab is packed with features
  • -
  • Configuration is two-fold
  • -
  • Restarts are slow
  • -
  • Security issues are patched quickly
  • +
  • GitLab covers the whole DevOps process
  • +
  • Easily deployed using containers
  • +
  • GitLab is packed with features
  • +
  • Configuration is two-fold
  • +
  • Restarts are slow
  • +
  • Security issues are patched quickly

Upcoming events