hashicorp / hashicorp/vagrant

Create vagrant cloud http client

Open
#12,866 0 comments 0 reactions 0 assignees View on GitHub
task-medium vagrant-go
Dominant language
Ruby
Stars
27.2k
Forks
4.4k
Avg merge
1m
Merged PRs (30d)
1

Description

## Description

We need to create an http client for interacting with Vagrant Cloud. Should be defined within the SDK. It should support having the authentication token set and automatically apply the auth header on requests. Should include conditional application of header based on destination host (like how we do it in the cloud middleware for adding auth in the Ruby implementation).

Ideally we should also have a way for plugins to request the client (so an endpoint somewhere and mappers) but depending we can cut that into a separate ticket.

## Use case (optional)
The user and plugins will be able to interact with Vagrant Cloud

## Supporting materials

Will require hooks to be implemented hashicorp/vagrant#12853
Pre-existing work: hashicorp/vagrant#287 and hashicorp/vagrant-plugin-sdk#172

### Estimated task complexity time-frame (does not guarantee a delivery date)
- [ ] 1 day
- [x] 1 week
- [ ] 2-3 weeks

### Estimated user impact
Major

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing work in hashicorp/vagrant#287 and hashicorp/vagrant-plugin-sdk#172, then inspect the hooks required by hashicorp/vagrant#12853. Define the SDK HTTP client with token authentication and conditional auth-header application by destination host; determine separately whether plugin access needs the endpoint and mappers described here. Done means the client supports the stated Vagrant Cloud requests and the plugin-access scope is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.