What is Docker-in-docker ( DinD )?
Docker-in-Docker (DinD) is a common technique used in GitLab CI/CD pipelines on Kubernetes to run Docker commands within Docker containers.
Docker-in-Docker (DinD) is a common technique used in GitLab CI/CD pipelines on Kubernetes to run Docker commands within Docker containers.
Create GitLab instance c2d-gitlab.
This guide describes how to provision and configure a GitLab Community Edition instance in the PHX reference implementation.
Add GitLab Runners to the PHX reference implementation, including an optional air-gapped simulation.
Create an GitLab instance with container registry and a GitLab Runner.
Learn how to generate SSH keys for securely accessing C2 Platform GitLab repositories and set up a GitLab account.
Create GitLab Container Registry on node c2d-gitlab.
Learn how to create a Kerberos keytab file for secure, automated authentication without human intervention.
This section explores various aspects of using GitLab in the context of the PHX project, with a focus on automation, CI/CD integration, and management best practices.
Create Kubernetes cluster on node c2d-ks1 and manage it using GitLab Agent.
Create GitLab Runner node c2d-gitlab-runner.
Running GitLab pipelines in Kubernetes using local GitLab instance c2d-gitlab.
Streamline the development and release process of Ansible collections with a CI/CD pipeline to Ansible Galaxy.
Ansible Inventory projects and Ansible Collection projects used RWS.
Example CI/CD Pipeline for an Ansible Collection
Unlimited and unrestricted usage of an advanced software development platform for all disciplines, from version control to project management and CI/CD workloads.
Docker-in-docker image based on docker:20.10.16-dind for the development environment. This image is intended to be used on the GitLab instance running on c2d-gitlab.
Clear and comprehensive documentation that fosters collaboration and optimizes automation projects.
Welcome to the Git LFS and GitLab Pages example project! This repository demonstrates how to use Git LFS (Large File Storage) and GitLab Pages to create a simple Ansible Software Repository tailored for air-gapped environments. This setup allows hosting and distributing software binaries and Ansible Galaxy collections.
Docker image for the development environment c2d. This image is intended to be used for GitLab instance running on c2d-gitlab.
Installs and configures GitLab Community Edition (CE) on Debian/Ubuntu and RHEL-based Linux systems with support for SSL certificates, Personal Access Tokens (PATs), import sources configuration, and integration with the C2 Platform ecosystem.
Installs and configures GitLab Runner for CI/CD pipelines on Linux systems with support for multiple executor types (Docker, Shell), VM-based and container-based runners, and air-gapped environments.
Run DinD locally for example to develop a GitLab CI/CD pipeline that will use this technique
C2 Ansible Management collection
Using keytab files in your CI/CD pipelines can enhance security, but it requires careful handling to avoid exposing sensitive information. This guide provides best practices for using keytab files securely in GitLab CI/CD.