Q42 / Q42/Template.ComposeMultiplatform

Improve secrets management

Open
#214 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
1
Forks
0
Avg merge
7d 15h
Merged PRs (30d)
15

Description

I don't think there is a system at all currently to centralise configuration of api keys etc. Project setup requires you to setup a bunch of github action secrets. This approach pretty much blocks building release builds locally.

If all secrets are in a single file, then the only secret that needs to be setup in github actions is the content of that secrets file. Something like this could be nice: https://github.com/Q42/Template.Android/blob/develop/dummy_secrets.gradle
A disadvantage of that approach is that the gradle file is only used in gradle itself. Not in github action steps.

Implementation

  • think of a file format that can be loaded both by gradle and by Github Actions as environment variables...?
  • add the contents of that file to github as an Action secret
  • Add the file to .gitignored, we don't want secrets in the repo
  • let github actions read secrets from that file
  • let Gradle read all secrets from that file
  • add the file to 1pw
  • document in README

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the existing Gradle setup, GitHub Actions workflows, .gitignore, and README to inventory how secrets are currently referenced. Decide on a format usable by both Gradle and GitHub Actions, then verify that local release builds and Actions can load it without committing secrets. Done means the shared secret file is ignored, stored in 1Password and GitHub Actions, documented in the README, and consumed by both systems.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, kotlin
Domain
build-system, ci-cd, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.