---
id: "gitlab"
type: "component"
kind: "artifact-repository"
provider: "default"
category: "data"
docs: "https://docs.gitlab.com/user/public_access/"
url: "https://localhost:3000/catalogue/components/gitlab"
---

# GitLab

Git repositories with issues and CI/CD, self-managed or on GitLab.com, at private, internal or public visibility.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Artifact repository](https://localhost:3000/catalogue/kinds/artifact-repository) |
| Category | Data |
| Official docs | [https://docs.gitlab.com/user/public_access/](https://docs.gitlab.com/user/public_access/) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `artifactType` | enum | `package`, `source`, `generic` | yes | — | **"source"** |
| `deploymentModel` | enum | `self-managed`, `gitlab-com`, `dedicated` | no | — | inherited |
| `immutableVersions` | boolean | — | no | — | inherited |
| `managed` | boolean | — | no | false | **false** |
| `protectedBranches` | boolean | — | no | false | inherited |
| `retentionDays` | integer | — | no | — | inherited |
| `upstreamProxy` | boolean | — | no | false | **false** |
| `visibility` | enum | `private`, `public` | no | — | inherited |
| `visibilityLevel` | enum | `private`, `internal`, `public` | no | — | inherited |
| `vulnerabilityScanning` | boolean | — | no | — | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 30

- [AWS CodeArtifact](https://localhost:3000/catalogue/components/aws-codeartifact.md) `aws-codeartifact` — aws
- [AWS CodeCommit](https://localhost:3000/catalogue/components/aws-codecommit.md) `aws-codecommit` — aws
- [Amazon SageMaker Model Registry](https://localhost:3000/catalogue/components/aws-sagemaker-model-registry.md) `aws-sagemaker-model-registry` — aws
- [AWS Serverless Application Repository](https://localhost:3000/catalogue/components/aws-serverless-application-repository.md) `aws-serverless-application-repository` — aws
- [AWS Service Catalog](https://localhost:3000/catalogue/components/aws-service-catalog.md) `aws-service-catalog` — aws
- [Azure Artifacts](https://localhost:3000/catalogue/components/azure-artifacts.md) `azure-artifacts` — azure
- [Azure Compute Gallery](https://localhost:3000/catalogue/components/azure-compute-gallery.md) `azure-compute-gallery` — azure
- [Azure Repos](https://localhost:3000/catalogue/components/azure-repos.md) `azure-repos` — azure
- [Cloudflare Artifacts](https://localhost:3000/catalogue/components/cloudflare-artifacts.md) `cloudflare-artifacts` — cloudflare
- [Generic artifact repository](https://localhost:3000/catalogue/components/artifact-repository.md) `artifact-repository` — default
- [JFrog Artifactory](https://localhost:3000/catalogue/components/artifactory.md) `artifactory` — default
- [Bitbucket](https://localhost:3000/catalogue/components/bitbucket.md) `bitbucket` — default
- [Civitai](https://localhost:3000/catalogue/components/civitai.md) `civitai` — default
- [Forgejo](https://localhost:3000/catalogue/components/forgejo.md) `forgejo` — default
- [Gitea](https://localhost:3000/catalogue/components/gitea.md) `gitea` — default
- [GitHub](https://localhost:3000/catalogue/components/github.md) `github` — default
- [GitHub Packages](https://localhost:3000/catalogue/components/github-packages.md) `github-packages` — default
- [Hugging Face Hub](https://localhost:3000/catalogue/components/hugging-face-hub.md) `hugging-face-hub` — default
- [Sonatype Nexus Repository](https://localhost:3000/catalogue/components/nexus.md) `nexus` — default
- [Apache Subversion](https://localhost:3000/catalogue/components/subversion.md) `subversion` — default
- [Verdaccio](https://localhost:3000/catalogue/components/verdaccio.md) `verdaccio` — default
- [Cloud Source Repositories](https://localhost:3000/catalogue/components/google-cloud-source-repositories.md) `google-cloud-source-repositories` — gcp
- [Firebase App Distribution](https://localhost:3000/catalogue/components/google-firebase-app-distribution.md) `google-firebase-app-distribution` — gcp
- [Secure Source Manager](https://localhost:3000/catalogue/components/google-secure-source-manager.md) `google-secure-source-manager` — gcp
- [Vertex AI Model Registry](https://localhost:3000/catalogue/components/google-vertex-ai-model-registry.md) `google-vertex-ai-model-registry` — gcp
- [OCI Artifact Registry](https://localhost:3000/catalogue/components/oci-artifact-registry.md) `oci-artifact-registry` — oci
- [OCI Data Science Model Catalog](https://localhost:3000/catalogue/components/oci-data-science-model-catalog.md) `oci-data-science-model-catalog` — oci
- [OCI DevOps Code Repository](https://localhost:3000/catalogue/components/oci-devops-code-repository.md) `oci-devops-code-repository` — oci
- [OCI Service Catalog](https://localhost:3000/catalogue/components/oci-service-catalog.md) `oci-service-catalog` — oci
- [OpenStack Glance](https://localhost:3000/catalogue/components/openstack-glance.md) `openstack-glance` — openstack

## Use it in a design

```yaml
nodes:
  - { id: "gitlab", component: "gitlab" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# GitLab: Git source repositories with issues, CI/CD and registries around them, run self-managed or on
# GitLab.com. "Project and group visibility" defines private (members only), internal (any authenticated
# user, not available on GitLab.com) and public (including unauthenticated users); protected branches are
# configured per project.
schemaVersion: "1"
type: "component"
id: "gitlab"
kind: "artifact-repository"
provider: "default"
docs: "https://docs.gitlab.com/user/public_access/"
defaults:
  artifactType: "source"
  managed: false
  upstreamProxy: false
properties:
  visibilityLevel:
    type: "enum"
    values: ["private", "internal", "public"]
  deploymentModel:
    type: "enum"
    values: ["self-managed", "gitlab-com", "dedicated"]
  protectedBranches:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/gitlab
