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.
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.
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.
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.
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.