Install Using Horusec-Admin

In this section, you can find information from installing Horusec Web application in a Kubbernetes cluster using Horusec-Admin.

What is?

Horusec-admin is an interface for users where it uses Horusec-operator for operations in your infrastructure. Horusec-operator is an implementation ofKubernetes Operator. It automates the configuration, creation, scaling and recovery of the Horusec cluster.By reducing this complexity, it allows you to focus on identifying the possible vulnerabilities of your projects and you do not have to worry about the details of a manual implementation.

Requirements

To accomplish this configuration, you will need to have:

Installation

Step 1: Create a cluster and install the Horusec’s dependencies as:

  • Ingress
  • Secrets
  • Database
  • Message-broker

For this, simply run the following commands:

git clone https://github.com/ZupIT/horusec-admin.git
cd horusec-admin
make install

Step 2: Then install Horusec-operator, run the following command:

kubectl apply -f "https://github.com/ZupIT/horusec-operator/releases/download/v1.1.0/operator.yaml" -n horusec-operator-system

It will climb all the required dependencies of the operator and install it in your cluster

See that the feature was added to your Kubbernetes

kubectl api-resources | grep horusec

Step 3: Install Horusec-admin To install the admin, run the following command:

kubectl apply -f "https://github.com/ZupIT/horusec-admin/releases/download/v1.0.0/admin.yaml" -n horusec-system

See that admin is already turning internally in your cluster

kubectl get po -n horusec-system | grep admin

Step 4: Open the graphical Horusec-Admin interface and configure the connection to the services

Get the name of the pod with the command:

kubectl get po -n horusec-system | grep admin

In case this example is horusec-admin-5d75bc69b6-cmcwc but on your machine it should probably be another

And start the port-forward at port 3000

kubectl port-forward horusec-admin-5d75bc69b6-cmcwc 3000:3000 -n horusec-system

Now open another terminal and check the logs so we can pick up the Horusec-admin authorization token.

kubectl logs horusec-admin-5d75bc69b6-cmcwc

Output should be something like:

~ ᐅ kubectl logs horusec-admin-5d75bc69b6-cmcwc
time="2021-05-19 18:40:01 +0000" level=info msg="Token:422fdc80ad447a78681791838ba08097b0efe187" prefix=authz
time="2021-05-19 18:40:01 +0000" level=info msg="Valid until:2021-05-19 20:40:01.49884709 +0000 UTC m=+7200.015680701" prefix=authz
time="2021-05-19 18:40:01 +0000" level=info msg=listening addr=":3000" prefix=server

In this example the token is 422FDC80AD447A78681791838ba08097b0Efe187

With the access token we go to the browser in: http://localhost:3000 and we will enter the Horusec graphical interface.

Step 6: Change the Manager so you can receive the destination host

In the graphical horusec-admin interface:

If you want to note Enter the command below and see Horusec-admin and Horusec-operator working together by rising any application of Horusec in your Kubbernetes cluster:

watch kubectl get po -n horusec-system

And wait for all services to be in the status of RUNNING

Go to the destination http://manager.localhost/ on your machine and see the prompt graphical interface


Last modified May 19, 2021: Fix admin docs (5796771)