Skip to content

Conversation

@haywirebanana
Copy link

Context

Work in Progress

This PR addresses Issue #10 by adding a set of installation scripts within a Linux development environment. These scripts automate the installation of tools and utilities to easily and quickly set up a development environment.

What does this PR do?

  • Adds installation scripts for setting up a development environment (Ubuntu-specific)
  • Automates the installation of essential tools, cloud CLI tools, and Kubernetes tools
  • Enhances readability and error handling during setup

Major additions:

  • Exit Script on Installation Errors: If any installation step fails, the script will exit with a message
  • Coloured Message for Readability: Output messages are colour-coded for better visibility
  • Modular setup scripts: Different sections of the environment are installed in separate modules for easy updates

Improvements to make

  • Automate Git SSH Authentication (Requires manual inputs at the moment)
  • Currently, the scripts are installing the latest available versions from repositories (Keep it constant?)
  • Add Cleanup/Uninstall Options?
  • Documentation of Resources used. This will allow any user to gain more information to help debug during initial setup/configs.
  • Incorporate recovery measures in cases of partial failures (currently, the script will stop when the installation of any tool/verification fails)

Updated To-Do :

  • Update and upgrade the system
  • Install Development Tools:
    • git
    • vim
    • tilix
    • curl
    • wget
    • jq
    • unzip
  • Install VS Code through Flatpak
  • Install Cloud CLI Tools:
    • Azure CLI
    • AWS CLI
    • Google Cloud SDK
  • Install Infrastructure as Code Tools:
    • Terraform
    • OpenTofu
    • Bicep
    • Helm
  • Install Kubernetes Tools:
    • kubectl
    • K9s
    • minikube
  • Install Oh My Posh
  • Install VS Code Extensions:
    • Terraform
    • Kubernetes Tools
    • Cloud Tools
    • Bicep
    • GitLens
    • Spell Checker
  • Configure Git with SSH Authentication
  • Validate Networking and Permissions:
    • Network Connectivity
    • AWS CLI Authentication and Permissions
    • Azure CLI Authentication and Permissions
    • Google Cloud SDK Authentication and Permissions
    • Kubernetes Cluster Access

@haywirebanana haywirebanana requested a review from a team as a code owner April 27, 2025 21:42
@haywirebanana
Copy link
Author

@victoriacheng15 @kevinevans1 @nataliey16

Let me know what you think! I’ll be working on the .md file to explain the setup and will add documentation for installing specific tools within the next few days (if needed)

@kevinevans1
Copy link
Contributor

Has this been tested and what where the results. Please provide testing output from cli

@haywirebanana haywirebanana force-pushed the feature/ubuntu-setup-skeleton-filled branch from 9dec27c to 059a321 Compare April 28, 2025 06:44
@haywirebanana
Copy link
Author

Has this been tested and what where the results. Please provide testing output from cli

@victoriacheng15 and I tested them through Virtual Machines. I initially wanted to share my progress with Victoria first and allowed us to identify and resolve some bugs/errors. We are still working on resolving the remaining issues, and testing outputs of current bugs will be shared soon.

Current Issues Identified:

  1. Script Execution Issue (Fix Provided):
    The script was originally written on a Windows-based local machine. To ensure proper execution, change the "End of Line" sequence to LF instead of CRLF.
    image
    image

  2. Azure CLI authorization Fails (Need to dive deeper):
    image

  3. AWS CLI Installation Fails:
    AWS CLI is not installing correctly. When running the command aws --version, we receive a "not found" error. This will result in the permissions to fail as well (validate_aws_cli_permissions) and more possibly.
    image

  4. AWS CLI Installation – Removing Installation Zip (Small Issue?):
    When running rm -rf aws awscliv2.zip, multiple files are deleted, which causes excessive output in the terminal. Potential fix: Hide the output or avoid this step entirely.

Additional:

  • It might be helpful to implement a message at the end of the script that echoes which installations still need to be completed (i.e., those that failed due to errors).

@david-hurley
Copy link
Contributor

@haywirebanana can we add a README to scripts that clarifies when/how users should use this? Thanks!

@victoriacheng15
Copy link
Contributor

@haywirebanana can we add a README to scripts that clarifies when/how users should use this? Thanks!

A README will be added after the script is fixed. :-)

@haywirebanana haywirebanana force-pushed the feature/ubuntu-setup-skeleton-filled branch from 059a321 to 9b048f5 Compare April 29, 2025 09:43
@haywirebanana
Copy link
Author

haywirebanana commented Apr 29, 2025

Here is my runthrough:
Loom Video: Script Runthrough in a Ubuntu VM

Needs Fixing:

  • validate_aws_cli_permissions
  • validate_azure_cli_permissions
  • check_kubernetes_access
  • GitHub SSH Authentication Configurations

Improvements:

  • Stating when steps are finished (or attempted if it ever fails)

@haywirebanana
Copy link
Author

@haywirebanana can we add a README to scripts that clarifies when/how users should use this? Thanks!

Once I fix the few little bugs, I'll have that README ready afterwards! I'll include what each step is doing and providing links to documentation on where they can find it/replicate or fix any installation problems.

@victoriacheng15 victoriacheng15 dismissed their stale review April 29, 2025 21:12

all changes are in :-)

@haywirebanana haywirebanana force-pushed the feature/ubuntu-setup-skeleton-filled branch from 9b048f5 to 5bb5f4f Compare April 30, 2025 04:25
@haywirebanana haywirebanana force-pushed the feature/ubuntu-setup-skeleton-filled branch from 5bb5f4f to 9f2b721 Compare May 13, 2025 02:11
Copy link
Contributor

@victoriacheng15 victoriacheng15 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Result after ran the script:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants