Skip to content

Terraform module to deploy Gitlab into EKS with S3 for storage

License

Notifications You must be signed in to change notification settings

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 3.0.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_v1.gitlab resource
kubernetes_secret_v1.gitlab_omniauth_providers resource
kubernetes_secret_v1.gitlab_rails_storage resource
kubernetes_secret_v1.gitlab_registry_storage resource
kubernetes_secret_v1.ldap resource
kubernetes_secret_v1.postgres resource
kubernetes_secret_v1.redis resource
kubernetes_secret_v1.registry_postgres resource
kubernetes_secret_v1.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
buckets_versioning Versioning for buckets map(bool) {} 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
registry_database_password Password to access Registry PostgreSQL database string null no
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 4

  •  
  •  
  •  
  •  

Languages