Giter Club home page Giter Club logo

tgenv's Introduction

TGENV - Terragrunt Version Manager

Tests

lixnux macos shell

tgenvlogo

This project was forked from old project cunymatthieu/tgenv. The intention here it's keep the project alive.

Terragrunt version manager inspired by tfenv project.

Support 💻

Currently tgenv supports the following OSes

  • Mac OS X (64bit)
  • Mac OS M1 (arm64)
  • Linux (64bit)

Summary 🔖

  1. Installation
    1. Cloning the repository
    2. Export PATH
      1. Bash
      2. ZSH
  2. Usage
    1. tgenv install
    2. tgenv use
    3. tgenv uninstall
    4. tgenv list
    5. tgenv list-remote
    6. tgenv upgrade
  3. The terragrunt-version file
  4. Environment Variables
    1. TGENV_AUTO_INSTALL
    2. TGENV_DEBUG
  5. Uninstalling
  6. License

Installation 🔧

1. Cloning the repository

Check out latest version of tgenv

$ git clone --depth 1 --branch main https://github.com/tgenv/tgenv.git ~/.tgenv

Or checkout tgenv at specific tag

$ git clone --depth 1 --branch v1.0.0 https://github.com/tgenv/tgenv.git ~/.tgenv

2. Add tgenv to $PATH

Bash

Add ~/.tgenv/bin to your $PATH any way you like

$ echo 'export PATH="$HOME/.tgenv/bin:$PATH"' >> ~/.bash_profile

OR you can make symlinks for tgenv/bin/* scripts into a path that is already added to your $PATH (e.g. /usr/local/bin) OSX/Linux Only!

$ ln -s ~/.tgenv/bin/* /usr/local/bin

ZSH

Add ~/.tgenv/bin to your $PATH any way you like

$ echo 'export PATH="$HOME/.tgenv/bin:$PATH"' >> ~/.zshrc

If you use Oh My Zsh, after export just run

$ omz reload

Usage ▶️

tgenv install

Install a specific version of terragrunt
latest is a syntax to install latest version latest:<regex> is a syntax to install latest version matching regex (used by grep -e)

$ tgenv install 0.40.2
$ tgenv install latest
$ tgenv install latest:^0.9

If you use .terragrunt-version, tgenv install (no argument) will install the version written in it.

tgenv use

Switch a version to use latest is a syntax to use the latest installed version latest:<regex> is a syntax to use latest installed version matching regex (used by grep -e)

$ tgenv use 0.40.2
$ tgenv use latest
$ tgenv use latest:^0.10

tgenv uninstall

Uninstall a specific version of terragrunt latest is a syntax to uninstall latest version latest:<regex> is a syntax to uninstall latest version matching regex (used by grep -e)

$ tgenv uninstall 0.12.1
$ tgenv uninstall latest
$ tgenv uninstall latest:^0.9

tgenv list

List installed versions

% tgenv list
0.12.15
0.12.8
0.10.0
0.9.9

tgenv list-remote

List installable versions

% tgenv list-remote
0.42.5
0.42.4
0.42.3
0.42.2
0.42.1
0.42.0
0.41.0
0.40.2
0.40.1
0.40.0
0.39.2
0.39.1
0.39.0
...

tgenv upgrade

Upgrade the version of TGEnv software to latest version

$ tgenv upgrade

The terragrunt-version file 📄

If you put .terragrunt-version file on your project root, tgenv detects it and use the version written in it. If the version is latest or latest:<regex>, the latest matching version currently installed will be selected.

$ cat .terragrunt-version
0.9.9

$ terragrunt --version
terragrunt version v0.9.9

Your version of terragrunt is out of date! The latest version
is 0.7.3. You can update by downloading from www.terragrunt.io

$ echo 0.9.9 > .terragrunt-version

$ terragrunt --version
terragrunt v0.12.15

$ echo latest:^0.10 > .terragrunt-version

$ terragrunt --version
terragrunt v0.10.3

Environment Variables 📦

TGENV_AUTO_INSTALL

String (Default: true)

Should tgenv automatically install terragrunt if the version specified by defaults or a .terragrunt-version file is not currently installed.

TGENV_AUTO_INSTALL=false terragrunt plan

TGENV_DEBUG

Integer (Default: "")

Set the debug level for TGENV.

  • unset/empty-string: No debug output
  • set: Bash execution tracing

TGENV_DISABLE_COLOR

Integer (Default: "")

Disable colored output for tgenv. This variable can either be set explicitly or will be set automatically if the -no-color flag is used with the terragrunt binary.

Uninstalling 🚫

Just run:

$ rm -rf /some/path/to/tgenv

And delete the previous export $PATH .

The uninstall command is under development.

LICENSE 👍

tgenv's People

Contributors

dennyloko avatar fabianoshz avatar heikoneblung avatar iokiwi avatar weyderfs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

tgenv's Issues

Add a `--no-color` CLI argument

When running tgenv in CI/CD pipelines the output is polluted with the color characters.

[2023-03-09T12:20:42.216Z] �[0;32m[INFO] Installation of terragrunt v0.43.2 successful�[0;39m
[2023-03-09T12:20:42.538Z] �[0;32m[INFO] Switching to v0.43.2�[0;39m
[2023-03-09T12:20:43.707Z] �[0;32m[INFO] Switching completed�[0;39m
[2023-03-09T12:20:44.438Z] �[0;32m[INFO] Switching to v0.43.2�[0;39m
[2023-03-09T12:20:45.159Z] �[0;32m[INFO] Switching completed�[0;39m

Having the ability for tgenv to not output the color codes would be a great feature add.

Offline versions list file is outdated

When running the command

tgenv list-remote

fails to get remote versions the offline versions file is printed. This file will be outdated after some time since it is a static file.

It would be great to update this file when geting remote versions is successful.

Fix or disable tests for test-main-pushes action.

Tests for windows failed after merging. We should disable them or get them working.

Tests for windows weren't run on the pull request to add tests. If we get them working, we should also run them on pull requests.

I haven't had a close look at why they failed but I am wondering about the effort/value tradeoff of fixing vs disabling.

Currently our readme has a tests failed badge which isn't a good look so also wonder if we should do something about that in the meantime.

Implement shellceck in CI/CD

This is a kind of insane pure bash repo. We should implement shell check to run on all pull requests and fix any recommendations from shellcheck (https://www.shellcheck.net/)

Shellcheck is pretty good at catching and helping guard against common bash gotchas and can also help us improve on standards compliance and cross platform support.

For example I get a bunch of suggestions from shellcheck for libexec/helpers.sh

[Line 17:](javascript:setPosition(17, 32))
    echo -e "tgenv: $(basename ${0}): [ERROR] ${1}" >&2
                               ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([0])), apply [all SC2086](javascript:applyFixCode(2086)))
    echo -e "tgenv: $(basename "${0}"): [ERROR] ${1}" >&2
 
[Line 19:](javascript:setPosition(19, 32))
    echo -e "tgenv: $(basename ${0}): ${RED}[ERROR] ${1}${RESET}" >&2
                               ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([1])), apply [all SC2086](javascript:applyFixCode(2086)))
    echo -e "tgenv: $(basename "${0}"): ${RED}[ERROR] ${1}${RESET}" >&2
 
[Line 26:](javascript:setPosition(26, 32))
    echo -e "tgenv: $(basename ${0}): [WARN] ${1}" >&2
                               ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([2])), apply [all SC2086](javascript:applyFixCode(2086)))
    echo -e "tgenv: $(basename "${0}"): [WARN] ${1}" >&2
 
[Line 28:](javascript:setPosition(28, 32))
    echo -e "tgenv: $(basename ${0}): ${YELLOW}[WARN] ${1}${RESET}" >&2
                               ^-- [SC2086](https://www.shellcheck.net/wiki/SC2086) (info): Double quote to prevent globbing and word splitting.

Did you mean: ([apply this](javascript:applyFixIndex([3])), apply [all SC2086](javascript:applyFixCode(2086)))
    echo -e "tgenv: $(basename "${0}"): ${YELLOW}[WARN] ${1}${RESET}" >&2

tgenv doesn't use/install version listed in .terragrunt-version unless at least one other version is already installed

Steps to reproduce

  1. Start with a fresh environment
bash-4.2# docker run -it --entrypoint="/bin/bash" amazon/aws-cli:latest
bash-4.2# yum install -y git
# install tgenv
bash-4.2# git clone --depth=1 https://github.com/tgenv/tgenv.git ~/.tgenv
bash-4.2# ln -s ~/.tgenv/bin/* /usr/local/bin
  1. Lets set our desired terragrunt version
bash-4.2# echo "0.38.0" > .terragrunt-version
bash-4.2# cat .terragrunt-version 
0.38.0

bash-4.2# terragrunt --version
tgenv: tgenv-version-name: [ERROR] No versions of terragrunt installed. Please install one with: tgenv install
tgenv: tgenv-exec: [ERROR] Failed to get version from tgenv-version-name
  1. Observe that terragunt --version does not result in our desired terragrunt version getting auto installed. Instead, we get an error.
bash-4.2# tgenv install latest
[INFO] Installing Terragrunt v0.43.0
[INFO] Downloading release tarball from https://github.com/gruntwork-io/terragrunt/releases/download/v0.43.0/terragrunt_linux_amd64
################################################################################################################################################################################################## 100.0%
[INFO] Installation of terragrunt v0.43.0 successful
[INFO] Switching to v0.43.0
[INFO] Switching completed

bash-4.2# cat .terragrunt-version
0.43.0
  1. Notice that the contents of .terraform-version has changed, so lets restore it to our desired terragrunt version again.
bash-4.2# echo "0.38.0" > .terragrunt-version
bash-4.2# cat .terragrunt-version 
0.38.0
  1. Now lets try run terragrunt --version again. Observe it behaves as expected.
bash-4.2# terragrunt --version
tgenv: tgenv-version-name: [WARN] version '0.38.0' is not installed (set by /aws/.terragrunt-version)
[INFO] version '0.38.0' is not installed (set by /aws/.terragrunt-version). Installing now as TGENV_AUTO_INSTALL==true
[INFO] Installing Terragrunt v0.38.0
[INFO] Downloading release tarball from https://github.com/gruntwork-io/terragrunt/releases/download/v0.38.0/terragrunt_linux_amd64
################################################################################################################################################################################################## 100.0%
[INFO] Installation of terragrunt v0.38.0 successful
[INFO] Switching to v0.38.0
[INFO] Switching completed
terragrunt version v0.38.0

Automatically run tests in gitlab actions CI/CD

We ought to get tests running as a safety net to ensure that pull requests we accepts don't cause weird regressions.

There are already tests included in the repo, but running them locally failed

We should get them working and then make them in gitlab actions on merge requests as a gate before merging.

Detect Terragrunt Versions By Release

The Gruntwork team is updating our release process to rely on pre-releases as a way to avoid users trying to utilize new releases before binaries are successfully compiled and uploaded to them.

In order for tgenv users to benefit from this, available versions should be determined using releases, rather than tags, and a default filter should prevent pre-releases from showing up as an available version.

This would be achieved by adjusting the logic in:
https://github.com/tgenv/tgenv/blob/main/libexec/tgenv-list-remote

To leverage the following endpoint:
https://api.github.com/repos/gruntwork-io/terragrunt/releases

Would the maintainers here be amenable to that?

tgenv does't use/install terrgrunt versions specified as regex in .terragrunt-version

Steps to reproduce

$ echo "latest:^0.30" > .terragrunt-version
$ tg --version
tgenv: tgenv-version-name: [ERROR] No installed versions of terragrunt matched 'latest:^0.30'
tgenv: tgenv-exec: [ERROR] Failed to get version from tgenv-version-name

Expected:

tgenv should install terragrunt latest matching terraform version (0.30.7). This is the behavior observed in tfenv too and specified in our docs.

Actual:

Error message

tgenv: tgenv-version-name: [ERROR] No installed versions of terragrunt matched 'latest:^0.30'
tgenv: tgenv-exec: [ERROR] Failed to get version from tgenv-version-name

exec.ExitError exit status 126.

Recently we have implemented tfenv and tgenv to manage multiple versions of terraform and terragrunt . When I try to run terragrunt run-all plan I'm getting a 126 error exit code. I've enabled debug logging and it's not very helpful. The issue is intermittent where run--all plan get succeeds sometimes and fails intermittently. User(AzDevOps) has execute permissions on both terraform and terragrunt. I am not sure why I am getting this error. There is not much information available from the logs.

Setup:
Ubuntu machine 20_04-lts

Command:
terragrunt run-all plan --terragrunt-source-update -no-color --terragrunt-include-external-dependencies

Permissions:

drwxr-xr-x  3 root root 4096 Sep 20 16:48 aws-cli
drwxr-xr-x  3 root root 4096 Sep 20 16:48 bin
drwxr-xr-x  2 root root 4096 Aug 31 21:39 etc
drwxr-xr-x  2 root root 4096 Aug 31 21:39 games
drwxr-xr-x  2 root root 4096 Aug 31 21:39 include
drwxr-xr-x  3 root root 4096 Aug 31 21:39 lib
lrwxrwxrwx  1 root root    9 Aug 31 21:39 man -> share/man
drwxr-xr-x  2 root root 4096 Aug 31 21:39 sbin
drwxr-xr-x  5 root root 4096 Sep 20 16:44 share
drwxr-xr-x  2 root root 4096 Aug 31 21:39 src
drwxrwxrwx 10 root root 4096 Sep 20 16:46 tfenv
drwxrwxrwx  9 root root 4096 Sep 20 16:46 tgenv
/agent/_work/1/s
total 60
-rwxrwxrwx 1 root root  7397 Sep 20 16:46 CHANGELOG.md
-rwxrwxrwx 1 root root   913 Sep 20 16:46 Dockerfile
-rwxrwxrwx 1 root root  1085 Sep 20 16:46 LICENSE
-rwxrwxrwx 1 root root 13212 Sep 20 16:46 README.md
drwxrwxrwx 2 root root  4096 Sep 20 16:46 bin
drwxrwxrwx 2 root root  4096 Sep 20 16:46 lib

Error:

time=2023-11-06T03:03:51Z level=error msg=169 errors occurred:
	* Cannot process module Module /agent/_work/1/s/prd/apps/omnicc/key_vault_ado_access_policies/awslandingzone_ado (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/apps/omnicc/key_vault_ado]) because one of its dependencies, Module /agent/_work/1/s/prd/apps/omnicc/key_vault_ado (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/apps/omnicc/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/apps/omnicc/key_vault_ado (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/apps/omnicc/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]) because one of its dependencies, Module /agent/_work/1/s/prd/apps/omnicc/resource_group (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/appdeploy_pool/key_vault_access_policies/disk_encryption_set (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/appdeploy_pool/key_vault, /agent/_work/1/s/prd/services/azure_devops/agent_pool/appdeploy_pool/disk_encryption_set]) because one of its dependencies, Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/appdeploy_pool/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/appdeploy_pool/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]), finished with an error: Cannot process module Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/resource_group_loganalytics (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* exit status 126
	* exit status 126
	* Cannot process module Module /agent/_work/1/s/shared_cac/services/private_dns_zones/privatelink_postgres_database_azure_com (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/services/private_dns_zones/resource_group]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/services/private_dns_zones/resource_group (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/onprem_pool/key_vault_keys/disk_encryption_set (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/onprem_pool/key_vault]) because one of its dependencies, Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/onprem_pool/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/onprem_pool/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]), finished with an error: Cannot process module Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/resource_group_loganalytics (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/apps/dea/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/apps/dea/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]) because one of its dependencies, Module /agent/_work/1/s/prd/apps/dea/resource_group (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/apps/omnicc/agent_pool/vmss_iac (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/apps/omnicc/resource_group, /agent/_work/1/s/prd/network/subnet_adoagents, /agent/_work/1/s/prd/apps/omnicc/agent_pool/disk_encryption_set]) because one of its dependencies, Module /agent/_work/1/s/prd/network/subnet_adoagents (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/network/vnet]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/network/subnet_adoagents (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/network/vnet]) because one of its dependencies, Module /agent/_work/1/s/prd/network/vnet (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/network/resource_group_vnet]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/network/vnet (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/network/resource_group_vnet]) because one of its dependencies, Module /agent/_work/1/s/prd/network/resource_group_vnet (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/disk_encryption_set (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/resource_group, /agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/key_vault_keys/disk_encryption_set]) because one of its dependencies, Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/key_vault_keys/disk_encryption_set (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/key_vault]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/key_vault_keys/disk_encryption_set (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/key_vault]) because one of its dependencies, Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/services/azure_devops/agent_pool/vmss_mfbuild/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/azure_devops/agent_pool/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]), finished with an error: Cannot process module Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/resource_group_loganalytics (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/services/virtual_desktop/biz_users/workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/virtual_desktop/biz_users/resource_group, /agent/_work/1/s/prd/services/virtual_desktop/biz_users/app_group]) because one of its dependencies, Module /agent/_work/1/s/prd/services/virtual_desktop/biz_users/resource_group (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/services/aks (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/services/container_registry_forestersfinancial, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace, /agent/_work/1/s/shared_cac/services/private_dns_zones/privatelink_canadacentral_azmk8s_io, /agent/_work/1/s/prd/network/subnet_kubernetes, /agent/_work/1/s/prd/network/route_table_kubernetes, /agent/_work/1/s/prd/network/resource_group_vnet]) because one of its dependencies, Module /agent/_work/1/s/prd/network/resource_group_vnet (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/apps/omnicc/key_vault_ado (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/apps/omnicc/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]) because one of its dependencies, Module /agent/_work/1/s/prd/apps/omnicc/resource_group (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/prd/services/virtual_desktop/biz_users/storage_share_profiles (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/virtual_desktop/biz_users/storage_account_profiles]) because one of its dependencies, Module /agent/_work/1/s/prd/services/virtual_desktop/biz_users/storage_account_profiles (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/virtual_desktop/biz_users/resource_group, /agent/_work/1/s/prd/services/virtual_desktop/biz_users/key_vault]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/services/virtual_desktop/biz_users/storage_account_profiles (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/virtual_desktop/biz_users/resource_group, /agent/_work/1/s/prd/services/virtual_desktop/biz_users/key_vault]) because one of its dependencies, Module /agent/_work/1/s/prd/services/virtual_desktop/biz_users/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/virtual_desktop/biz_users/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]), finished with an error: Cannot process module Module /agent/_work/1/s/prd/services/virtual_desktop/biz_users/key_vault (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/prd/services/virtual_desktop/biz_users/resource_group, /agent/_work/1/s/shared_cac/operations/loganalytics_workspace]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]), finished with an error: Cannot process module Module /agent/_work/1/s/shared_cac/operations/loganalytics_workspace (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/operations/resource_group_loganalytics]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/operations/resource_group_loganalytics (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/shared_cac/services/private_dns_zones/privatelink_canadacentral_azmk8s_io (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/services/private_dns_zones/resource_group]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/services/private_dns_zones/resource_group (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126
	* Cannot process module Module /agent/_work/1/s/shared_cac/network/subnet_azurefw (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/network/vnet]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/network/vnet (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/network/resource_group_vnet]), finished with an error: Cannot process module Module /agent/_work/1/s/shared_cac/network/vnet (excluded: false, assume applied: false, dependencies: [/agent/_work/1/s/shared_cac/network/resource_group_vnet]) because one of its dependencies, Module /agent/_work/1/s/shared_cac/network/resource_group_vnet (excluded: false, assume applied: false, dependencies: []), finished with an error: exit status 126

[BUG] ibexec/tgenv-upgrade: Permission denied

TL &DR

Suchlike the @iokiwi advise me the permissions to execute the script of upgrade not work.... 😂

Debug

Alpine Container

/teste/tgenv/libexec # ./tgenv-upgrade 
sh: ./tgenv-upgrade: Permission denied

In my laptop Ubuntu after done a 'git pull master` to get the merge of #17 .

$ $HOME/$USER/.tgenv/libexec/tgenv-upgrade: Permission denied

So I'm looking for solution, anyway this bug don't impact other functionalities of the TGEnv.

Any idea where this strange output/formatting is coming from?

MacOS Ventura 13.0.1
M1 Macbook Air

Also reproducible in docker with ubuntu:latest.

docker run -it ubuntu:latest
apt update -y
apt install git curl
git clone https://github.com/tgenv/tgenv.git ~/.tgenv
echo 'export PATH="$HOME/.tgenv/bin:$PATH"' >> ~/.bash_profile
source ~/.bashrc
tgenv install latest

Not a big issue, just a weird nit pick.

Screenshot 2023-01-11 at 11 02 46

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.