- Make sure you have a cluster ready on your terminal
- ArgoCD is installed on the cluster
ArgoCD can be installed using the following commands:
-
To create a namespace "argocd", execute the following command. However, this step is optional and you can proceed with the "default" namespace as well:
kubectl create namespace argocd -
Run the install ArgoCD script by executing the following command:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml -
Install the CLI using brew to use argocd commands:
brew install argocd -
To retrieve the password, execute the following command:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo -
To access ArgoCD on a browser, forward the port to 8080 by executing the following command:
kubectl port-forward svc/argocd-server -n argocd 8080:443
- create
application.yamlwhich will have our argo-cd configuration
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: webgame-argo-application
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/YashPimple/Project-4
targetRevision: HEAD
path: Manifests
destination:
server: https://kubernetes.default.svc
namespace: web-game
syncPolicy:
syncOptions:
- CreateNamespace=true
automated:
selfHeal: true
prune: trueapiVersion: argoproj.io/v1alpha1andkind: Applicationindicate that this is an ArgoCD Application resource.metadatasection defines the metadata for the ArgoCD Application, including the name and namespace.specsection describes the specification of the application.projectfield specifies the name of the ArgoCD project in which the application will be created.sourcefield specifies the source code repository from which the application will be deployed, including the repository URL, target revision, and path of the deployment manifests.destinationfield specifies the destination Kubernetes cluster and namespace where the application will be deployed.syncPolicyfield specifies how the application will be synchronized, including sync options such as creating a new namespace, and automated policies such as self-healing and pruning.
In summary, this ArgoCD configuration file defines an application named "webgame-argo-application" that will be deployed to the "web-game" namespace in a Kubernetes cluster from the specified GitHub repository using ArgoCD. The file also defines the synchronization policy for the application to ensure that it remains in a desired state.
Apply the Kubernetes resource manifests kubectl apply -f application.yaml
i am been using Port 8081 to accessed by argocd
Also our web-game application is been Deployed on port 3031 🎉, alongside you can also do this through the UI 🚀
The Shark-tank web game is successfully deployed using the Open Application Model via the NAPPTIVE platform Napptive-demo-link
Project Demonstration Link : Youtube
This project is licensed under the MIT License.


