Install argo Create the argo namespace and aplly the manifest with all the yaml for the argo creation in k8s. Finally obtain the secret of the argo admin account
Kubectl create ns argocd kubectl apply -n argocd -f https: //raw.githubusercontent.com/argoproj /argo-cd/stable /manifests/install .yaml kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}"  | base64 -d  Expose argo by port-forward
kubectl port-forward svc/argocd-server -n argocd 8080:443 2. Install prometheus
Create argo app named prometheus-helm-app-yaml
apiVersion:  argoproj.io/v1alpha1 kind:  Application metadata:    name:  prometheus    namespace:  argocd spec:    source:      path:  prometheus      repoURL:  https://github.com/javier2419/prometheus-helm.git      targetRevision:  HEAD    destination:      server:  'https://kubernetes.default.svc'      namespace:  preus    project:  default Kubecetl create namespace  preus Kubectle apply -f prometheus-helm-app.yaml 2. Install Grafana
Create argo app named grafana-helm-app-yaml
apiVersion:  argoproj.io/v1alpha1 kind:  Application metadata:    name:  grafana    namespace:  argocd spec:    source:      path:  grafana      repoURL:  https://github.com/javier2419/prometheus-helm.git      targetRevision:  HEAD    destination:      server:  'https://kubernetes.default.svc'      namespace:  grafana    project:  default Kubecetl create namespace  grafana Kubectle apply -f grafana-helm-app.yaml kubectl port-forward svc/grafana -n grafana 3001:3000 The password is in values.yaml
Now add data source prometheus in grafana
url = http://prometheus-server.preus.svc.cluster.local 
click in save & test
3. Import dashboard kubernetes deployment metrics with GPU
4. ArgoCD Slack Notification Setup
4.1 Create Slack Application using https://api.slack.com/apps?new_app=1 
4.2 Once application is created navigate to Enter OAuth & Permissions
4.3 Click Permissions under Add features and functionality section and add chat:write:bot scope. To use the optional username and icon overrides in the Slack notification service also add the chat:write.customize scope.
4.4 Scroll back to the top, click ‘Install App to Workspace’ button and confirm the installation.
4.5 Once installation is completed copy the OAuth token.
4.6 Create a Slack Channel, for example argo and ddd your bot to this channel otherwise it won’t work 
4.7 Store token in argocd_notifications-secret Secret
apiVersion:  v1 kind:  Secret metadata:    name:  argocd-notifications-secret    namespace:  argocd stringData:    slack-token:  "xoxb-xx-your secret" The above file is called argocd-notifications-secret.yaml. 
kubectl apply -f argocd-notifications-secret.yaml  Finally, use the OAuth token to configure the Slack integration 
apiVersion: v1 kind: ConfigMap metadata:   name: argocd-notifications-cm   namespace: argocd data:   service.slack: |     token: $slack-token  # use as it is    defaultTriggers: |     - on-deployed   trigger.on-deployed: |     - description: Application is synced and  healthy. Triggered once per commit.       oncePer: app.status .operationState.syncResult.revision       send:       - app-deployed       when: app.status .operationState.phase in  ['Succeeded' ] and  app.status .health.status  == 'Healthy'  and  app.status .sync.status  == 'Synced'    template.app-deployed: |     message: |       {{if  eq .serviceType "slack" }}:white_check_mark:{{end }} Application {{.app.metadata.name}} is now running  new version of deployments manifests.     slack:       attachments: |         [{           "title" : "{{ .app.metadata.name}}" ,           "title_link" :"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}" ,           "color" : "#18be52" ,           "fields" : [           {             "title" : "Sync Status" ,             "value" : "{{.app.status.sync.status}}" ,             "short" : true            },           {             "title" : "Repository" ,             "value" : "{{.app.spec.source.repoURL}}" ,             "short" : true            },           {             "title" : "Revision" ,             "value" : "{{.app.status.sync.revision}}" ,             "short" : true            }           {{range $index, $c := .app.status .conditions}}           {{if  not  $index}},{{end }}           {{if  $index}},{{end }}           {             "title" : "{{$c.type}}" ,             "value" : "{{$c.message}}" ,             "short" : true            }           {{end }}           ]         }] The above file is called argocd-notifications-cm.yaml 
kubectl apply -f argocd-notifications-cm.yaml  Create a Slack integration subscription: 
apiVersion:  argoproj.io/v1alpha1 kind:  Application metadata:    name:  guestbook    namespace:  argocd    annotations:     notifications.argoproj.io/subscribe.on-deployed.slack:  argo   spec:    source:      path:  helm-guestbook      repoURL:  https://github.com/argoproj/argocd-example-apps.git      targetRevision:  HEAD    destination:      server:  'https://kubernetes.default.svc'      namespace:  kube-system    project:  default Testing