Giter VIP home page Giter VIP logo

clarity's Introduction

manager readme

inspired by this https://managerreadme.com/

John Calabrese

What exactly do I do here?

My role is that of a steward. I am here to assure the alliance between individual employees and the business is honored. I am here to assure that this alliance is a mutually beneficial and transparent one.

An alliance is not a mercenary contract. I am here to make sure the relationship between the individual and the business is far more than just a monetary exchange for services. Career growth, team health, quality outcomes for business and individuals are my focus.

My focus is not to personally write code. I will provide input and Contribute technically, but only in an effort to add value when needed. Value in this case coming in the form of strengthening individuals, strengthening business practices and providing a more productive and healthy environment to work in. Picking up prioritized stories as an individual contributor with focus on moving product deliverables forward is not my domain. That said, I do still write code and as an engineer am passionate about the topic.

Can you gain quorum and support on the team for your idea? Can you deliver on your idea? Then thats all the permission you need. Go and do it! My role is not to permit or order you to do things, my role is to enable and empower you do do things. I will be standing right next to you every step of the way providing air cover and making sure you have everything you need to be successful.

Values

I value diverse perspectives, they yield better outcomes. I value moving with intent, focusing on clearly defined outcomes. Outcomes are not solely reserved for a business context, nor do I feel business outcomes should take a higher priority than individual, team or any other related to the alliances existing on the team.

If we are not growing, learning, changing we are failing. Change is the only constant, so we can either change or be changed.

Decisions should be made by those closest to the problem domain. Top down decisions typically yield poor and uninformed outcomes.

I hope in a years time to make my current self seem unhireable and uninformed.

How I engage

One must always know the value or outcome an action is intended to yield. If one is just doing something out of habit or b/c they have been given direction, absent of intent, this is typically bad. In my opinion these are indicators of poor team or individual health. I will always seek these out and attempt to improve them when possible.

I often state my opinion as direct assertions. Do not take them as fact, lecturous or pompous. It's based in the notion of "a strong argument weakly held". this means state your position clearly and strongly and let it stand on its own merit after that. I'll admit my idea isn't as strong, take the best one on the table and move on. I find little reason to try and speak softly on these matters. The exchange is focused on the idea's merit not one's personal worth. Always separate the two and try not to get offended. If you are, let me know and i'll turn down the volume and make sure others do as well :) The point is, I do not believe we are here to be combative, we should feel safe and comfortable to kick around ideas. However, we are also not here to be agreeable simply b/c it's more polite. we are here to yield the best possible outcomes. Good ideas know no rank or seniority. To quote Linus Torvalds "bad ideas should be [taken] down aggressively. Even good ideas need to be vigorously defended"

I feel that is how we get to the best outcome. Thoroughly stress all perspectives and let the best emerge. Quality outcomes is why we are here.

Quotes/Thoughts

Thoughts on testing: Software engineering is a science (computer science). In science, until something is proven deterministically to be true, it's just a theory. Therefore, until you have passing tests which can deterministacally prove your code is working all you have is a theory. Don't deliver theories deliver facts :) In short, if you don't have passing tests, you don't have working code.

Thoughts on ideas, opinions & beliefs (using a quote): We must also embrace debate and disagreement in our midst, since that is how we learn and strengthen our own arguments. It’s great to have our “safe spaces” to regenerate in. But spending too much time there only makes us weaker and less able to see what’s actually going on. What we ultimately want to see are individuals unafraid of standing up for what they believe in, even if they’re the only ones in a crowd, and even if that crowd is composed of their own friends. We want to see these individuals supported, even celebrated, because of the strength they’re showing. It’s easy to fit into a crowd. But encouraging individual thought above all else is what this community should always be about.
2600 - Celebrate the difference

You tell me that I make no difference, well at least I'm f^cking trying! What the f^ck have you done? - Minor Threat: In my eyes lyrics video

clarity's People

Contributors

dependabot-preview[bot] avatar xchapter7x avatar

Stargazers

 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

Watchers

 avatar  avatar  avatar

clarity's Issues

e2e functional tests for cli

Is your feature request related to a problem? Please describe.
The problem is our cli's are not actually tested after they are built.

Describe the solution you'd like
e2e functional tests on compiled binaries

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
we test all of the matchers, but we dont currently have a suite of tests to check that the generated binaries function as intended.

Support for 0.12 HCL

Hi,

Thank you very much for the project. Any intention to support HCL2 ?

Cheers.

NEW FEATURE: Check Delta on Plan

Given a terraform Planfile,
we should be able to run tests which compare the current state vs the suggested changes in the planfile, using the serial and lineage to pin to a starting point for the test to run a delta from.

this pinning is optional if we have certain general policies that should be met for every changeset, but using pinning allows us to have tests which are deterministic and idempotent, which focus on the outcome desired from a given change.

possible logical flow

  • pull latest state
  • check for matching serial in tests
  • check for matching lineage in tests
    • if match then

      • run plan
      • run tests on plan vs state delta
    • if tests pass

      • success
    • else

      • fail exit

if serial == *
then always run

** notes:

  • serial should support regex matching
  • lineage should support exact match or * (default should be star, in event there is no value)
  • language for tests?

some mocked up pseudo golang

func TestTerraDelta(t *testing.T) {
  tt := []Delta{}
  for i, v := range tt {
    tt.Run()
  }
}

Delta{
  Anchor{
    Serial: '*',
  },
  Suite: []DeltaTest{myTests},
}

func (s *Delta) Run() {
  //get state and marshal
  //get plan and marshal
  //run suite
  for i, v := range s.Suite {
    v.DeltaTest(stateJson, planJson)
  }
}

type Anchor struct {
  Serial string
  Lineage string
}

type Delta struct {
  Anchor 
  Suite []DeltaTest
}

type DeltaTest func(state map[string]interface, plan map[string]interface) ([]error, error) 

Support for go mods

switch over to using go mod in this project
such that we can be more aligned with the community and implement certain package mgmt features helpful when using hclv2, for example.

HCL check does not support terraform v0.12 syntax

Describe the bug
I define the following variable in my terraform template,

variable "storageName" {
  description = "datastore names that will be used for creating disks"
  type        = list
}

when run clarity testing, it is failed with the following error message

 Given Terraform                                    # terraform.go:92 -> *Match
    hcl Unmarshal failed: At 164:17: Unknown token: 164:17 IDENT list
    And a "vsphere" of type "provider"                 # terraform.go:279 -> *Match
    Then attribute "version" equals "1.13"             # terraform.go:409 -> *Match

To Reproduce
Using clarity v7.0
Steps to reproduce the behavior:

  1. define variable with type = list
  2. run clarity test

Expected behavior
definition of "type = list" is supported in terraform 0.12, HCL check should not be failed

Dependabot can't parse your go.mod

Dependabot couldn't parse the go.mod found at /go.mod.

The error Dependabot encountered was:

go: failed to write version list: write /opt/go/gopath/pkg/mod/cache/download/golang.org/x/tools/@v/list494033814.tmp: no space left on device

View the update logs.

Typo in the project description

Hello.

I've found a typo in the project description.

A declaritive test framewark for Terraform: For more complete testing support using OPA policies check out: https://github.com/instrumenta/conftest

should be A declarative test framework ...

P.S. thanks for the project, looks interesting.

Error: hcl Unmarshal failed: Missing newline after block definition

Describe the bug
I get the following error when I try to run my clarity test.


  Scenario: we allow iam users access to view billing # account.feature:3
    Given HCL2 # account.feature:4
      Error: hcl Unmarshal failed: parse hcl2 config: 
 [:50,2-10: Missing newline after block definition; A block definition must end with a newline. 
]

The following below are the files I've got in my module:

variables.tf file

variable "name" {
  description = "Account name prefix"
  type            = string
}

variable "account" {
  description = "The account type being created (prod, nonprod, tools, sandbox)"
  type            = string
}

variable "parent" {
  description = "The ID of the parent - Root account or OU"
  type            = string
}

variable "ou" {
  description = "The name of the OU - used to create email address"
  type            = string
}

variable "email_prefix" {
  description = "Email to attach to this account"
  type            = string
}

variable "email_domain" {
  description = "Email domain"
  type            = string
}

variable "role_name" {
  description = "Name of the role that will be automatically trusted from the master account"
  type            = string
}

variable "tags" {
  default = []
}

variable "name" {
   description = "Name for account"
   type = string
}

variable "email {
   description = "Email for account"
   type = string
}

account.tf file

resource "aws_organizations_account" "ou_account" {
     name                       = var.name
     email                       = var.email
     parent_id                = var.parent
     iam_user_access_to_billing = "ALLOW"
     role_name              = var.role_name
     tags                        = var.tags
}

account.feature file

Feature: We should have an aws account and as such we should configure the account correctly

  Scenario: we allow iam users access to view billing
    Given HCL2
    And a "aws_organizations_account" of type "resource"
    Then attribute "iam_user_access_to_billing" equals "ALLOW"

To Reproduce
Steps to reproduce the behavior:

  1. Add the above files
  2. Run clarity
  3. See error

Expected behaviour
The test passes after running clarity account.feature.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: osX
  • Clarity Version: v7.0
  • Terraform Version: v0.14.0

Additional context

I don't believe I am missing a newline, I can confirm I have got a newline at the end of the aws block resource. I have also run terraform fmt to make sure I have not got any formatting issues with the code and that's returned successfully.

Clarity testing for checking resource tags

Hi,

I am new to clarity test tool. I wanted to know whether clarity can be used to check whether tags are added to AWS resources or not.

Any suggestions here would be helpful.

Regards,
Reena

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

cuelang.org/[email protected]: unrecognized import path "cuelang.org/go" (parse https://cuelang.org/go?go-get=1: no go-import meta tags ())

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

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.