Git Product home page Git Product logo

terraform-infra-common's Issues

Find a better way to handle the containers schema

This came up as a concern here: #328

The schema for containers is fairly large and is used a number of places:

  • regional-go-service
  • cron
  • Github bots
  • regional-service (in the linked PR)

There are subtle (mostly intentional) differences across these today, but these are becoming an ongoing maintenance concern.

Add audit log alerts for each `_iam_binding`

The basic idea here is that we use _iam_binding in places where we believe a resource is an implementation detail of a particular module, and therefore the module has complete information about how that resource should be accessed (thus the use of _iam_binding vs. _iam_member).

Build on this idea, we can actually add alert policies for each of these resources to detect and flag anomalous usage. As a proof-of-concept, I added one here (sorry, private repo): https://github.com/chainguard-dev/octo-sts/blob/c737ecae7dd57c2fc340f51bf6aa9e95adfbdd20/iac/main.tf#L124-L176

We should audit this repo for uses of _iam_binding (or cases that should be!) and add audit log alerting to each.

Create a module for auditing GSA usage via IAM audit logs

ref: #139

With this we should be able to check things like:

Tasks

dashboard latencies cap at 10s

We might want to let callers specify buckets somehow, so that requests that take >10s aren't all grouped together into the largest bucket

Screenshot 2024-01-30 at 10 17 26 PM

cloudevent-trigger: boolean operators

https://cloud.google.com/pubsub/docs/subscription-message-filter#boolean_operators_for_the_filter_expression

Today we have:


  filter        = { "type" : "dev.chainguard.bar" } // Only trigger on bar-type events
  filter_prefix = { "source": "baz/" }              // ...coming from baz

which translates down to

filter = "attributes.ce-type=\"dev.chainguard.bar\" AND hasPrefix(attributes.ce-source, \"baz/\")"

This means it's not possible to easily subscribe to 2+ event types, or 2+ prefixes, etc., even though this is possible from PubSub's side.

module to publish to broker on GCS events

GCS is able to publish to PubSub. We should have a lil service subscribe to those events and re-publish them (possibly without transformation?) to a cloudevent broker so that regional-go-services can subscribe in the standard way.

Inputs:

  • bucket name
  • broker name
  • regions? Should it just exist in the bucket region?
resource "google_storage_notification" "notification" {
  bucket         = data.google_storage_bucket.bucket.name
  payload_format = "JSON_API_V1"
  topic          = google_pubsub_topic.topic.name
  event_types    = ["OBJECT_FINALIZE", "OBJECT_DELETE"]
}

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.