Codebase

Navigate the Codebase using the tree view. Use the filters to highlight where various files are grouped to aid understanding.

Getting Started Commands

Project Structure

Below is a short description of the key directories of the project to aid you when understanding where key files are located.

.git/ - This directory contains the Git repository data. It includes branches, hooks, info, logs, objects, and refs.
.git/branches/ - This directory stores the local branches of the Git repository.
.git/hooks/ - This directory contains scripts that Git runs before or after events such as commit or receive.
.git/info/ - This directory contains files that provide information about the Git repository, such as the current branch and the commit messages.
.git/logs/ - This directory contains the commit logs for the Git repository.
.git/logs/refs/ - This directory contains references to the commits in the Git repository.
.git/objects/ - This directory contains the actual Git objects, such as commits, trees, and blobs.
.github/ - This directory contains the GitHub actions workflows.
.github/workflows/ - This directory contains the YAML files defining the GitHub actions workflows.
apps/ - This directory contains the application definitions and configurations. It includes base, production, staging directories.
apps/base/ - This directory contains the base application configurations. It includes podinfo directory.
apps/production/ - This directory contains the production application configurations.
apps/staging/ - This directory contains the staging application configurations.
clusters/ - This directory contains the Kubernetes cluster configurations. It includes production and staging directories.
clusters/production/ - This directory contains the production Kubernetes cluster configurations. It includes flux-system directory.
clusters/staging/ - This directory contains the staging Kubernetes cluster configurations. It includes flux-system directory.
infrastructure/ - This directory contains the infrastructure configurations and scripts.
infrastructure/configs/ - This directory contains the configuration files for the infrastructure.
infrastructure/controllers/ - This directory contains the Kubernetes controllers for managing the infrastructure.
scripts/ - This directory contains the scripts used for automating tasks.

Entrypoints

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

config/ - A directory containing configuration files for the project, such as `flux-config.yaml` and `helm-config.yaml`.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

config/flux-config.yaml - A YAML file with configuration settings for FluxCD, such as the Git repository URL and branch.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

config/helm-config.yaml - A YAML file with configuration settings for Helm, such as the Helm registry URL and the chart repository.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

deploy-app.sh - A Bash script for deploying an application using FluxCD, Helm, and Kustomize from the given configuration files.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

deploy.sh - A Bash script for deploying the application using FluxCD, Helm, and Kustomize with the provided configuration files.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

helm-values.yaml - A YAML file with global Helm values that apply to all charts in the project.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

kustomize/ - A directory containing Kustomize configuration files for managing Helm charts and Kubernetes manifests.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

kustomize/app/ - A subdirectory of Kustomize files that define the application-specific configuration.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

kustomize/app/values.yaml - A YAML file with overrides and custom values for the Helm charts in the application-specific configuration.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

kustomize/base/ - A subdirectory of Kustomize files that define the base configuration for the application.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

kustomize/base/values.yaml - A YAML file with default values for the Helm charts in the base configuration.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

post-deploy.sh - A Bash script for running post-deployment tasks, such as setting up ingress rules and configuring environment variables.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

pre-deploy.sh - A Bash script for running pre-deployment tasks, such as building Docker images and pushing them to a registry.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

README.md - A markdown file with documentation and instructions for building, deploying, and using the application.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

scripts/ - A directory containing various utility scripts for managing the project.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

scripts/apply.sh - A Bash script for applying Kubernetes manifests using `kubectl`.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

scripts/check-version.sh - A Bash script for checking the versions of FluxCD, Helm, and Kustomize.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

scripts/install-dependencies.sh - A Bash script for installing the required dependencies, such as FluxCD, Helm, and Kustomize.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

scripts/update-dependencies.sh - A Bash script for updating the dependencies to their latest versions.