Skip to content

Commit

Permalink
PLT-0 - Add one password cli
Browse files Browse the repository at this point in the history
* add one password cli to allow usage of 1password terraform provider with service account token
  • Loading branch information
Engerim committed Jan 8, 2024
1 parent 6d973e4 commit 00bae17
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/docker_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ jobs:
}
retry make build ATLANTIS=${ATLANTIS} TERRAFORM=${TERRAFORM} TERRAGRUNT=${TERRAGRUNT}
env:
RETRIES: 20
RETRIES: 1

- name: Test
run: |
Expand Down
24 changes: 24 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ RUN apk add \
ARG TERRAGRUNT
ARG TERRAFORM
ARG TERRAGRUNT_ATLANTIS_CONFIG
ARG ONE_PASSWORD_CLI

###
### Ensure Terraform version is present, linked and validated
Expand Down Expand Up @@ -66,4 +67,27 @@ RUN set -eux \
&& chmod +x terragrunt-atlantis-config \
&& rm -rf terragrunt-atlantis-config_${TERRAGRUNT_ATLANTIS_CONFIG}_linux_amd64*


###
### Ensure 1Password CLI version is present, linked and validated
###
RUN set -eux \
# && if [ "${ONE_PASSWORD_CLI}" = "latest" ]; then \
# ONE_PASSWORD_CLI="$( \
# curl -sS https://app-updates.agilebits.com/product_history/CLI2 \
# | grep -Eo '"/dist/1P/op2/pkg/v?[0-9]+\.[0-9]+\.[0-9]+/op_linux_amd64"' \
# | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' \
# | sort -V \
# | tail -1 \
# )"; \
# fi \
cd "/tmp" \
&& curl -sS "https://cache.agilebits.com/dist/1P/op2/pkg/v${ONE_PASSWORD_CLI}/op_linux_amd64_v${ONE_PASSWORD_CLI}.zip" -o op.zip \
#&& unzip op.zip \
#&& rm op.zip \
#&& cd "op" \
#&& chmod +x op \
#&& mv op /usr/local/bin/op; \
#&& op --version | grep "v${ONE_PASSWORD_CLI}"

USER atlantis
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ ATLANTIS = '0.27.0'
TERRAFORM = '1.6.6'
TERRAGRUNT = '0.54.4'
TERRAGRUNT_ATLANTIS_CONFIG = '1.16.0'
ONE_PASSWORD_CLI = '2.24.0'

pull:
docker pull $(shell grep FROM Dockerfile | sed 's/^FROM//g' | sed "s/\$${ATLANTIS}/$(ATLANTIS)/g";)
Expand All @@ -25,13 +26,15 @@ build:
--build-arg TERRAFORM=$(TERRAFORM) \
--build-arg TERRAGRUNT=$(TERRAGRUNT) \
--build-arg TERRAGRUNT_ATLANTIS_CONFIG=$(TERRAGRUNT_ATLANTIS_CONFIG) \
--build-arg ONE_PASSWORD_CLI=$(ONE_PASSWORD_CLI) \
-t $(IMAGE) -f $(DIR)/$(FILE) $(DIR)

test:
docker run --rm --entrypoint atlantis ${IMAGE} version | grep -E '^atlantis v$(ATLANTIS) '
docker run --rm --entrypoint terraform ${IMAGE} --version | grep -E 'v$(TERRAFORM)$$'
docker run --rm --entrypoint terragrunt ${IMAGE} --version | grep -E 'v$(TERRAGRUNT)$$'
docker run --rm --entrypoint terragrunt-atlantis-config ${IMAGE} version | grep -E "$(TERRAGRUNT_ATLANTIS_CONFIG)$$"
docker run --rm --entrypoint op ${IMAGE} --version | grep -E "$(ONE_PASSWORD_CLI)$$"

tag:
docker tag $(IMAGE) $(IMAGE):$(TAG)
Expand Down

0 comments on commit 00bae17

Please sign in to comment.