Many of our scripts have a non-portable interpreter line for bash and
use bash-specific variables like `BASH_SOURCE`. Update the interpreter
line to be portable between various Linuxes and macOS without
complaint from posix shell users.
Also format terraform scripts with hclfmt, equivalent to terraform fmt.
I opted not to use terraform fmt, because I didn't want to introduce dev dependency on the terraform CLI.
Also, I've optimized the find command to ignore spurious directories (e.g. .git, node_modules) that seem to be populated with too many files! make hclfmt takes 0.3s on my mac down from 7 seconds!
* Removed deprecated Spark pieces.
* Bumped HashiCorp stack versions to current as of commit date
* Bumped versions of HashiCorp stack tools
* Bumped versions, added VAULT_ADDR in GCP, removed refs to Spark in shared README
If a user is just clicking / copy-pasting, they could accidently think they next gcloud commands should be run inside the server VM.
Removing that extra bit of information to make accessing the UIs as simple as possible. Moreover, the local commands on the cloud shell should just work without needing to SSH into the server VM.
It was tricky to get the web preview expierince to work smoothly on non-standard HTTP ports. But, I was able to figure out the link the web preview button uses under-the-hood, and add custom query string params.
This will automatically pass along the environment variables set in a previous step, and prevent users from manually needed to type in the values in the CLI.
So the comand is easily copyable, and consistent with the rest. However, this is probably not totally necessary in the cloud shell itself since the gcloud command will likely been initialized already.
Since this tutorial also links to a GCP cloud shell tutorial, we want to make sure all the command blocks are easily copyable to make that expierince smooth.
This module is based on the current AWS and Azure configurations, with a few tiny GCP-specific modifications:
* Defaults to only allow your Terraform's host external IP address, which can be optionally disabled. Otherwise, the UIs/APIs are exposed on the internet.
* Exposes the Vault UI and API through the load balancer.
* Uses GCP oslogin to facilitate VM SSH access, without an external SSH IP for all instances.
* Provides optional way to enable preemptible VM instances to save money.
* update
* fix error
* convert server ips in list of string and loop through for output
* drop the for loop in outputs and keep the join command
* switched to TF 0.12 splat expression