First, add the StackReference
to the cluster stack, which is used to get the kubeconfig
from its stack output. This is a reference to the project created in the previous lab.
pulumi config set clusterStackRef workshops/eks-infrastructure/dev
Now we can deploy Everything:
pulumi up
This will show you a preview and, after selecting yes
, the application will be deployed:
Updating (dev):
Type Name Status Info
+ pulumi:pulumi:Stack argocd-dev created
+ ├─ kubernetes:helm.sh:Chart argocd created
+ │ ├─ kubernetes:core:ServiceAccount argocd/argocd-server created
+ │ ├─ kubernetes:core:ConfigMap argocd/argocd-rbac-cm created
+ │ ├─ kubernetes:core:ServiceAccount argocd/argocd-dex-server created
+ │ ├─ kubernetes:core:Service argocd/argocd-redis created
+ │ ├─ kubernetes:core:ConfigMap argocd/argocd-tls-certs-cm created
+ │ ├─ kubernetes:core:ConfigMap argocd/argocd-ssh-known-hosts-cm created
+ │ ├─ kubernetes:core:ConfigMap argocd/argocd-cm created
+ │ ├─ kubernetes:core:Service argocd/argocd-repo-server created
+ │ ├─ kubernetes:core:Service argocd/argocd-application-controller created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:ClusterRole argocd-application-controller created
+ │ ├─ kubernetes:core:Service argocd/argocd-dex-server created
+ │ ├─ kubernetes:core:ServiceAccount argocd/argocd-application-controller created
+ │ ├─ kubernetes:core:Secret argocd/argocd-secret created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:Role argocd/argocd-server created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:ClusterRoleBinding argocd-server created
+ │ ├─ kubernetes:core:Service argocd/argocd-server created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:ClusterRole argocd-server created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:RoleBinding argocd/argocd-application-controller created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:Role argocd/argocd-dex-server created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:RoleBinding argocd/argocd-dex-server created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:Role argocd/argocd-application-controller created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:RoleBinding argocd/argocd-server created
+ │ ├─ kubernetes:rbac.authorization.k8s.io:ClusterRoleBinding argocd-application-controller created
+ │ ├─ kubernetes:apps:Deployment argocd/argocd-server created
+ │ ├─ kubernetes:apps:Deployment argocd/argocd-application-controller created
+ │ ├─ kubernetes:apps:Deployment argocd/argocd-dex-server created
+ │ ├─ kubernetes:apps:Deployment argocd/argocd-repo-server created
+ │ ├─ kubernetes:apps:Deployment argocd/argocd-redis created
+ │ ├─ kubernetes:apiextensions.k8s.io:CustomResourceDefinition appprojects.argoproj.io created 1 warning
+ │ └─ kubernetes:apiextensions.k8s.io:CustomResourceDefinition applications.argoproj.io created 1 warning
+ ├─ pulumi:providers:kubernetes k8s created
+ └─ kubernetes:core:Namespace argocd-ns created
Outputs:
url: "http://ae7c37b7c510511eab4540a6f2211784-521581596.us-west-2.elb.amazonaws.com:80"
Resources:
+ 34 created
Duration: 1m3s
Permalink: https://app.pulumi.com/workshops/argocd/dev/updates/1
In order to check that everything has been deployed as expected, list the pods in your namespace:
kubectl get pods --namespace argocd
And you should see a number of pods:
NAME READY STATUS RESTARTS AGE
argocd-application-controller-64db95fccd-jkstk 1/1 Running 0 108s
argocd-dex-server-6b9cbf5598-znfpk 1/1 Running 0 108s
argocd-redis-6b7b6b766b-dkphm 1/1 Running 0 107s
argocd-repo-server-7c9d75b48-tg5r8 1/1 Running 0 107s
argocd-server-7778cdd5-5f5vd 1/1 Running 1 109s
The initial password for the ArgoCD server UI is the name of the pod that is running the application. Grab the name from the
post list e.g. argocd-server-7778cdd5-5f5vd
. We can use the username admin
to go with this.
Open the URL from the pulumi output in a browser and you can log in with this username and password combination