All Projects → csanquer → gitlab-setup

csanquer / gitlab-setup

Licence: MIT License
A Packer / Terraform / Ansible configuration to install Gitlab and Gitlab-CI

Programming Languages

HCL
1544 projects
shell
77523 projects
Makefile
30231 projects
Smarty
1635 projects

Projects that are alternatives of or similar to gitlab-setup

gitlab-ci-variables-cli
CLI tool to allow setting bulk project variables on Gitlab CI
Stars: ✭ 38 (-28.3%)
Mutual labels:  gitlab, gitlab-ci
gruntwork-io.github.io
The gruntwork.io website
Stars: ✭ 38 (-28.3%)
Mutual labels:  packer, infrastructure-as-code
icp-ce-on-linux-containers
Multi node IBM Cloud Private Community Edition 3.2.x w/ Kubernetes 1.13.5 in a Box. Terraform, Packer and BASH based Infrastructure as Code script sets up a multi node LXD cluster, installs ICP-CE and clis on a metal or VM Ubuntu 18.04 host.
Stars: ✭ 52 (-1.89%)
Mutual labels:  packer, infrastructure-as-code
gitlab-release-note-generator
A Gitlab release note generator
Stars: ✭ 88 (+66.04%)
Mutual labels:  gitlab, gitlab-ci
gitlab-chart
Kubernetes Helm chart to deploy GitLab
Stars: ✭ 59 (+11.32%)
Mutual labels:  gitlab, gitlab-ci
GitLabCLI
Cross platform GitLab CLI tool
Stars: ✭ 28 (-47.17%)
Mutual labels:  gitlab, gitlab-ci
aztack
Terraform module for creating Kubernetes clusters running on Azure
Stars: ✭ 69 (+30.19%)
Mutual labels:  packer, infrastructure-as-code
Gitlab Ci Monitor
A simple dashboard for monitoring GitLab CI builds. Alpha version.
Stars: ✭ 152 (+186.79%)
Mutual labels:  gitlab, gitlab-ci
gitlab-job-log-viewer
Browser extension for code highlighting raw logs in Gitlab CI
Stars: ✭ 21 (-60.38%)
Mutual labels:  gitlab, gitlab-ci
godot-cpp-ci
Docker image and Github Actions to automatically compile Godot C++ GDNative libraries.
Stars: ✭ 21 (-60.38%)
Mutual labels:  gitlab, gitlab-ci
podman-gitlab-runner
Use Podman as a custom executor for your Gitlab CI
Stars: ✭ 87 (+64.15%)
Mutual labels:  gitlab, gitlab-ci
gitlab-runner
GitLab Runner (Docker image) for ARM devices, this is a mirror repository of
Stars: ✭ 17 (-67.92%)
Mutual labels:  gitlab, gitlab-ci
gitlab-runner
Gitlab Runner on Alpine Linux [Docker]
Stars: ✭ 17 (-67.92%)
Mutual labels:  gitlab, gitlab-ci
gitlabby-dockerish-laravel
What happens when you Dockerize your Laravel testing environment and throw it at Gitlab CI?
Stars: ✭ 33 (-37.74%)
Mutual labels:  gitlab, gitlab-ci
Godot Ci
Docker image to export Godot Engine games. Templates for Gitlab CI and GitHub Actions to deploy to GitLab Pages/GitHub Pages/Itch.io.
Stars: ✭ 168 (+216.98%)
Mutual labels:  gitlab, gitlab-ci
gitlab-ci-runner-marathon
A customized Docker image for running scalable GitLab CI runners on Marathon
Stars: ✭ 14 (-73.58%)
Mutual labels:  gitlab, gitlab-ci
Gitlabapiclient
GitLab API client
Stars: ✭ 138 (+160.38%)
Mutual labels:  gitlab, gitlab-ci
Gitlab Ci Stack
Full CI pipeline project based on Gitlab & Gitlab CI running Docker, completely automated setup by Vagrant & Ansible, providing Let´s Encrypt certificates for private Servers, multiple Gitlab-Runners and the Gitlab Container Registry, incl. GitLab Pages
Stars: ✭ 146 (+175.47%)
Mutual labels:  gitlab, gitlab-ci
gitlab-ci-android-fastlane
Docker image for building android apps on Gitlab CI
Stars: ✭ 25 (-52.83%)
Mutual labels:  gitlab, gitlab-ci
godot-ci
Docker image to export Godot Engine games. Templates for Gitlab CI and GitHub Actions to deploy to GitLab Pages/GitHub Pages/Itch.io.
Stars: ✭ 316 (+496.23%)
Mutual labels:  gitlab, gitlab-ci

Gitlab HA setup template on AWS

This template is a POC to setup a Gitlab system with High Availability on Amazon Web Service Cloud.

This template is heavily inspired by Gitlab university : HA on AWS.

The project tries to follow Immutable server pattern and Infrastructure-as-Code principles by using :

Requirements

  • a AWS account (Be careful this template implies creating billable resources on AWS cloud)

    You will need an AWS access key and enough admin permissions to create AWS ressources

  • a AWS Route 53 DNS zone already created (the template will add new subdomain DNS A records)

  • a SSH Key pair to connect to Gitlab and AWS instances (see Github help for examples)

  • Packer >= 0.12

  • Terraform >= 8.2

  • GNU Make or some Unix equivalent Implementation

  • (optional) Graphiz to generate Terraform config Graph Images

    # on ubuntu/debian
    sudo apt-get install graphviz

Usage

Download the terraform and packer templates

git clone --recursive https://github.com/csanquer/gitlab-setup.git

To create the Gitlab infrastructure

  1. Copy and edit the configuration files :
  • terraform : terraform/terraform.dist.tfvars to terraform/terraform.tfvars
  • packer : packer/config.dist.json to packer/config.json
  1. create Amazon Machine Images :
  • Gitlab
  • Gitlab-CI-multirunner
make ami
  1. check Terraform plan
make plan
  1. if terraform plan is correct, create AWS resources by applying the terraform plan
make apply
  • you can check again the terraform exported variables output
    make output
  • you can also get Graphviz graphs of all terraform config
    # in PNG image format
    make graphs
    # or in SVG
    make graphs format=svg

After creation, wait for a few minutes the autoscaled gitlab instances finish self initialization.

if variables are set in terraform/terraform.tvars like :

aws_dns_zone = "my-aws.net"
gitlab_dns_subdomain = "gitlab"

The Gitlab server should be available to http://gitlab.my-aws.net/

To destroy the Gitlab infrastructure

make destroy
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].