Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Prototypes #37

Merged
merged 34 commits into from
Jul 8, 2020
Merged

RFC: Prototypes #37

merged 34 commits into from
Jul 8, 2020

Commits on Apr 3, 2019

  1. initial generalized resources proposal

    the proposal itself is not yet fleshed out at all - still in the
    information collecting phase so that the motivations are clear
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 3, 2019
    Configuration menu
    Copy the full SHA
    6fd41f9 View commit details
    Browse the repository at this point in the history
  2. i guessed the number wrong :(

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 3, 2019
    Configuration menu
    Copy the full SHA
    2850500 View commit details
    Browse the repository at this point in the history
  3. start defining important terms, tweak wording

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 3, 2019
    Configuration menu
    Copy the full SHA
    50a272a View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2019

  1. glossary updates, add icon support as motivation

    ...plus a bunch of tweaks to make the markdown linter happy
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    9554b97 View commit details
    Browse the repository at this point in the history
  2. start interface outline, artifacts interpretation

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    7e78e1e View commit details
    Browse the repository at this point in the history
  3. fix bare links, + other minor cleanups

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    ed3b28a View commit details
    Browse the repository at this point in the history
  4. clarify reasoning for ./info being relative

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    3ca8f96 View commit details
    Browse the repository at this point in the history
  5. change formatting of 'versioned artifact' section

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    b5e332e View commit details
    Browse the repository at this point in the history
  6. flesh out 'check' interface

    I decided to stray from the initial v2 doc, which had a 'reset' event
    type and a 'discovered' event type. Instead 'check' only returns a
    stream of JSON objects containing config and metadata.
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    0edb683 View commit details
    Browse the repository at this point in the history
  7. give 'check' events an event type

    Since `put` can both create and delete configs, it seems better to keep
    them all using the same event structure, even if 'check' can only emit
    one type of event (`discovered`).
    
    The alternative to this would be to split deleting out of 'put'. At that
    point they would each emit a single type of event, and the interface
    would be less open-ended. There's value in that, but that value has to
    be weighed against the value of being able to create + delete in one
    action. It's also not super clear that all resource types would support
    'delete'. (But then, not all of them will support 'put', either.)
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    f8e7164 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2019

  1. make linter happy

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 7, 2019
    Configuration menu
    Copy the full SHA
    e90ed7f View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2019

  1. add 'delete' action, unify action interface

    this removes 'event types' from the response from each action, and
    now they all have the same response.
    
    event types were needed because 'put' could both create and delete, and
    we needed a way to tell the difference. so instead, we've split 'delete'
    out, and now each action has only one way to interpret the events, so
    the types are no longer needed.
    
    this makes the interface a bit less flexible, but it seems worth seeing
    how far we can go with this constraint for the sake of having a simpler,
    more focused interface. if we can go the distance with this limitation
    it feels like stronger validation of the resources concept.
    
    along the way I've put the configuration for each command under an
    'actions' field in the info response. i'd like to also have it so
    actions are optional, i.e. you can have a resource that doesn't
    implement 'delete' or 'put'. this seems like it'll be necessary if we
    want a common resource interface to be used for things like
    notifications or triggers where there's nothing to really delete, and
    even today there are cases where resources are 'read-only' and don't
    support put at all (e.g. RSS).
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    836eb67 View commit details
    Browse the repository at this point in the history
  2. execute default command for image, not ./info

    we were already relying on image semantics here by expecting it to be in
    the working directory, so relying on CMD should be no worse.
    
    this will allow greater flexibility for resource type authors, allowing
    for a single-binary entrypoint rather than forcing them to have an
    'info' executable in a particular location.
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    999a803 View commit details
    Browse the repository at this point in the history
  3. fix a couple of link titles

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    1e611ee View commit details
    Browse the repository at this point in the history
  4. update artifact check semantics, add git example

    check no longer emits 'reset', it emits the given version first to show
    it still exists (just as today)
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    aec9032 View commit details
    Browse the repository at this point in the history
  5. bring artifact resources description up to date

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    0b42c11 View commit details
    Browse the repository at this point in the history
  6. add proposals for notifications/spaces/triggers

    these all go hand-in-hand so they have the same RFC number and are in
    the same PR, but they each deserve their own proposals
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    80f3ce1 View commit details
    Browse the repository at this point in the history
  7. give overview of other workflows and link to them

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    1303510 View commit details
    Browse the repository at this point in the history
  8. bring TLS configuration into the interface

    this will allow us to have a common mechanism for configuring TLS across
    all resource types. having it be a formal part of the interface feels
    sensible as all resources are meant to interact with external state -
    and in doing so, TLS will be a commonplace.
    
    a later RFC (or perhaps another proposal within this one) will
    demonstrate how users configure TLS - it may be something like the
    pipeline-level, or another field alongside 'source' on the resource
    definitions.
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    4b3c95d View commit details
    Browse the repository at this point in the history
  9. leave rich metadata out-of-scope

    this is not well-defined yet and this is easy enough to do as a later
    iteration of the resource interface, now that it's versioned.
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    d6eb993 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2019

  1. add 'previous discussions' section

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 13, 2019
    Configuration menu
    Copy the full SHA
    0a805ec View commit details
    Browse the repository at this point in the history

Commits on May 14, 2019

  1. namespace icons

    fixes concourse/concourse#3789
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 14, 2019
    Configuration menu
    Copy the full SHA
    2cd1d64 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2019

  1. clearer wording

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 18, 2019
    Configuration menu
    Copy the full SHA
    b2b5b1c View commit details
    Browse the repository at this point in the history

Commits on May 21, 2019

  1. flesh out artifact resources proposal

    * introduce artifacts: and how it can be used as a migration path for
      explicit `get` after `put`
    * update open/closed questions (they are all now closed)
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 21, 2019
    Configuration menu
    Copy the full SHA
    e63bd67 View commit details
    Browse the repository at this point in the history
  2. remove proposals for resource interpretations

    each of these proposals should be submitted as separate RFCs. each RFC
    should show how the v2 *and* v1 interfaces are to be interpreted.
    
    i've also removed the artifact resources proposal, which I initially
    included in order to provide a concrete example relating today's
    resource usage to the v2 interface. however, it can technically be done
    independently of the v2 interface, if not just as a way of achieving
    'explicit `get` after `put`' in a backwards-compatible way. so let's
    just propose it separately and link to all four to demonstrate how it is
    just one of four proposed interpretations.
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 21, 2019
    Configuration menu
    Copy the full SHA
    5ae7100 View commit details
    Browse the repository at this point in the history
  3. don't list trigger/spatial/notification resources

    these are being made independent of v1 vs. v2
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 21, 2019
    Configuration menu
    Copy the full SHA
    fb62380 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2019

  1. insecure_skip_verify -> skip_verification

    calling this something that sounds like better english until someone
    has a good reason otherwise
    
    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 22, 2019
    Configuration menu
    Copy the full SHA
    b974dc2 View commit details
    Browse the repository at this point in the history
  2. flesh out summary and interpretation sections

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed May 22, 2019
    Configuration menu
    Copy the full SHA
    504a13a View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2019

  1. rework 'generalized resources' into 'prototypes'

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    66c9d09 View commit details
    Browse the repository at this point in the history
  2. defer to resource prototypes RFC

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    8ca3c12 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2019

  1. reword

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Oct 16, 2019
    Configuration menu
    Copy the full SHA
    b1bada0 View commit details
    Browse the repository at this point in the history
  2. don't provide TLS configuration to Info

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Oct 16, 2019
    Configuration menu
    Copy the full SHA
    c14e284 View commit details
    Browse the repository at this point in the history
  3. Info writes its response to a file

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Oct 16, 2019
    Configuration menu
    Copy the full SHA
    7c6073b View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2020

  1. add initial support for encrypted responses

    Signed-off-by: Alex Suraci <suraci.alex@gmail.com>
    vito committed Jun 6, 2020
    Configuration menu
    Copy the full SHA
    aaf3d6e View commit details
    Browse the repository at this point in the history