Code Monkey home page Code Monkey logo

nr-bcws-opensearch's Introduction

nr-bcws-opensearch

opensearch related code Part of Wildfire One project in support of WFDM product Intially will be to set up search indexing and support full text search capabilities to support WFDM. This will also add Virus Scanning as a feature of the service.

About NR AWS OpenSearch Stack

OpenSearch is a community-driven, open source search and analytics suite derived from Apache 2.0 licensed ElasticSearch 7.10.2 & Kibana 7.10.2.

Confluence: AWS OpenSearch Url: Production

Built With

(TBD) Getting Started

The product in deployed using Github actions. A Terraform cloud team server handles running the Terraform. A CI pipeline is setup to run static analysis of the Typescript.

Notes:

  • Terraform is limited in the objects it can manage by the AWS Landing Zone permissions.
  • AWS Secrets Manager holds the keycloak secrets in a secret named <env>/nrdk/config/keycloak.
  • The folder terragrunt/<env> holds most of the environment specific configuration.

Local Setup

If you want to run Terragrunt locally, you will need to setup a number of environment variables. Running the deployment locally is not recommended.

AWS - Environment Variables

As documented in the AWS CLI documentation which can be obtained from the Cloud PathFinder login page and clicking on "Click for Credentials" of the appropriate project/environment.

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_SESSION_TOKEN
  • AWS_DEFAULT_REGION

Keycloak - Environment Variables

You will need a client service account with realm admin privilege.

  • KEYCLOAK_BASEURL: The base URL ending with "/auth"
  • KEYCLOAK_REALM_NAME
  • KEYCLOAK_CLIENT_ID
  • KEYCLOAK_CLIENT_SECRET

Terraform cloud team token

You will need a terraform cloud team token, and have it setup in ~/terraform.d/credentials.tfrc.json. The token is input using a secret for Github actions.

{
  "credentials": {
    "app.terraform.io": {
      "token": "<TERRAFORM TEAM TOKEN>"
    }
  }
}

Principles

  • Infrastructure as Code
  • Configuration as Code
  • GitOps:
    • Describe the entire system declaratively
    • Version the canonical desired system state in Git
    • Automatically apply approved changes to the desired state
    • Ensure correctness and alert on divergence with software agents

Lifecycle:Experimental

nr-bcws-opensearch's People

Contributors

vivid-cpreston avatar dhlevi avatar cboreen avatar willrobins32 avatar tapz901 avatar repo-mountie[bot] avatar frantarkenton avatar

Watchers

James Cloos avatar

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.