Giter Site home page Giter Site logo

Comments (5)

zhenik avatar zhenik commented on July 24, 2024

While deploying a module you might have the token from Vault with limited access rights. Like only "read" capabilities.

path "secret/data/dev/minio" {
  capabilities = ["read"]
}

I would suggest avoiding coupling between module and managing Vault policies.

from terraform-nomad-trino.

zhenik avatar zhenik commented on July 24, 2024

As an additional idea, we could think about a separate module(s) for managing:

  • Vault policies
  • Consul policies
  • Nomad policies

or

  • Hashicorp policy manager module, just one common for Policy management for all 3 services at once.

Policies exist in separate contexts for each module, you have the opportunity to map policies with roles and make tokens via Vault.

The same idea for Consul intentions. Basically, avoid coupling.

NB even having these modules, we might end up with different access rights, who can manage policies, who can deploy modules with services, and it should be two different sets of identities, credentials, and rights to do so.

from terraform-nomad-trino.

pdmthorsrud avatar pdmthorsrud commented on July 24, 2024

We just had a discussion about this, here's my takeaway:

We both agree that putting something like this inside the presto-module is not necessarily a good thing, because this is not a "presto"-thing, meaning it doesn't belong in the presto-module. Therefore, Nikita's suggestion of putting the creation of secrets (and potentially other features) into its own terraform module makes a lot of sense. The same goes for the creation of intentions as well, which should potentially also be its own module.

However, in the context of the system we are about to use this module in, it might be beneficial to have some simple code bundled with the module that creates secrets in vault. This all depends on whether we will have to create our own credentials or not.

from terraform-nomad-trino.

pdmthorsrud avatar pdmthorsrud commented on July 24, 2024

We just had a discussion about this, here's my takeaway:

We both agree that putting something like this inside the presto-module is not necessarily a good thing, because this is not a "presto"-thing, meaning it doesn't belong in the presto-module. Therefore, Nikita's suggestion of putting the creation of secrets (and potentially other features) into its own terraform module makes a lot of sense. The same goes for the creation of intentions as well, which should potentially also be its own module.

However, in the context of the system we are about to use this module in, it might be beneficial to have some simple code bundled with the module that creates secrets in vault. This all depends on whether we will have to create our own credentials or not.

when all that is said and done, why don't we just create a tiny module that takes a path and keys as input, and create random strings, and output their paths? Maybe an hour of work, not even that

from terraform-nomad-trino.

pdmthorsrud avatar pdmthorsrud commented on July 24, 2024

I would like to start POC'ing a little on this one, so I can get my head around our credentials and policies
https://github.com/pdmthorsrud/terraform-vault-credentials

from terraform-nomad-trino.

Related Issues (20)

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.