Coder Social home page Coder Social logo

ahbarnz-g / nr-elasticsearch-stack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bcdevops/nr-apm-stack

0.0 0.0 0.0 245 KB

NR Elastic Search Stack (Kibana + Elasticsearch)

License: Apache License 2.0

Shell 2.31% JavaScript 16.01% TypeScript 71.36% HCL 10.32%

nr-elasticsearch-stack's Introduction

About NR AWS ElasticSearch 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

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

nr-elasticsearch-stack's People

Contributors

cvarjao avatar mbystedt avatar derekroberts avatar timcsaky 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.