cyberark / conjur

CyberArk Conjur automatically secures secrets used by privileged users and machine identities
https://conjur.org
Other
773 stars 123 forks source link

A test setup exists for testing simplified authn client config #2062

Open diverdane opened 3 years ago

diverdane commented 3 years ago

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

Related User Stories

Background

Issue #2045 proposes a new workflow that uses a simplified way of configuring Conjur authenticator sidecar/init containers (initially includes just the Secrets Provider, but will ultimately include authn-k8s and Secretless Broker containers). We need a development test environment to test the new Helm charts (Kubernetes Cluster Prep Helm chart and Application Namespace prep Helm chart) as they are being developed, along with testing the proposed workflow with a Secrets Provider init container.

Once such a setup has been created, the test setup can potentially be used by community members in support of a Conjur Kubernetes authenticator Quick-Start guide that walks people through the newly proposed workflow for deploying Conjur-enabled applications on Kubernetes.

Problems with extending existing Secrets Provider test setup for testing new workflow

The existing Secrets Provider testing focuses primarily on testing Secrets Provider functionality. As such, it would be involved. and also disruptive to engineers working on that project to add test flows that make use of the Conjur Connection ConfigMaps that are proposed in Issue #2045.

Problems with extending existing kubernetes-conjur-deploy and kubernetes-conjur-demo scripts for testing the new workflow

Describe the solution you would like

Proposed Support

Assumptions

The test setup should assume that the following have already been deployed:

Workflow to be Supported

The test setup should support the following workflow:

Leveraging the Existing Kubernetes-Conjur-Demo scripts as a starting point

Much of what is required for this issue is available in the form of Bash scripts and manifest templates in the conjurdemos/kubernetes-conjur-demo. This project can serve as a starting point for a new project. The changes that would need to be done to the existing kubernetes-conjur-demo project:

Work Items: SPLIT OUT INTO SEPARATE ISSUES AS REQUIRED!!!!

  1. Copy / Port scripts that do Conjur policy rendering and loading in conjurdemos/kubernetes-conjur-demo
  2. OPTIONAL: Split Conjur authenticator-specific policy from application specific policy (generation and loading)
  3. Create new scripts that call helm install ... to instantiate the new Helm charts (cluster prep and namespace prep)
  4. EITHER: Create new sample application deployment Helm chart OR port scripts in conjurdemos/kubernetes-conjur-demo repo that do kube manifest rendering and kubectl deploy of applications + authenticator.
  5. Modify application manifests to use new Conjur connection ConfigMaps.

Describe alternatives you have considered

Alternative: Modify conjurdemos/kubernetes-conjur-demo scripts. Disadvantages are listed above.

Additional context

Add any other context information about the feature request here.

diverdane commented 3 years ago

As described in Issue #2063, this issue will be broken out into 3 separate, smaller issues. The details from Issue #2063 are copied here:

Prerequisites / Assumptions / Separate Work

Required Helm charts

The E2E scripts that are being developed as described in Issue #2062 depend upon the availability of two Helm charts that are being developed in separate issues:

Conjur deployments are assumed available

For the E2E workflow described below, it's assumed that a Conjur instance has been deployed and is available at the time that the E2E workflow scripts / Helm deployments are invoked. The "front end" work of deploying Conjur instances will be developed in these CI-centric issues:

Required Workflow

The test setup should support the following workflow:

Issues Which will Accomplish the Creation of an E2E framework

=========================================================

=========================================================

=========================================================

=========================================================

=========================================================