From 632813404c2c3dd053c557d8c050f2841d67e8aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Kr=C3=B3likowski?= Date: Tue, 8 Sep 2026 16:51:38 +0200 Subject: [PATCH 1/5] feat: installing gitlab and github cli --- Dockerfile | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index db3e630..d32a6c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,18 +30,26 @@ RUN curl -L "https://github.com/gruntwork-io/terragrunt/releases/download/${TERR chmod +x "${BINARY_NAME}" && \ mv "${BINARY_NAME}" /usr/local/bin/terragrunt - # Terraform installation +# Terraform installation RUN curl -L "https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_${OS}_${ARCH}.zip" -o terraform.zip && \ unzip terraform.zip && \ mv terraform /usr/local/bin/ && \ rm terraform.zip && \ chmod +x /usr/local/bin/terraform - # Hashicorp Vault installation +# Hashicorp Vault installation RUN wget -O - https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg && \ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | tee /etc/apt/sources.list.d/hashicorp.list && \ apt update && apt -y install vault - # Injecting python modules +# Injecting python modules RUN pipx install --include-deps ansible && \ pipx inject ansible requests pytz + +# Gitlab CLI +RUN wget https://gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages/generic/glab/1.117.0/glab_1.117.0_${OS}_${ARCH}.deb && \ + dpkg -i glab_1.117.0_${OS}_${ARCH}.deb \ + rm -f glab_1.117.0_${OS}_${ARCH}.deb + +# Github CLI +RUN curl -sS https://webi.sh/gh | sh \ No newline at end of file From b88b6af0bca5f3b77b543e368996d72904b27090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Kr=C3=B3likowski?= Date: Tue, 8 Sep 2026 17:37:15 +0200 Subject: [PATCH 2/5] fix: resolving variables inside string --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d32a6c0..27bfa85 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,7 +47,7 @@ RUN pipx install --include-deps ansible && \ pipx inject ansible requests pytz # Gitlab CLI -RUN wget https://gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages/generic/glab/1.117.0/glab_1.117.0_${OS}_${ARCH}.deb && \ +RUN wget "https://gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages/generic/glab/1.117.0/glab_1.117.0_${OS}_${ARCH}.deb" && \ dpkg -i glab_1.117.0_${OS}_${ARCH}.deb \ rm -f glab_1.117.0_${OS}_${ARCH}.deb From fb558785398dd565ba016f4bdfc35510054f145c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Kr=C3=B3likowski?= Date: Tue, 8 Sep 2026 21:10:27 +0200 Subject: [PATCH 3/5] fix: switching wget to curl --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 27bfa85..2b61b55 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,9 +47,9 @@ RUN pipx install --include-deps ansible && \ pipx inject ansible requests pytz # Gitlab CLI -RUN wget "https://gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages/generic/glab/1.117.0/glab_1.117.0_${OS}_${ARCH}.deb" && \ - dpkg -i glab_1.117.0_${OS}_${ARCH}.deb \ - rm -f glab_1.117.0_${OS}_${ARCH}.deb +RUN curl -L "https://gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages/generic/glab/1.117.0/glab_1.117.0_${OS}_${ARCH}.deb" -o glab.deb && \ + dpkg -i glab.deb \ + rm -f glab.deb # Github CLI RUN curl -sS https://webi.sh/gh | sh \ No newline at end of file From e11049f8b158013fef03344a89268e401df9a484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Kr=C3=B3likowski?= Date: Tue, 8 Sep 2026 21:18:02 +0200 Subject: [PATCH 4/5] fix: missing apersands --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2b61b55..4a681d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,7 +48,7 @@ RUN pipx install --include-deps ansible && \ # Gitlab CLI RUN curl -L "https://gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages/generic/glab/1.117.0/glab_1.117.0_${OS}_${ARCH}.deb" -o glab.deb && \ - dpkg -i glab.deb \ + dpkg -i glab.deb && \ rm -f glab.deb # Github CLI From 4576b7a2009d320393d23755f2976ccc6a322ad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Kr=C3=B3likowski?= Date: Tue, 8 Sep 2026 21:27:14 +0200 Subject: [PATCH 5/5] docs: document gitlab and github CLI in README Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01C7af6DThxXCThjY7q16GAx --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index d35d8ed..554a537 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ This Docker image is based on Ubuntu 24.04 and includes popular IAC tools common - **Terragrunt** - Terraform wrapper for managing multiple environments - **Ansible** - Configuration management and automation tool - **Vault** - Hashicorp vault binary +- **GitLab CLI (glab)** - Command line interface for GitLab +- **GitHub CLI (gh)** - Command line interface for GitHub ## Included Tools @@ -19,6 +21,8 @@ This Docker image is based on Ubuntu 24.04 and includes popular IAC tools common | Terragrunt | v0.77.22 | Thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules | | Ansible | Latest | Automation platform for configuration management, application deployment, and task automation | | vault | Latest | Hashicorp vault client for managing vault resources | +| glab | 1.117.0 | GitLab CLI for managing merge requests, pipelines, issues and repositories from the terminal | +| gh | Latest | GitHub CLI for managing pull requests, issues, releases and repositories from the terminal | ## Additional Packages @@ -56,6 +60,8 @@ docker run -it --rm -v $(pwd):/workspace -w /workspace iac-tools:latest /bin/bas docker run --rm -v $(pwd):/workspace -w /workspace iac-tools:latest terraform --version docker run --rm -v $(pwd):/workspace -w /workspace iac-tools:latest terragrunt --version docker run --rm -v $(pwd):/workspace -w /workspace iac-tools:latest ansible --version +docker run --rm -v $(pwd):/workspace -w /workspace iac-tools:latest glab --version +docker run --rm -v $(pwd):/workspace -w /workspace iac-tools:latest gh --version ``` ### Docker Compose