Skip to content

Tool for distributing secrets from 1password to a set of github repositories

Notifications You must be signed in to change notification settings

koenighotze/github-distribute-secrets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secret distributor

Codacy Badge Codacy Coverage Badge Build

Run ./github-distribute-secrets to apply the secrets to the repositories. Or using the "scripted" version use make run.local.

Project Structure

The project follows the standard Go project layout:

  • cmd/github-distribute-secrets/: Main application code
  • internal/: Internal packages not meant for external use
    • config/: Configuration handling
    • github/: GitHub API client
    • onepassword/: 1Password integration
  • scripts/: Utility scripts

To build the project, run:

make build

For development, you can use:

make run.local

Configuration

See config.yml for details on how to configure the secrets distribution.

# Common secrets shared across multiple projects or environments.
common:
  name-of-the-secret: reference-to-the-1password-value

reposiotory-name:
  name-of-the-secret: reference-to-the-1password-value

TODOS

  • Extract 1password and github into real go modules
  • Replace log.Default() with a structured logging library like zerolog or zap
  • Add timeouts for external commands
  • Add version information to builds
  • Add progress indicators during secret distribution
  • Add confirmation question
  • Add integration tests

About

Tool for distributing secrets from 1password to a set of github repositories

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •