Cerbos is the open core, language-agnostic, scalable authorization solution that makes user permissions and authorization simple to implement and manage by writing context-aware access control policies for your application resources.

GitHub release (latest SemVer) Go Reference Contributor Covenant Snapshots

Cerbos

Painless access control for cloud-native applications

Cerbos helps you super-charge your authorization implementation by writing context-aware access control policies for your application resources. Author access rules using an intuitive YAML configuration language, use your Git-ops infrastructure to test and deploy them and, make simple API requests to the Cerbos PDP to evaluate the policies and make dynamic access decisions.

How it works

Cerbos

Example

Derived roles: Dynamically assign new roles to users based on contextual data.

---
apiVersion: "api.cerbos.dev/v1"
derivedRoles:
  name: common_roles
  definitions:
    - name: owner
      parentRoles: ["user"]
      condition:
        match:
          expr: request.resource.attr.owner == request.principal.id

    - name: abuse_moderator
      parentRoles: ["moderator"]
      condition:
        match:
          expr: request.resource.attr.flagged == true

Resource policy: Write access rules for a resource.

---
apiVersion: api.cerbos.dev/v1
resourcePolicy:
  importDerivedRoles:
    - common_roles
  resource: "album:object"
  version: "default"
  rules:
    - actions: ['*']
      effect: EFFECT_ALLOW
      derivedRoles:
        - owner

    - actions: ['view', 'flag']
      effect: EFFECT_ALLOW
      roles:
        - user
      condition:
        match:
          expr: request.resource.attr.public == true

    - actions: ['view', 'delete']
      effect: EFFECT_ALLOW
      derivedRoles:
        - abuse_moderator

API request

cat <<EOF | curl --silent "http://localhost:3592/api/check?pretty" -d @-
{
  "requestId":  "test01",
  "actions":  ["view"],
  "resource":  {
    "kind":  "album:object",
    "instances": {
      "XX125": {
        "attr":  {
          "owner":  "alicia",
          "id":  "XX125",
          "public": false,
          "flagged": false
        }
      }
    }
  },
  "principal":  {
    "id":  "alicia",
    "roles":  ["user"]
  }
}
EOF

API response

{
  "requestId": "test01",
  "resourceInstances": {
    "XX125": {
      "actions": {
        "view": "EFFECT_ALLOW"
      }
    }
  }
}

Stargazers

Stargazers repo roster for cerbos/cerbos

Owner
Cerbos
Painless access management for cloud native applications
Cerbos
Comments
  •  git storage fail due to `knownhosts: key mismatch`

    git storage fail due to `knownhosts: key mismatch`

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Current Behavior

    Following is my configuration file

    ---
    server:
      httpListenAddr: ":3598"
    
    
    storage:
      driver: "git"
      git:
        protocol: ssh
        url: github.com:xxxx/access-policies.git // our private repo
        branch: main
        subDir: policies
        checkoutDir: /Users/admin/Documents/execs/cerbos/tmp
        updatePollInterval: 60s
        ssh:
          user: git
          privateKeyFile: /Users/admin/Documents/execs/cerbos/keys/id_rsa // deploy private key 
    
    ./cerbos server --config=config.yaml
    
    2021-12-21T09:56:24.182+0530	INFO	cerbos.server	maxprocs: Leaving GOMAXPROCS=4: CPU quota undefined
    2021-12-21T09:56:24.220+0530	INFO	cerbos.git.store	Cloning git repo from github.com:xxxx/access-policies.git	{"dir": "/Users/admin/Documents/execs/cerbos/tmp"}
    2021-12-21T09:56:25.005+0530	ERROR	cerbos.git.store	Failed to initialize git store	{"dir": "/Users/admin/Documents/execs/cerbos/tmp", "error": "failed to clone from github.com:xxxx/access-policies.git to /Users/admin/Documents/execs/cerbos/tmp: ssh: handshake failed: knownhosts: key mismatch"}
    2021-12-21T09:56:25.005+0530	INFO	cerbos.server	maxprocs: No GOMAXPROCS change to reset
    ERROR: failed to create store: failed to clone from github.com:xxxx/access-policies.git to /Users/admin/Documents/execs/cerbos/tmp: ssh: handshake failed: knownhosts: key mismatch
    

    Is there an option to set ignore hostkey check?.

    I tried cloning the repo using the above private key and it work. No issue there.

    Expected Behavior

    It should clone the repo

    Steps To Reproduce

    Set the config.yaml to use git storage

    ---
    server:
      httpListenAddr: ":3598"
    
    
    storage:
      driver: "git"
      git:
        protocol: ssh
        url: github.com:xxxx/access-policies.git
        branch: main
        subDir: policies
        checkoutDir: /Users/admin/Documents/execs/cerbos/tmp
        updatePollInterval: 60s
        ssh:
          user: git
          privateKeyFile: /Users/admin/Documents/execs/cerbos/keys/id_rsa
    

    Start cerbos using the above config

    ./cerbos server --config=config.yaml
    

    Environment

    - OS: MacOS
    - Cerbos version: cerbos version 0.10.0
    Built on 2021-11-16T12:52:36Z from b24701bb75b135518117f7d56a2d8680f9a59450
    

    Anything else?

    No response

  • docs: Merge cerbos guide into main docs

    docs: Merge cerbos guide into main docs

    Documentation restructuring work. Working doc can be found here.

    This PR represents the first phase of the work, and mostly encompasses merging the book.cerbos.dev guide, and other restructuring.

    Changes

    • book.cerbos.dev content is now in the Getting started section, including a dedicated What is Cerbos section, along with the "Cerbforce" tutorial
    • Removed old Getting Started -> Usage section, as it's now covered by the merged content
    • Temporarily removed old Getting Started -> Quickstart section, need to find a new home for this, or remove entirely
    • Removed references to "Cerbforce" in What is Cerbos
    • Telemetry section now resides inside Configuration section
    • Renamed top level Tutorials to Recipes
    • Made merged book.* content now uses native links

    Signed-off-by: Sam Lock [email protected]

    Checklist

    • [x] The PR title has the correct prefix
    • [ ] PR is linked to the corresponding issue
    • [x] All commits are signed-off (git commit -s ...) to provide the DCO
  • Git storage

    Git storage

    Git should be the default storage backend.

    Things to consider:

    • Should cloud providers be integrated? (E.g. provide GitHub/GitLab/BitBucket token to integrate with them directly via webhooks etc.)
    • Refresh rate/change detection (currently no good way in Linux to watch recursive directory changes)
    • Credential management (how to keep them secure)
  • feat!: Add matrix tests

    feat!: Add matrix tests

    Description

    Currently, policy tests are table tests for a multiple principals and a single resource - you specify a resource in the input, and principals in the expectations.

    This PR adds the possibility to write tests for

    • a single principal and a single resource
    • a single principal and multiple resources
    • multiple principals and resources

    It works by requiring test inputs to include either principal or principals, and either resource or resources. Expectations specify principal and resource to identify the subject under test - these can be omitted when using the singular principal/resource in the input. An expectation for a principal-resource pairing can be omitted, in which case it's treated as implicitly expecting EFFECT_DENY for all actions for that pair.

    There is a breaking change here - existing tests will have to be updated to include the principals list in input. This allows us to be strict about only including expectations for things that were included in the input. Attempting to keep this backwards compatible introduced too much complexity (both in the implementation and in the documentation - it is difficult to justify being allowed to expect something to be output that wasn't specified in the inputs!).

  • Batch API

    Batch API

    Sometimes users need to filter a list of things to figure out what they have access to. For example, from a list of 100 documents, which ones do I have access to?

  • Unified check API

    Unified check API

    At the moment we have two check APIs - check, and check_resource_batch.

    For the most part, check (which takes a homogeneous list of resources) is just a special case of check_resource_batch (which takes a heterogeneous list of resources).

    However, check accepts includeMeta but check_resource_batch does not. Also, the response formats are quite different, making it nontrivial to replace one call with the other.

    There is a cognitive load for anyone consuming the API to decide which call they need. A single unified API would be simpler to understand.

    We should introduce a new unified API based on check_resource_batch, which should also

    • support includeMeta
    • return resource: { kind, id } rather than resourceId (to account for cases where different kinds of resource have the same id, originally proposed in https://github.com/cerbos/cerbos/issues/695)

    The existing check and check_resource_batch APIs should be gradually deprecated

    • reduce their prominence in the documentation (a separate "deprecated" section/page?) and add a notice to point users to the new API
    • add a deprecation warning to the PDP logs
  • Secure the service with TLS

    Secure the service with TLS

    Services are expected to support TLS by default in modern environments so we need to make sure that can be easily achieved.

    • User-provided certificates
      • It is important that the app is able to detect when the certificate changes and reload it. I have seen this problem a lot in production. Rolling certificates is hard and usually results in downtime so we need to make sure this is easy.
    • ACME certs
      • Potentially a premium feature
      • Not sure how useful it is for internally deployed services like ours. Need more data to go on.
    • Service meshes
      • Usually this just involves switching off TLS at the application level and letting the mesh sidecar handle everything
      • Maybe support client certicate authentication as a premium feature
  • Audit logs

    Audit logs

    We need to generate audit logs to keep track of all the authz decisions made by the system. They need to be written somewhere safe to prevent modification by attackers. (Could be as simple as using a container mounted volume that the users provide)

  • Replace github.com/rjeczalik/notify

    Replace github.com/rjeczalik/notify

    On macOS 13, github.com/rjeczalik/notify has started throwing deprecation warnings during compilation.

    # github.com/rjeczalik/notify
    cgo-gcc-prolog:217:2: warning: 'FSEventStreamScheduleWithRunLoop' is deprecated: first deprecated in macOS 13.0 - Use FSEventStreamSetDispatchQueue instead. [-Wdeprecated-declarations]
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/FSEvents.framework/Headers/FSEvents.h:1138:1: note: 'FSEventStreamScheduleWithRunLoop' has been explicitly marked deprecated here
    

    It doesn't appear to be actively maintained, so we probably need to find an alternative.

  • Adding filtering capabilities to the list policies method of the admin API.

    Adding filtering capabilities to the list policies method of the admin API.

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Feature description

    We can enhance the list policies method by adding filtering. So, the implementation details are quite settled as we discussed before. The filtering can be done after all policies have been fetched from the store. With this, we won't need to maintain filtering logic across different store implementations. For the first iteration, the performance cost can be negligible.

    So, how the filtering fields should look like? From the command line tool (cerbosctl) the filtering for cerbosctl can adopt a similar fashion with the kubectl. Taken this into consideration, as we discussed here we can leverage filtering with field selectors against policies.

    1. We can add basic filtering (e.g. policy kinds).
      • the kind filter should accept multiple kinds
      • disabled field (this needs confirmation)
    2. We can add advanced filtering with the field selectors.
      • filter field with an exact match (the flag can be --field-eq for this type of filtering)
      • filter field with wildcard match (the flag can be --field-match for this type)
      • search arguments should be in the form of <field>=<value>. For instance, if someone is looking "foo" in the resource policy description they should provide --field-match resourcePolicy.description=foo. Or, if they want to search "foo" among all policy kinds --field-match description=foo.

    The API method should take either a list of basic filters or a list of advanced filters as the parameter. One thing we should consider is that whether the filter kinds above are forced to be used separately.

    What would the ideal solution look like to you?

    For demonstration purposes, I am going to exemplify this with the cerbosctl output. The ticket includes work on both API method and the cli tool.

    Current Impl. when we list the policies

    $ cerbosctl list
    NAME              KIND           DEPENDENCIES      VERSION   
    donald_duck       PRINCIPAL      -                 20210210  
    leave_request     RESOURCE       my_derived_roles  20210210  
    leave_request     RESOURCE                         staging   
    my_derived_roles  DERIVED_ROLES  -                 -     
    

    We should be able to filter by kind like this:

    $ cerbosctl list --kind principal
    NAME              KIND           DEPENDENCIES      VERSION   
    donald_duck       PRINCIPAL      -                 20210210  
    

    Or, by field match like this:

    $ cerbosctl list --field-eq resourcePolicy.resource=leave_request
    NAME              KIND           DEPENDENCIES      VERSION   
    leave_request     RESOURCE       my_derived_roles  20210210  
    leave_request     RESOURCE                         staging   
    

    Anything else?

    I'd like to link #136 here as this is a subset of that ticket.

  • enhancement: List policies endpoint added to Admin API

    enhancement: List policies endpoint added to Admin API

    Description

    Adds List Policies endpoint to the admin API.

    Part of #136

    Checklist

    • [x] The PR title has the correct prefix
    • [x] PR is linked to the corresponding issue
    • [x] All commits are signed-off (git commit -s ...) to provide the DCO
  • chore(deps): update go deps to v2 (major)

    chore(deps): update go deps to v2 (major)

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/alecthomas/chroma | require | major | v0.10.0 -> v2.4.0 | | github.com/cespare/xxhash | require | major | v1.1.0 -> v2.2.0 | | github.com/lyft/protoc-gen-star | require | major | v0.6.2 -> v2.0.1 |


    Release Notes

    alecthomas/chroma

    v2.4.0

    Compare Source

    Changelog

    v2.3.0

    Compare Source

    Changelog

    • 6138519 Add properties to supported languages (#​674)
    • a238967 Improve properties file lexer (#​671)
    • a531e40 Add lexer for properties files (#​670)
    • dbb09a5 Add Colour.ClampBrightness and StyleBuilder.Transform.
    • e1a35d4 transact-sql: added functions string_agg and concat_ws to lexer
    • 3f86ac7 Add Gruvbox light theme
    • d55b06c Bump testify, repr to the latest version (#​665)
    • 4fa270a Update GAS lexer (#​661)
    • cde3818 Update mcfunction lexer to support newer spec of commands
    • 6538430 cfengine3: Removed rule attempting to highlight variable names
    • 111921a Add cjs to Javascript lexer
    • c13ff14 fix(styles/github-dark): update definitions, reformat
    • 96fe58e Add BSDmakefile to make lexer (#​654)
    • c714e84 add(styles/github-dark): github's dark colorscheme for chroma (#​653)
    • 3b326be Add Dockerfile.* to docker lexer
    • 5ce1d5d lexers: Add BIND DNS Zone lexer
    • f941d46 Add Chapel Lexer
    • 298b727 Revise fortran fixed format lexer to recognize comments using the "!" mark in columns 1-5 and columns > 6. Remove incorrect "0" label being a comment.
    • 9a038fb Revise fortran lexer to be consistent with the current version in pygments

    v2.2.0

    Compare Source

    Changelog

    • d18e8a4 Add InlineCode option for inline code blocks

    v2.1.0

    Compare Source

    Changelog

    • 530c45d Don't append semicolon to styleEntry if there is no other style
    • 5397b48 Append semicolon to tabWidthStyle.
    • c78b8a6 Fix extra semicolon in tabWidthStyle
    • 806ca29 Add V lexer (#​640)

    v2.0.1

    Compare Source

    Changelog

    • 4dfc2ca refactor: run go mod tidy on chromad

    v2.0.0

    Compare Source

    Changelog

    • d13d611 Add value keyword for Kotlin
    • dea6a13 Add CSS style inheritance to WithCustomCSS option
    • 7d77940 [html formatter] Add option to let users provide custom CSS styles
    • 7cc13cf Add support for F# package reference + Fix CommentPreproc detection (#​631)
    • 073a30b Add Whiley Lexer (#​628)
    • 44d1d23 fix: revert line change from pygments converter
    • d070b1c Fix for C# identifiers with leading underscores
    • f7d2bb0 fix: pin to Go 1.17 for now
    • f7893bc add an average rgb scheme
    • 7bfe2f4 fix: add Dart required keyword
    cespare/xxhash

    v2.2.0

    Compare Source

    v2.1.2

    Compare Source

    v2.1.1

    Compare Source

    v2.1.0

    Compare Source

    v2.0.0

    Compare Source

    lyft/protoc-gen-star

    v2.0.1

    Compare Source

    What's Changed

    Full Changelog: https://github.com/lyft/protoc-gen-star/compare/v2.0.0...v2.0.1

    v2.0.0: Migrate to google.golang.org/protobuf

    Compare Source

    What's Changed

    Full Changelog: https://github.com/lyft/protoc-gen-star/compare/v0.6.2...v2.0.0


    Configuration

    📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • chore(deps): update go deps

    chore(deps): update go deps

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/aws/aws-sdk-go | require | patch | v1.44.171 -> v1.44.175 | | github.com/go-git/go-git/v5 | require | patch | v5.5.1 -> v5.5.2 | | github.com/goreleaser/goreleaser | require | patch | v1.14.0 -> v1.14.1 | | github.com/minio/minio-go/v7 | require | patch | v7.0.45 -> v7.0.46 | | github.com/pterm/pterm | require | patch | v0.12.51 -> v0.12.53 | | github.com/rivo/tview | require | digest | 1dc4a83 -> 892d1a2 | | golang.org/x/crypto | require | minor | v0.4.0 -> v0.5.0 | | golang.org/x/net | require | minor | v0.4.0 -> v0.5.0 | | golang.org/x/tools | require | minor | v0.4.0 -> v0.5.0 | | google.golang.org/genproto | require | digest | f9683d7 -> a12b697 | | google.golang.org/protobuf | require | digest | b2a7dfe -> a8d446d | | modernc.org/sqlite | require | patch | v1.20.0 -> v1.20.2 |


    Release Notes

    aws/aws-sdk-go

    v1.44.175

    Compare Source

    ===

    Service Client Updates
    • service/acm-pca: Updates service API and documentation
    • service/auditmanager: Updates service API and documentation

    v1.44.174

    Compare Source

    ===

    Service Client Updates
    • service/amplifybackend: Updates service API and documentation
    • service/apprunner: Updates service API and documentation
    • service/connect: Updates service API
    • service/emr-serverless: Updates service API and documentation
    • service/lightsail: Updates service documentation
      • Documentation updates for Amazon Lightsail.
    • service/mwaa: Updates service documentation
    • service/rds: Updates service API, documentation, waiters, paginators, and examples
      • This release adds support for specifying which certificate authority (CA) to use for a DB instance's server certificate during DB instance creation, as well as other CA enhancements.

    v1.44.173

    Compare Source

    ===

    Service Client Updates
    • service/application-autoscaling: Updates service API and documentation
    • service/logs: Updates service documentation
      • Update to remove sequenceToken as a required field in PutLogEvents calls.
    • service/ssm: Updates service API and documentation
      • Adding support for QuickSetup Document Type in Systems Manager

    v1.44.172

    Compare Source

    ===

    Service Client Updates
    • service/securitylake: Updates service API and documentation
    go-git/go-git

    v5.5.2

    Compare Source

    What's Changed

    Full Changelog: https://github.com/go-git/go-git/compare/v5.5.1...v5.5.2

    goreleaser/goreleaser

    v1.14.1

    Compare Source

    Changelog

    Bug fixes
    Dependency updates
    Other work

    Full Changelog: https://github.com/goreleaser/goreleaser/compare/v1.14.0...v1.14.1


    GoReleaser logo

    Find examples and commented usage of all options in our website. Want to help? You can sponsor,get a Pro License or contribute. Also, feel free to reach out on Discord and Twitter!

    minio/minio-go

    v7.0.46: Bugfix Release

    Compare Source

    What's Changed

    New Contributors

    Full Changelog: https://github.com/minio/minio-go/compare/v7.0.45...v7.0.46

    pterm/pterm

    v0.12.53

    Compare Source

    What's Changed

    Exciting New Features 🎉
    Fixes 🔧

    Full Changelog: https://github.com/pterm/pterm/compare/v0.12.52...v0.12.53

    v0.12.52

    Compare Source

    Features
    • multiselect: added theme support for checkmarks
    • multiselect: added theme support for checkmarks
    Test
    • multiselect: fixed test
    Code Refactoring
    • progressbar: make add more safe
    golang/crypto

    v0.5.0

    Compare Source

    golang/net

    v0.5.0

    Compare Source

    golang/tools

    v0.5.0

    Compare Source

    cznic/sqlite

    v1.20.2

    Compare Source

    v1.20.1

    Compare Source


    Configuration

    📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Test output mode where results are grouped by test name first

    Test output mode where results are grouped by test name first

    Follows from #1403

    We currently don't display the name of the test case in the output produced by the test runner. It would be useful to have that information displayed to help users link the results back to a particular test case they wrote.

    One way to do this would be to group the results by test name first. However, if the JSON output also has to change to accommodate this (I haven't checked), then that would be a breaking change. In that case, let's evaluate whether we should go ahead with that breaking change or come up with an alternative.

  • CEL optional support

    CEL optional support

    CEL now has optional support behind a feature flag. https://github.com/google/cel-spec/wiki/proposal-246

    https://github.com/google/cel-go/blob/32ac6133c6b8eca8bb76e17e6ad50a1eb757778a/cel/cel_test.go#L1879

    This can be quite useful for writing policy rules because it simplifies the complicated presence checks that would otherwise be required.

    We need to investigate how this affects the query planner though.

  • Unfork bufbuild/buf-breaking-action

    Unfork bufbuild/buf-breaking-action

    Buf ultimately didn't accept my PR to handle only rejecting newly-introduced breaking changes: https://github.com/bufbuild/buf-breaking-action/pull/18#issuecomment-1298708171

    We should investigate an alternative way to handle this by running their action twice and processing the output.

Kusk makes your OpenAPI definition the source of truth for API resources in your cluster
Kusk makes your OpenAPI definition the source of truth for API resources in your cluster

Kusk - use OpenAPI to configure Kubernetes What is Kusk? Developers deploying their REST APIs in Kubernetes shouldn't have to worry about managing res

Dec 16, 2022
Pomerium is an identity-aware access proxy.

Pomerium is an identity-aware proxy that enables secure access to internal applications. Pomerium provides a standardized interface to add access cont

Jan 1, 2023
The OCI Service Operator for Kubernetes (OSOK) makes it easy to connect and manage OCI services from a cloud native application running in a Kubernetes environment.

OCI Service Operator for Kubernetes Introduction The OCI Service Operator for Kubernetes (OSOK) makes it easy to create, manage, and connect to Oracle

Sep 27, 2022
GitHub App to set and enforce security policies

Allstar Allstar is a GitHub App installed on organizations or repositories to set and enforce security policies. Its goal is to be able to continuousl

Jan 5, 2023
jsPolicy - Easier & Faster Kubernetes Policies using JavaScript or TypeScript
jsPolicy - Easier & Faster Kubernetes Policies using JavaScript or TypeScript

Website • Getting Started Guide • Documentation • Blog • Twitter • Slack jsPolicy - Easier & Faster Kubernetes Policies using JavaScript or TypeScript

Dec 30, 2022
ControllerMesh is a solution that helps developers manage their controllers/operators better.
ControllerMesh is a solution that helps developers manage their controllers/operators better.

ControllerMesh ControllerMesh is a solution that helps developers manage their controllers/operators better. Key Features Canary update: the controlle

Jan 6, 2023
Deploy, manage, and secure applications and resources across multiple clusters using CloudFormation and Shipa

CloudFormation provider Deploy, secure, and manage applications across multiple clusters using CloudFormation and Shipa. Development environment setup

Feb 12, 2022
The Tailscale Resource Provider lets you manage Tailscale resources

Tailscale Resource Provider The Tailscale Resource Provider lets you manage Tailscale resources. Installing This package is available in many language

Nov 2, 2022
concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit
concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

BuildKit BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. Key features: Automati

Dec 31, 2022
Syntax-aware grep for PHP code.

phpgrep Syntax-aware grep for PHP code. This repository is used for the library and command-line tool development. A good source for additional utilit

Dec 30, 2022
Cost-aware network traffic analysis

Traffic Refinery Overview Traffic Refinery is a cost-aware network traffic analysis library implemented in Go For a project overview, installation inf

Nov 21, 2022
Kubeswitch - Easier way to switch your kubernetes context

Switch Kubectl Context Easier way to switch your kubernetes context Set PATH Dow

Jun 17, 2022
Valse is an kubernetes exporter application that discovers resources such as version
Valse is an kubernetes exporter application that discovers resources such as version

What is the Valse? Valse is an kubernetes exporter application that discovers resources such as version, namespaces, node, pod, deployment, daemonset,

Jul 22, 2022
A Go script that makes your GitHub contribution activity panel look awesome! Display a message !
A Go script that makes your GitHub contribution activity panel look awesome! Display a message !

GitHub contributions generator A script written in Go, which goal is to make your GitHub contributions graph the way you want it to be. The goal of th

Jan 6, 2023
Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.

Open Service Mesh (OSM) Open Service Mesh (OSM) is a lightweight, extensible, Cloud Native service mesh that allows users to uniformly manage, secure,

Jan 2, 2023
Application open new tab in chrome when your favourite youtuber add new video.

youtube-opener This application open new tab in Chrome when your favourite youtuber add new video. It checks channel every one minute. How to run go r

Jan 16, 2022
An Oracle Cloud (OCI) Pulumi resource package, providing multi-language access to OCI

Oracle Cloud Infrastructure Resource Provider The Oracle Cloud Infrastructure (OCI) Resource Provider lets you manage OCI resources. Installing This p

Dec 2, 2022
A cli that exposes your local resources to kubernetes
A cli that exposes your local resources to kubernetes

ktunnel Expose your local resources to kubernetes ?? Table of Contents About Getting Started Usage Documentation Contributing Authors Acknowledgments

Jan 7, 2023
A Terraform module that creates AWS alerts billing for your resources.

terraform-aws-billing-alarms terraform-aws-billing-alarms for project Replace name project to New Project agr 'terraform-aws-billing-alarms' 'new-pr

Oct 20, 2021