Git Repositories Overview
Two primary Git repositories are involved in this project:- The source repository, which stores the application’s source code.
- The GitOps repository, managed by ArgoCD, which contains the Kubernetes manifests used to deploy the application.
GitOps Repository
Inside the GitOps repository, navigate to theJenkins-demo directory. Here, several Kubernetes manifests are available. These manifests define the necessary deployment and service resources in Kubernetes and are actively monitored by ArgoCD. Any changes detected in these manifests are automatically applied to the cluster, ensuring smooth configuration management.

Source Code Repository
The second repository contains the PHP-based Solar System application. This repository includes anindex.php file and an images folder, which provides the visual assets required for the application. Specifically, the index.php file integrates PHP with HTML, rendering the application’s user interface with dynamic elements.
The UI relies on two critical visual components:
- The Solar System image for creating engaging animations.
- A background image that enhances the overall visual appeal.
index.php file, responsible for styling and animating the application:
The above CSS ensures the Solar System element is animated with a 25-second rotation cycle, while the overall page maintains a centered layout with a static background.
Dockerizing the PHP Application
Containerization is simplified through the use of a Dockerfile included in the project. This Dockerfile leverages an official PHP image with Apache, copying the necessary source files and assets into the appropriate directory for deployment on a web server. Below is the Dockerfile content:- Uses the official
php:7.4-apachebase image. - Copies the
index.phpfile into the Apache default web directory at/var/www/html/. - Copies the entire
imagesdirectory into/var/www/html/imagesto ensure all visual assets are available. - Exposes port 80, which is the default port for Apache, enabling web traffic to access the application.
Additional Files
In addition to the main application code and Dockerfile, the repository also contains:- A Jenkinsfile for configuring continuous integration pipelines.
- A pr.sh shell script used for automating pull request tasks.