Skip to content

Terraform module to deploy Gitlab into EKS with S3 for storage

License

Perun-Engineering/eks-gitlab

Repository files navigation

Documentation

Description and Architecture

This module was created to simplify deploying Gitlab into the EKS with storage on AWS S3, AWS Aurora for PostreSQL, and AWS ElastiCache Redis.

Architectural diagram

In the above diagram, you can see the components and their relations (PostgreSQL and Redis are not deployed with this module).

Requirements

Name Version
terraform >= 1.0
aws 5.36.0
helm 2.11.0
kubectl ~> 2.0
kubernetes >= 2.20
time >= 0.9

Providers

Name Version
aws 5.36.0
helm 2.11.0
kubernetes 2.37.1

Modules

Name Source Version
gitlab_role terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc v5.34.0
s3_bucket terraform-aws-modules/s3-bucket/aws 4.1.0

Resources

Name Type
helm_release.gitlab resource
kubernetes_namespace.gitlab resource
kubernetes_secret.gitlab_omniauth_providers resource
kubernetes_secret.gitlab_rails_storage resource
kubernetes_secret.gitlab_registry_storage resource
kubernetes_secret.ldap resource
kubernetes_secret.postgres resource
kubernetes_secret.redis resource
kubernetes_secret.smtp resource
aws_eks_cluster.eks data source
aws_iam_policy_document.s3_bucket_policy data source
aws_region.current data source

Inputs

Name Description Type Default Required
bucket_prefix Prefix used for S3 buckets string "" no
buckets_lifecycles Lifecycle rules for buckets map(string) {} no
cluster_name EKS cluster name where you want to deploy the release string n/a yes
database_password Password to access PostgreSQL database string n/a yes
gitlab_chart_version Version of the gitlab chart string "7.8.1" no
ldap_password LDAP password string "" no
namespace_labels Labels for GitLab namespace map(string) {} no
omniauth_providers OmniAuth providers map(string) {} no
redis_password Password to access Redis database string n/a yes
release_max_history Maximum saved revisions per release number 10 no
release_name This is the name of the release which also used as a prefix or suffix for the resources string "gitlab" no
release_namespace Namespace name where you want to deploy the release. If empty, release_name will be used. string "" no
smtp_password SMTP Password string "" no
smtp_user SMTP Username string "" no
tags A map of tags to add to all resources map(string) {} no
values Custom values.yaml file for the Helm chart any [] no

Outputs

No outputs.

About

Terraform module to deploy Gitlab into EKS with S3 for storage

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages