Resource Labeling in GCP: Understanding Software Development Key Concepts

Introduction

In this project, we will gradually build the foundational knowledge needed to implement a service-specific module in Google Cloud Platform (GCP).
The goal is to develop a module that analyzes the resources of a selected GCP service, lists their labels, and applies new labels based on the specific requirements of the service.

Our initial focus will be on learning the necessary tools and concepts before diving into the actual implementation.
This step-by-step approach ensures that we are well-prepared and have a basic understanding of all involved parts of the software development lifecycle from the ground up.

Step-by-Step Project Plan

Introduction to the Go Programming Language

Goal: Gain a basic understanding of Go to effectively use GCP APIs in the later stages.

Topics:

Setting up the Go environment and development tools (e.g., Visual Studio Code).
Writing a simple “Hello, World!” program.
Learning basic concepts like variables, loops, and functions.
Resources:

Introduction to Git

Goal: Understand version control and gain hands-on experience with Git workflows.
Topics:

Introduction to GitHub CI/CD

Goal: Learn the basics of Continuous Integration and Deployment (CI/CD).

Topics:

Deployment of a GitHub Pages Project

Goal: Create a GitHub Pages site to document the learning process.

Topics:

GCP Project: Implementing a Service-Specific Module

Goal: Develop a module to manage labels for a GCP service.

Topics:

Analyzing the API documentation for the Cloud Run Admin API.
Implementing a function to list all resources that support labels (list).
Developing a function to set or update labels (patch).
Integrating these functions into the existing architecture.

Note:

Resources:

Sources