Git Product home page Git Product logo

conjur-quickstart's Introduction

conjur-quickstart

This repository guides you through a sample installation of Conjur Open Source using Docker Compose.

Table of contents generated with markdown-toc

Certification level

This repo is a Community level project. It's a community contributed project that is not reviewed or supported by CyberArk. For more detailed information on our certification levels, see our community guidelines.

Requirements

To follow this quick start guide, you will need to install Docker Desktop.

You will also need to clone this repository to your working directory:

git clone https://github.com/cyberark/conjur-quickstart.git

Usage instructions

Using this quick start with Conjur Open Source

We strongly recommend choosing the version of this project to use from the latest Conjur OSS suite release. Conjur maintainers perform additional testing on the suite release versions to ensure compatibility. When possible, upgrade your Conjur version to match the latest suite release; when using integrations, choose the latest suite release that matches your Conjur version. For any questions, please contact us on Discourse.

Step by step guide

In the sections below, we'll walk through standing this environment up step by step. Alternatively, you can follow the instructions by visiting the web tutorial: https://www.conjur.org/get-started/quick-start/oss-environment/.

Set up a Conjur Open Source environment

In this unit you will learn how to install Conjur OpenSource using Docker.

At the end of this section: You will have a working Conjur Open Source environment with a Conjur account and an admin user.

  1. Pull the Docker images

    Open a terminal session and browse to conjur-quickstart. Pull the Docker images defined in docker-compose.yml:

    docker compose pull
    

    Verification When the required images are successfully pulled, the terminal returns the following:

    ⠿ openssl Skipped - Image is already being pulled by conjur
    ⠿ database Pulled
    ⠿ bot_app Pulled
    ⠿ proxy Pulled
    ⠿ pgadmin Pulled
      ...
    ⠿ conjur Pulled
    ⠿ client Pulled
    
  2. Generate the master key

    The master data key will be used later to encrypt the database. In the working directory, generate the key and store it to a file:

    * Tip: Although not mandatory, we prefer to store sensitive data to a file and not to display it directly on console screen.

    docker compose run --no-deps --rm conjur data-key generate > data_key
    

    The data key is generated in the working directory and is stored in a file called data_key.

    Verification When the key is generated, the terminal returns the following:

    Network conjur-quickstart_default  Created
    
  3. Load master key as an environment variable

    Load data_key file content (the master data key) as an environment variable:

    export CONJUR_DATA_KEY="$(< data_key)"
    
  4. Start the Conjur Open Source environment

    Start the Conjur Open Source environment:

    docker compose up -d
    

    When Conjur Open Source starts, the terminal returns the following:

    ⠿ Container bot_app                      Started
    ⠿ Container conjur-quickstart-pgadmin-1  Started
    ⠿ Container postgres_database            Started
    ⠿ Container openssl                      Started
    ⠿ Container conjur_server                Started
    ⠿ Container nginx_proxy                  Started
    ⠿ Container conjur_client                Started
    

    Verification Run the following command to see a list of running containers:

    docker ps -a
    
  5. Create an admin account

    Create a Conjur account and initialize the built-in admin user.

    docker compose exec conjur conjurctl account create myConjurAccount > admin_data
    

    An account named myConjurAccount is created and the admin user is initialized, following keys are created and stored at admin_data file:

    • admin user API key. Later on, we will use this key to log in to Conjur.
    • myConjurAccount Conjur account public key.
  6. Connect the Conjur client to the Conjur server

    This is a one-time action. For the duration of the container’s life or until additional initcommand is issued, the Conjur client and the Conjur server remain connected.

    Use the account name that you created in step 5. You will be prompted to trust the TLS certificate of the Conjur server. Type y to trust the certificate:

    docker compose exec client conjur init -u https://proxy -a myConjurAccount --self-signed
    

    Verification The terminal returns the following output:

    Wrote certificate to /root/conjur-server.pem
    Wrote configuration to /root/.conjurrc
    

Define policy

In this unit you will learn how to load your first policy. Formatted in YAML, policy defines Conjur entities and the relationships between them. An entity can be a policy, a host, a user, a layer, a group, or a variable.

A sample application policy named BotApp.yml is provided in the client container under policy directory.

At the end of this section: As a privileged user, you will load a policy that defines a human user, a non-human user that represents your application, and a variable.

  1. Log in to Conjur as admin

    Log in to Conjur as admin. When prompted for a password, insert the API key stored in the admin_data file:

    docker compose exec client conjur login -i admin
    

    Verification When you successfully log in, the terminal returns:

    Logged in
    
  2. Load the sample policy

    Load the provided sample policy into Conjur built-in root policy to create the resources for the BotApp:

    docker compose exec client conjur policy load -b root -f policy/BotApp.yml > my_app_data
    

    Conjur generates the following API keys and stores them in a file, my_app_data:

    • An API key for Dave, the human user. This key is used to authenticate user Dave to Conjur.
    • An API key for BotApp, the non-human identity. This key is used to authenticate BotApp application to Conjur.

    Those API keys is correlated with the number of Users & Hosts defined in a policy.

    Verification The terminal returns:

    Loaded policy 'root'
    
  3. Log out of Conjur

    Log out of Conjur:

    docker compose exec client conjur logout
    

    Verification When you successfully log out, the terminal returns:

    Logged out
    

Store a secret

In this unit you will learn how to store your first secret in Conjur.

  1. Log in as Dave

    Log in as Dave, the human user. When prompted for a password, copy and paste Dave’s API key stored in the my_app_data file:

    docker compose exec client conjur login -i Dave@BotApp
    

    Verification To verify that you logged in successfully, run:

    docker compose exec client conjur whoami
    

    The terminal returns:

    {
      "client_ip": "xxx.xx.x.x",
      "user_agent": "Go-http-client/1.1",
      "account": "myConjurAccount",
      "username": "Dave@BotApp",
      "token_issued_at": "yyyy-mm-ddThh:mm:ss.sss+00:00"
    }
    
  2. Generate a secret

    Generate a value for your application’s secret:

    secretVal=$(openssl rand -hex 12 | tr -d '\r\n')
    

    This generates a 12-hex-character value.

  3. Store the secret

    Store the generated value in Conjur:

    docker compose exec client conjur variable set -i BotApp/secretVar -v ${secretVal}
    

    A policy predefined variable named BotApp/secretVar is set with a random generated secret.

    Verification The terminal returns a message:

    Value added
    

Run the demo app

In this unit you will learn how to program an application to fetch a secret from Conjur using the REST API.

At the end of this section: You will know how to leverage Conjur’s ability to store your application’s secrets securely.

  1. Start a bash session

    Enter the BotApp container.

    docker exec -it bot_app bash
    
  2. Generate a Conjur token

    Generate a Conjur token to the conjur_token file, using the BotApp API key:

    curl -d "<BotApp API Key>" -k https://proxy/authn/myConjurAccount/host%2FBotApp%2FmyDemoApp/authenticate > /tmp/conjur_token
    

    The Conjur token is stored in the conjur_token file.

  3. Fetch the secret

    Run program to fetch the secret:

    /tmp/program.sh
    

    The secret is displayed.

    TIP: If the secret is not displayed, try generating the token again. You have eight minutes between generating the conjur token and fetching the secret with BotApp.

Congratulations! You are ready to secure your own apps with Conjur.

Next steps

Now that you've got a local Conjur instance running, what can you do with it?

Try some of our tutorials on Conjur.org.

Explore the Conjur database

This section is about exploring the database. The admin panel from pgAdmin can be used to discover and explore the database schema, stored procedures and triggers that constitute a significant part of the inner working of Conjur. It offers a glimpse into the data model of Conjur.

This section should follow only after completion of the Store a secret section. There's more insight to be gleamed from the database when it has become reasonably populated with some representative data i.e. roles, identities, permissions etc.

As part of Setting up a Conjur Open Source environment the pgadmin service is spun up. It will be accessible on your local machine at http://localhost:8081.

To explore the database

  1. Visit http://localhost:8081
  2. Login with email "[email protected]" and password "SuperSecret"
  3. Add a new server. Name it "Conjur DB". Set the connection details. Host is "database", Port is "5432", Database is "postgres", Username is "postgres", and there is no password. Note that pgamdin is running inside the docker-compose network, it is for this reason that the Host of "database" is resolvable.
  4. Dig in as shown below!

image

Use Conjur with telemetry

Conjur supports telemetry as an opt-in feature. The telemetry feature has a general purpose mechanism for collection, but currently only supports a single method for export, a Prometheus scrape target endpoint. Below are instructions for enabling and exploring the telemetry feature.

In order to enable telemetry in Conjur you must opt-in via configuration. You have a choice between setting an environment variable:

CONJUR_TELEMETRY_ENABLED=true

or updating a value in the conjur.conf configuration file:

telemetry_enabled: true

Note that the environment variables takes precedence.

  1. If you are already running the Conjur Open Source quickstart environment without telemetry, bring down the Conjur container:

    docker compose down conjur
    
  2. Modify docker-compose.yml in this repository to enable telemetry by setting the CONJUR_TELEMETRY_ENABLED environment variable to the value 'true' (It needs to be a string otherwise the docker compose YAML parser will not be happy). Below is an illustration of the required change:

    services:
       # ...
       conjur:
          environment:
             # ...
             CONJUR_TELEMETRY_ENABLED: 'true'
  3. Start the Conjur Open Source environment using telemetry:

  4. Navigate to the telemetry README and, starting from step 2, follow the instructions to set up the telemetry related services.

    The telemetry README provides instructions for a comprehensive quickstart for setting up services such as Prometheus and Grafana, creating relevant connections between those services and the Conjur Prometheus scrape target endpoint, and providing an example dashboard with the metrics collected by Conjur.

Configuring Conjur with predefined admin password

The following command will allow you to specify the admin user's password:

docker compose exec conjur bash -c 'echo -n "MySecretP@SS1" | conjurctl account create --password-from-stdin --name  myConjurAccount'

The password must be provided via STDIN in any manner you prefer and must meet the following complexity rules:

  • Between 12 and 128 characters
  • 2 uppercase letters
  • 2 lowercase letters
  • 1 special character
  • 1 digit

Note: This feature is available in Conjur v1.11.5+

Using persistent Conjur configuration

With small variations to the steps outlined above, it is possible to set up a Conjur Open Source environment that retains Conjur configuration or state across Docker container restarts. Using the steps outlined below, a Conjur Open Source environment can be set up that uses a local directory on the host to persist Conjur configuration across container restarts.

Set up a Conjur Open Source environment with persistence

  1. If you are already running the Conjur Open Source quickstart environment without persistence, bring down the associated containers:

    docker compose down
    
  2. Create a directory for storing persistent state. For example:

    mkdir temp-db-data
    

    NOTE: The permissions on this directory will automatically be changed to 700 by docker compose when the directory gets host-mounted by the Conjur container.

  3. Modify docker-compose.yml in this repository to support persistent storage of Conjur state. Add the following line to the bottom of the database service configuration, replacing <PATH-TO-CONJUR-DATA-DIRECTORY> with the path to the directory created in the previous step:

        volumes:
          - <PATH-TO-CONJUR-DATA-DIRECTORY>:/var/lib/postgresql/data
    

    For example:

        volumes:
          - /home/myusername/conjur-quickstart/temp-db-data:/var/lib/postgresql/data
    
  4. Start the Conjur Open Source environment using persistence:

Restarting the Conjur Open Source environment using persistence

Once you have set up the Conjur Open Source environment to support persistent Conjur state, you can restart your environment as follows:

  1. Bring the containers down:

    docker compose down
    

    NOTE: You must use the docker compose down command here rather than the docker compose stop in order to avoid having stale, ephemeral connection state in the Conjur container. If you use the docker compose stop command here instead, you may see errors as described in the Failed to open TCP connection error for Conjur login section below.

  2. Bring the containers back up:

    docker compose up -d
    
  3. Reconnect the Conjur client to the Conjur server. Use the account name that you created in the Create an admin account section above. For example:

    docker compose exec client conjur init -u https://proxy -a myConjurAccount --self-signed
    
  4. Log in again to Conjur as admin. When prompted for a password, insert the API key stored in the admin_data file:

    docker compose exec client conjur login -i admin
    

    Verification When you successfully log in, the terminal returns:

    Logged in
    

Delete the Conjur data directory when done

For added security, remember to delete the data directory that you created in Step 1 of the Set up a Conjur Open Source environment with persistence section above.

Adding or Modifying Container Environment Variables

This section describes the process of either adding or modifying environment variables for a docker-compose service. The process recreates a service with the desired changes, while the rest of the system continues running. Note that for a stateful service, there should be a persistence mechanism in place (e.g. volume mounts), otherwise data will be lost when the container is recreated.

The example below will add an environment variable CONJUR_LOG_LEVEL=debug to the conjur service container.

  1. Add or modify environment variables in docker-compose.yml

    docker-compose.yml is used to define the Conjur Open Source system. Additions and modifications to environment variables are made in the environment configuration of the desired service, and are of the form:

    version: '3'
    services:
      ...
      conjur:
        ...
        environment:
          CONJUR_LOG_LEVEL: debug
    
  2. Recreate the container

    docker compose up -d --no-deps conjur
    

    The new container now contains the updated configuration defined in docker-compose.yml.

  3. Verify that the desired environment variables are now defined in the container

    Run the following:

    docker compose exec conjur printenv CONJUR_LOG_LEVEL
    

    If the environment variable was correctly assigned in the container, the terminal returns the value of the variable:

    debug
    

Troubleshooting

Failed to open TCP connection error for Conjur login

If you are using persistent Conjur configuration, and you see the following error when trying to log into Conjur:

error: Failed to open TCP connection to conjur:80 (Connection refused - connect(2) for "conjur" port 80)

Then try the following:

  1. Run the following command:

    docker compose logs conjur | grep "already running"
    
  2. If the command in Step 1 produces the following line:

    A server is already running. Check /opt/conjur-server/tmp/pids/server.pid.
    

    then it may be that the Conjur container was stopped (e.g. docker compose stop conjur) and restarted (docker compose up -d conjur) without being brought fully down (e.g. with docker compose down conjur), leaving the container with stale connection state.

    To recover from this, run:

    docker compose down conjur
    docker compose up -d conjur
    

    And log in again, e.g.:

    docker compose exec client conjur login -i admin
    
  3. If "A server is already running" does not show in the Conjur container logs, or Step 2 above is unsuccessful, then try restarting all containers:

    docker compose down
    docker compose up -d
    

    and try logging in again, e.g.:

    docker compose exec client conjur login -i admin
    

Contributing

We welcome contributions of all kinds to this repository. For instructions on how to get started and descriptions of our development workflows, please see our contributing guide.

conjur-quickstart's People

Contributors

andytinkham avatar diverdane avatar doodlesbykumbi avatar garymoon avatar gl-johnson avatar h-artzi avatar jakequilty avatar john-odonnell avatar jtuttle avatar nahumcohen avatar neil-k-zero avatar rpothier avatar sashacher avatar sgnn7 avatar szh avatar szjarek avatar ucatu avatar yserota avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conjur-quickstart's Issues

Quick start flow on website explains flow better at the start

Based on this discourse post we'd like to add more context to the quick start flow on conjur.org.

From the post (via @JakeQuilty):

I do agree that for a good chunk of the tutorial running the commands from outside seem weird at first. I just think going back and forth would make the tutorial choppier. Maybe another paragraph explaining why it is the way it is?

In this card we'll define improvements we'd like to make to the quick start flow and validate them, and share them with the web team so that the site can be updated.

Error in docker pull on mac m1 computer

Summary

When working with mac with m1 chip, and performing "docker-compose pull" command, an error "no matching manifest for linux/arm64/v8 in the manifest list entries" appears

Steps to Reproduce

Work on macbook m1 chip

  1. git clone https://github.com/cyberark/conjur-quickstart.git
  2. docker-compose pull

Expected Results

No errors appear

Actual Results

The following error appears: no matching manifest for linux/arm64/v8 in the manifest list entries

Reproducible

  • [V] Always
  • Sometimes
  • Non-Reproducible

Version/Tag number

latest version

Environment setup

macbook with m1 chip

Additional Information

upon adding: "platform: linux/amd64" to docker-compose.yaml to the services the problem resolved.

Containers not accessible outside of Docker

I have not been able to access the containers from outside of docker execing into one and pinging the other. Only being able to make API calls from inside a shell of one of the containers makes tutorials like this one unusable.

Quickstart guide includes instructions for using persistent Conjur data

Is your feature request related to a problem? Please describe.

The current Conjur OSS quickstart guide does not provide instructions on how to run
Conjur OSS with persistent storage of Conjur configuration/state.

Describe the solution you would like

The Conjur OSS quickstart guide includes instructions on how to run
Conjur OSS with persistent storage of Conjur configuration/state.

Describe alternatives you have considered

Additional context

Conjur OSS quickstart includes TLS termination

Aha card

https://cyberark.aha.io/features/AAM-181 (Phase 1)
https://cyberark.aha.io/epics/AAM-E-37 (Full Requirement)

Objective

Add the nginx deployment as part of the docker compose.

Technical breakdown

@uCatu has created an OSS quickstart here
https://github.com/cyberark/conjur-quickstart
and instructions for deploying the docker compose
https://docs-staging.conjur.org/OSS/en/Content/OSS/Installation/DockerCompose.htm?tocpath=Setup%7CServer%20Setup%7C_____1

Defintion of Done

Validate the quickstart guide and scripts.

  • Can be successfully run without error
  • Is helpful/easy to follow (this will be a judgement call).
  • Deploys a working instance of Conjur with TLS termination.

The retrieved value is: Malformed authorization token

Well now I am able to get all the way to the last step which is to fetch the secret but I am getting the following error... "The retrieved value is: Malformed authorization token". What am I doing wrong here?? This was done within the 8 minute limit.

conjurossmalformed

Quick start pg container uses password auth

At current the quick start demo uses POSTGRES_HOST_AUTH_METHOD: trust, but it should be updated to use at least POSTGRES_HOST_AUTH_METHOD: password

AC:

  • pg container uses POSTGRES_HOST_AUTH_METHOD: password
  • (optional) Conjur communicates with pg via TLS

quick-start log format does not match conjur

The log format in the conjur quick-start.

quick-start logs:
[ORIGIN] [REQUEST ID] [THREAD ID] [MSG]

Ex:
[origin=172.29.0.3] [request_id=438d77c9-6c82-42c2-9620-589275dc28cc] [tid=34] Authentication Error: #<Errors::Authentication::InvalidCredentials: CONJ00002E Invalid credentials>

And from the Conjur repo, the logs look like
[SEVERITY] [TIMESTAMP] [PROCESS ID] [ORIGIN] [REQUEST ID] [THREAD ID] [MSG]
Ex:
INFO 2020/01/05 14:16:00 +0000 [pid=373] [origin=172.24.0.1] [request_id=47dcf956-1481-4256-a972-7b08d3a5b91c] [tid=383] Completed 401 Unauthorized in 68ms

Errors with NGINX when following on Ubuntu

I was trying to follow this last night on an Ubuntu vm and was having problems with NGINX when trying to start the Docker containers. I know I've ran into a similar problem in the past.

Terminal:

$ git clone https://github.com/cyberark/conjur-quickstart.git
Cloning into 'conjur-quickstart'...
remote: Enumerating objects: 86, done.
remote: Counting objects: 100% (86/86), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 86 (delta 32), reused 53 (delta 14), pack-reused 0
Unpacking objects: 100% (86/86), done.
Checking connectivity... done.
$ cd conjur-quickstart
$ docker-compose pull
Pulling openssl  ... done
Pulling bot_app  ... done
Pulling database ... done
Pulling conjur   ... done
Pulling proxy    ... done
Pulling client   ... done
$ docker-compose run --no-deps --rm conjur data-key generate > data_key
Creating network "conjur-quickstart_default" with the default driver
$ export CONJUR_DATA_KEY="$(< data_key)"
$ echo $CONJUR_DATA_KEY
F2SCCPHTTU1ZM+XkedS7lZJRgwKvW6ugQJ51LYFJoZI=
$ docker-compose up -d
Creating postgres_database ... done
Creating openssl           ... done
Creating bot_app           ... done
Creating conjur_server     ... done
Creating nginx_proxy       ... error

ERROR: for nginx_proxy  Cannot start service proxy: b'OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \\"rootfs_linux.go:58: mounting \\\\\\"/home/scrapbook/tutorial/conjur-quickstart/conf/default.conf\\\\\\" to rootfs \\\\\\"/var/lib/docker/overlay/3b578a083ce7833e47d08cee715d2c5db63a159dc80f69e8f3183a13ee7def6a/merged\\\\\\" at \\\\\\"/var/lib/docker/overlay/3b578a083ce7833e47d08cee715d2c5db63a159dc80f69e8f3183a13ee7def6a/merged/etc/nginx/conf.d/default.conf\\\\\\" caused \\\\\\"not a directory\\\\\\"\\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type'

ERROR: for proxy  Cannot start service proxy: b'OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \\"rootfs_linux.go:58: mounting \\\\\\"/home/scrapbook/tutorial/conjur-quickstart/conf/default.conf\\\\\\" to rootfs \\\\\\"/var/lib/docker/overlay/3b578a083ce7833e47d08cee715d2c5db63a159dc80f69e8f3183a13ee7def6a/merged\\\\\\" at \\\\\\"/var/lib/docker/overlay/3b578a083ce7833e47d08cee715d2c5db63a159dc80f69e8f3183a13ee7def6a/merged/etc/nginx/conf.d/default.conf\\\\\\" caused \\\\\\"not a directory\\\\\\"\\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type'
ERROR: Encountered errors while bringing up the project.

OS Info:
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

Quick start has daily pipeline run that goes through quick start flow

Is your feature request related to a problem? Please describe.

At current, there is nothing validating that the docker-compose.yml in this file continues to work with the quick start flow

Describe the solution you would like

To ensure unexpected problems don't arise that break the quick start flow for end users, a pipeline should be added to this project (using github actions or jenkins) to run through the steps from the quick start and validate that they are functioning as expected. The pipeline should automatically run every day.

AC:

  • This project has a daily build that runs through the quick start steps and alerts maintainers early of breaking changes

API key for admin as password - password not accepted.

Summary

Hi

We are trying the Conjur quickstart found here: https://github.com/cyberark/conjur-quickstart#
Please assist in finding an acceptable password.

Thanks so much.

Steps to Reproduce

  1. Set up a Conjur Open Source environment step 1-6
  2. Step 1 at Define policy - password not accepted.

Expected Results

password to be accepted.

Actual Results

All the steps in "Set up a Conjur Open Source environment" works fine.

podman compose exec conjur conjurctl account create myConjurAccount > admin_data

Created new account 'myConjurAccount'
Token-Signing Public Key: -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8uSbwrtzOsNQB7/WkpzV
E0ccjESrkAnDXZ+R2I+A0TERbYyfB6thKtW1uk97HvdCjC56SfN7aFaQhKxIoh+w
TabCERyW1GA2yD5NOE4PMce2D9yWMRrOY2aGd19Z1KnzmIwVYjojyZb1DXcBgl6K
80d0B4a/N5ahBo4ZAMhhGVDQ8Hxp9t3VIeCh+E8QxDwVHIDsKOQEYdGXflSrFwC2
D4tWhY4ljH1+Btdk1VWME1qqdqNjaozA1acUu01TYgDOQ1LmqH373yI4pwyln02M
Kb+GJrLOlvviGg8pmOF1vIKqa1IDnOs/n5Jzqs8ngfoqm2/pi/1E84JTvCCbGKFi
7QIDAQAB
-----END PUBLIC KEY-----
API key for admin: 364hdyy3j0xk6x1d895nn78hmaw2t6ebqx22tse3av4nb1g2zepcg9

Warning: Using self-signed certificates is not recommended and could lead to exposure of sensitive data

The server's certificate fingerprint is BFCB5A7B089F587E55DE5F1234AD14C78B5499F1.
Please verify this certificate on the appliance using command:
openssl x509 -fingerprint -noout -in ~conjur/etc/ssl/conjur.pem

? Trust this certificate? Yes
Wrote certificate to /root/conjur-server.pem
Wrote configuration to /root/.conjurrc

The problem starts here: https://github.com/cyberark/conjur-quickstart#define-policy
At point 1.

Enter the API key for admin as password for this step.

podman compose exec client conjur login -i admin

? Please enter your password (it will not be echoed): ******************************************************
Error: Unable to authenticate with Conjur. Please check your credentials.
Error: executing /usr/bin/docker-compose exec client conjur login -i admin: exit status 1

Reproducible

  • [x ] Always
  • Sometimes
  • Non-Reproducible

Version/Tag number

nexus.bmwgroup.net/postgres                        15          7fd3f745e3f1  3 weeks ago   433 MB
nexus.bmwgroup.net/nginx                           latest      e4720093a3c1  4 weeks ago   191 MB
nexus.bmwgroup.net/dpage/pgadmin4                  latest      a0786aa69feb  5 weeks ago   489 MB
nexus.bmwgroup.net/cyberark/conjur-cli             8           d62cfa549ec9  4 months ago  14.8 MB
nexus.bmwgroup.net/cyberark/conjur                 latest      3e50a4ba543b  5 months ago  375 MB
nexus.bmwgroup.net/cfmanteiga/alpine-bash-curl-jq  latest      3b21d4d5b512  6 years ago   12.3 MB
CONTAINER ID  IMAGE                                                     COMMAND               CREATED         STATUS         PORTS                                                     NAMES
307019ab0089  nexus.bmwgroup.net/cfmanteiga/alpine-bash-curl-jq:latest  tail -F anything      20 minutes ago  Up 20 minutes                                                            bot_app
438bf20e4144  nexus.bmwgroup.net/postgres:15                            postgres              20 minutes ago  Up 20 minutes  0.0.0.0:8432->5432/tcp                                    postgres_database
0f22cad1de93  nexus.bmwgroup.net/dpage/pgadmin4:latest                                        20 minutes ago  Up 20 minutes  0.0.0.0:8081->80/tcp                                      conjur-quickstart-pgadmin-1
205161aa916f  nexus.bmwgroup.net/cyberark/conjur:latest                 server                20 minutes ago  Up 20 minutes  0.0.0.0:8080->80/tcp                                      conjur_server
5cb5e8087d5d  nexus.bmwgroup.net/nginx:latest                           nginx -g daemon o...  20 minutes ago  Up 20 minutes  0.0.0.0:8443->443/tcp                                     nginx_proxy
bbeafe80bdeb  nexus.bmwgroup.net/cyberark/conjur-cli:8                  infinity              20 minutes ago  Up 20 minutes                                                            conjur_client

Environment setup

VERSION="15-SP5"
podman-4.8.3-150500.3.6.1.x86_64
docker-compose-switch-1.0.5-bp155.1.10.x86_64
docker-compose-2.14.2-bp155.1.6.x86_64

Additional Information

Add any other context about the problem here.

Data isnt getting written to admin_data file. Returns empty value for API key and password

Summary

A clear and concise description of what the bug is.

Steps to Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected Results

A clear and concise description of what you expected to happen.

Actual Results (including error logs, if applicable)

A clear and concise description of what actually did happen.

Reproducible

  • Always
  • Sometimes
  • Non-Reproducible

Version/Tag number

What version of the product are you running? Any version info that you can share is helpful.
For example, you might give the version from Docker logs, the Docker tag, a specific download URL,
the output of the /info route, etc.

Environment setup

Can you describe the environment in which this product is running? Is it running on a VM / in a container / in a cloud?
Which cloud provider? Which container orchestrator (including version)?
The more info you can share about your runtime environment, the better we may be able to reproduce the issue.

Additional Information

Add any other context about the problem here.

Outdated and EOL PostgreSQL Version

In the Docker File the postgreSQL Version 10.16 is stated. If I ignore, that postgreSQL 10 is EOL, this version is also outdated. The last Version of the 10th Branch ist 10.23.

Further I consider this from a security perspective as risk to the security of the application if an outdated postgresql version is used.

Not able to Access Conjur REST APIs on gitbash and postman

Using conjur cli I able to use REST APIs to store and fetch secret (using host http://conjur).
Like to set secret for username
curl -H "$(conjur authn authenticate -H)" http://conjur/secrets/conjurAccount/variable/root%2Fdb%2Fusername --data "ravics09"
But when I try same command in git bash I am getting error:
curl: (28) Failed to connect to 192.168.29.227 port 808: Timed out

Why Its trying to connect with given IP? Is any port mapping require ?
Or What setting require so I can test those REST APIs using postman?

My conjur server running on localhost port 8080.
docker1

Document troubleshooting of `Argument Error: invalid base64`

Summary

When deploying Conjur as per the instructions, if CONJUR_DATA_KEY is not valid when starting Conjur container, you may get the following error:

rake aborted!
ArgumentError: invalid base64
/opt/conjur-server/config/initializers/authenticator.rb:16:in `<top (required)>'
...

AC:

  • We provide better UX or documentation for this common pitfall

Documentation includes clear instructions for adding or modifying environment variables in Conjur container

GIVEN I have deployed Conjur OSS using the quick start docker-compose
AND I want to add or modify an environment variable in the Conjur container
THEN when I come to the quick start README, there are clear instructions for modifying the Conjur environment variables
AND to modify the Conjur environment variables, I don't have to tear down my existing deployment and start a new one from scratch

OpenSSL and Postgres immediately exit after docker-compose up -d

I had a lab working just a few days ago, was able to perform the entire quickstart process and successfully run program.sh. As of today, when i execute docker-compose up -d, everything appears to start, but then docker ps -a shows:

openssl and postgres_database as Exited just after everything starts up.

Running docker-ce Docker version 19.03.5, build 633a0ea838 on Ubuntu 18.04.4

Stuck On Pulling Docker Image from docker-compose.yml

Summary

Using Docker Desktop on Windows 10, When trying to pull image it stuck and not responding.
Tried to run below command
$ docker-compose pull

After that it is not responding.

Steps to Reproduce

Steps to reproduce the behavior:

  1. Clone the repo https://github.com/cyberark/conjur-quickstart.git
  2. cd conjur-quickstart
  3. docker-compose pull

Expected Results

It should pulled the docker images defined in docker-compose.yml

Actual Results (including error logs, if applicable)

After running the given command its not responding.

Environment setup

Docker Desktop Community 3.1.0
Also tried on
Docker Desktop Community 2.5.0.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.