Skip to content

πŸ”’ Redact Home Assistant secrets for public repositories

License

Notifications You must be signed in to change notification settings

HardKothari/redact-secrets-fork-matt8707

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

redact-secrets

Redacts Home Assistant secrets for public repositories.

But, why?

I'm sharing my configuration publicly and I want to include my commands but not actual secrets like tokens. It's a pain to have to redact secrets manually.

Usage

The secrets_template.yaml is read and writes two files:

  • secrets.yaml file read by hass
  • secrets_redacted.yaml file pushed to your repository

You also have to edit the paths in main.py

TEMPLATE = "/Users/matte/mount/hass-config/secrets_template.yaml"
write_redacted("/Users/matte/mount/hass-config/secrets_redacted.yaml")
write_secrets("/Users/matte/mount/hass-config/secrets.yaml")

Example

Note: If the secret starts with brackets you have to wrap it in quotes.

secrets_template.yaml

token: "[[[Gffk52sd5]]]"
command: my cool command but hide my [[[password]]]
remote: ssh [[[[email protected]]]] reboot

secrets_redacted.yaml

token: REDACTED
command: my cool command but hide my REDACTED
remote: ssh REDACTED reboot

secrets.yaml

token: Gffk52sd5
command: my cool command but hide my password
remote: ssh [email protected] reboot

.gitignore

secrets.yaml
secrets_template.yaml

Terminal

Edit ~/.zshrc and add the function

makes() {
   python3 "/Users/matte/GitHub/redact-secrets/main.py"
}

Now you can type makes into terminal to quickly generate the files.

Disclaimer

Please double-check secrets_redacted.yaml before you push it so you don't leak any sensitive information.

About

πŸ”’ Redact Home Assistant secrets for public repositories

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%