s3-file-explorer

command module
v0.0.0-...-c99f1b3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

README


github.com/ghostsquad/s3-file-explorer
S3 File Explorer

IntroductionGetting StartedContributingRoadmap

Introduction

A Simple S3 File Explorer. Make a request to /p/ to see what's in the configured bucket.

Getting Started

task run

In a separate shell

task http:paths

task http:metrics

Configuration

Configuration is done via environment variables. Standard AWS SDK Environment variables supported, as well as OIDC/EC2 authentication methods.

Variable Required Default Description
AWS_BUCKET no github-ghostsquad-s3-file-explorer The AWS Bucket to explorer
PORT no 8080 The listen port
BIND_ADDRESS no Configured to listen on 127.0.0.1, this may not work in Docker

Contributing

brew install asdf
asdf plugin-add task https://github.com/particledecay/asdf-task.git
asdf plugin add python

asdf install

task test

Roadmap

  • Make a roadmap

Known Issues

  1. I have unit tests, and I manually ran some integration tests, but not all integration tests work, so I need to understand a bit more about how gin handles trailing slashes, AWS prefix expectations, etc.

    integration test results

  2. I had to use the Docker Image deployment method because building wasn't going to work, as I'd have some drift in how I configured some build args.

  3. There's a slew of app optimizations still left, such as separating /ping and /metrics endpoints onto different listeners, make logging configurable between text/color and JSON and some other things. This was my first time using Gin.

  4. I didn't write any terraform/pulumi code to use OIDC to authenticate the app. I would prefer that over what I did manually (create a user and access key), but those environment variables were part of the original requirements.

  5. I didn't configure test coverage or pay attention to that much. Just wrote a few small unit tests and a sanity-check end2end test (just verifies that the app runs and I can /ping it) via docker-compose.

Attribution

Function icons created by Freepik - Flaticon

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
aws

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL