Represents a secure file stored within a GitLab project. Secure files are project-scoped files (such as signing certificates, keystores, provisioning profiles, and API credential files) that can be downloaded into CI/CD jobs at runtime. They are not stored as CI/CD variables and are not included in repository history, but they are accessible to jobs with the appropriate permissions.
If the secure file is a certificate, metadata about the issuer, subject, and expiration is extracted and stored as properties.
| Property Name | Data Type | Description |
|---|---|---|
| name | string | Secure file filename (e.g., signing.p12, service-account.json) |
| checksum | string | File integrity checksum |
| created_at | datetime | When the secure file was uploaded |
| expires_at | datetime | Optional expiration date for the file |
| metadata.issuer | string | Certificate issuer DN (if the file is an X.509 certificate) |
| metadata.subject | string | Certificate subject DN |
| metadata.expires_at | string | Certificate expiration date from the certificate metadata |
flowchart TD
GL_Project("fa:fa-diagram-project GL_Project")
GL_SecureFile("fa:fa-file-shield GL_SecureFile")
GL_ProjectRole("fa:fa-user-tie GL_ProjectRole")
GL_Project -.->|GL_Defines| GL_SecureFile
GL_ProjectRole -->|GL_DownloadSecureFiles| GL_Project
GL_ProjectRole -->|GL_ManageSecureFiles| GL_Project