This package is designed for use as part of a UDS Software Factory bundle deployed on UDS Core, and is based on the Bigbang GitLab chart.
[!IMPORTANT]
Thearm64
package includesamd64
images due to lack of availability ofarm64
images from upstream projects at this time. This means you can deploy thearm64
package on anarm64
kubernetes cluster, but some of the images contained in the package will require emulation (e.g., qemu or rosetta) to run properly.
The GitLab Package expects to be deployed on top of UDS Core with the dependencies listed below being configured prior to deployment.
[!IMPORTANT] NOTE: Some GitLab features (such as GitLab pages) will also require a GitLab runner along with additional configuration such as an additional certificate SAN for
*.pages.<your-domain>
.
GitLab is configured by default to assume the internal dependencies that are used for testing (see minio, redis and postgres in the bundle).
[!IMPORTANT] If you are using different internal services, cloud services or a mix you will have to configure values in the config chart accordingly via bundle overrides. See the networking docs for details
5432
and accessible to the cluster via the GITLAB_DB_ENDPOINT
Zarf var.GITLAB_DB_USERNAME
. Default is gitlab
GITLAB_DB_NAME
. Default is gitlabdb
gitlab-postgres
service in gitlab
namespace that points to the psql databasegitlab-postgres
secret in gitlab
namespace with the key password
that contains the password to the user for the psql database6379
and accessible to the cluster via the GITLAB_REDIS_ENDPOINT
Zarf var.gitlab-redis
service in gitlab
namespace that points to the redis instancegitlab-redis
secret in gitlab
namespace with the key password
that contains the password to the redis instanceObject Storage works a bit differently as there are many kinds of file stores GitLab can be configured to use.
gitlab-object-store
in the gitlab
namespace with the following keys:
src/dev-secrets/minio-secret.yaml
connection
registry
backups
s3cmd
. The documentation for what goes in this key is located here - uds-gitlab-pages
- uds-gitlab-registry
- uds-gitlab-lfs
- uds-gitlab-artifacts
- uds-gitlab-uploads
- uds-gitlab-packages
- uds-gitlab-mr-diffs
- uds-gitlab-terraform-state
- uds-gitlab-ci-secure-files
- uds-gitlab-dependency-proxy
- uds-gitlab-backups
- uds-gitlab-tmp
BUCKET_SUFFIX
Zarf variable (e.g. -some-deployment-name
plus uds-gitlab-backups
would be uds-gitlab-backups-some-deployment-name
)Flavor | Description | Example Creation |
---|---|---|
upstream | Uses upstream images within the package. | zarf package create . -f upstream |
registry1 | Uses images from registry1.dso.mil within the package. | zarf package create . -f registry1 |
[!IMPORTANT] NOTE: To create the registry1 flavor you will need to be logged into Iron Bank - you can find instructions on how to do this in the Big Bang Zarf Tutorial.
The released packages can be found in ghcr.
*For local dev, this requires you install uds-cli
[!TIP] To get a list of tasks to run you can use
uds run --list
!
Please see the CONTRIBUTING.md
When developing this package it is ideal to utilize the json schemas for UDS Bundles, Zarf Packages and Maru Tasks. This involves configuring your IDE to provide schema validation for the respective files used by each application. For guidance on how to set up this schema validation, please refer to the guide in uds-common.