Git Product home page Git Product logo

datarepo-helm-definitions's Introduction

datarepo-helm-definitions

Overview

This repository contains helm files for every Jade team member and environment. The core philosophy for the deployment is following GITOPS which means that the source of truth for the deployments will be this repository. The 3 key files each team member will have to track for their indivdual deployment are < initials >Deployment.yaml and < initials >Secrets.yaml These are end state definitions and may require some prerequisites.

Prerequisites

Deployment Overview

Install CRDS

secrets-manager

  • secrets-manager will login to Vault using AppRole credentials and it will start a reconciliation loop watching for changes in SecretsDefinition objects. In background it will run two main operations:

  • If Vault token is close to expire and if that's the case, renewing it. If it can't renew, it will try to re-login.

  • It will re-queue SecretsDefinition events and in every event loop it will verify if the current Kubernetes secret it is in the desired state by comparing it with the data in Vault and creating/updating them accordingly

Create namespaces

Helm values are derived from the URL as a source of truth for the deployment if you would like to manually over write a field without commiting to master you can set the following field in the yaml

Deployment files

< initials >Secrets.yaml

< initials >Deployment.yaml

  • Contains all values for the complete datarepo helm chart

  • This chart references 4 sub charts

  • < initials >Secrets.yaml will be installed first

  • < initials >Deployment.yaml will be installed second

TLDR deployment process

One click helm install script for osx

Run $sh ./helmInstallHelper.sh

Folder Structure

├── README.md
├── dev  <--- ENVIRONMENT
│   ├── dd
│   ├── dev
│   ├── jh
│   ├── mm
│   ├── ms  <--- user initials set $ENVIRONMENT to this for helper script
│       ├── msDeployment.yaml  <--- Datarepo Helm Deployment Values
|       └── msSecrets.yaml  <--- Datarepo Helm Secrets Values
│  
│  
├── integration
├── prod
└── scripts  <-- Helper scripts for static folder structure
    ├── README.md
    ├── helmChartHelper.sh
    ├── helmInstallHelper.sh
    ├── vaultCrdHelper.sh
    └── vaultbase64toplaintxt.sh

Helm Repositories

Deleting a namespace or deployment manually is not advised as it will leave Rbac and Psp articfacts behind and they will need to be manually deleted

If you deployed with helm you should delete your deployment with helm

Helm list deployment

helm ls -n <SomeNamspace>

Helm manual installs Examples (namepace plugin required below)

helm namespace upgrade temp-secrets datarepo-helm/create-secret-manager-secret --version=0.0.4 --install --namespace temp -f tempSecrets.yaml

helm namespace upgrade temp-jade datarepo-helm/datarepo --version=0.0.6 --install --namespace temp -f tempDeployment.yaml

Helm manual delete Examples

helm delete <SomeDeploy> --namespace <SomeNamspace>

helm delete jade --namespace <SomeNamspace>

Learn Helm!!

Helm v3 Docs

datarepo-helm-definitions's People

Contributors

broadbot avatar ddietterich avatar fboulnois avatar jack-r-warren avatar lu-c avatar marikomedlock avatar myessail avatar nmalfroy avatar okotsopoulos avatar otchet-broad avatar pshapiro4broad avatar roricremer avatar samanehsan avatar sfholden3 avatar smark88 avatar snf2ye avatar tcjiang9 avatar tlangs avatar tnadler avatar

Stargazers

 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  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  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  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

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.