You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix GitHub Actions workflow to use GitHub Secrets for production keys
- Replace Vault integration with GitHub Secrets for production public keys
- Fix linter error with overwrite_files parameter
- Add PRODUCTION_SECRETS_SETUP.md with configuration instructions
- Update workflow to properly detect production builds and generate chainspecs
# Extract public keys and SS58 addresses from the JSON files
50
+
```
51
+
52
+
## 🚀 Testing the Setup
53
+
54
+
Once you've configured all the secrets:
55
+
56
+
1.**Create a release tag**:
57
+
```bash
58
+
git tag -a fennel-node-0.5.0 -m "Production release v0.5.0"
59
+
git push origin fennel-node-0.5.0
60
+
```
61
+
62
+
2.**Monitor the GitHub Actions workflow**:
63
+
- Go to the Actions tab in your repository
64
+
- Watch for the "Create and publish a Docker image" workflow
65
+
- Verify it detects the production release and exports the secrets
66
+
67
+
3.**Check the artifacts**:
68
+
- The workflow should generate production chainspecs
69
+
- They should be included in the GitHub release
70
+
- Verify the production chainspec contains your validator keys
71
+
72
+
## 🔒 Security Notes
73
+
74
+
-**Public Keys Only**: These secrets contain only public keys and SS58 addresses
75
+
-**Safe to Store**: Public keys are safe to store in GitHub Secrets
76
+
-**Private Keys**: Private validator keys remain secure in HashiCorp Vault
77
+
-**Runtime Injection**: Private keys are injected at runtime via Vault Agent
78
+
79
+
## 🔄 Migration Path
80
+
81
+
This GitHub Secrets approach provides:
82
+
1.**Immediate Solution**: Production chainspecs generated right away
83
+
2.**Security**: Public keys are safe in GitHub Secrets
84
+
3.**Simplicity**: No complex Vault OIDC authentication in CI/CD
85
+
4.**Vault Integration**: Private keys still managed via Vault for runtime
86
+
87
+
The compilation methodology remains the same - only the source of public keys changes from Vault to GitHub Secrets.
88
+
89
+
## ✅ Verification
90
+
91
+
After setup, your production builds should:
92
+
- ✅ Detect release tags correctly
93
+
- ✅ Export production environment variables from GitHub Secrets
94
+
- ✅ Build runtime with production keys embedded
95
+
- ✅ Generate production chainspecs
96
+
- ✅ Include chainspecs in GitHub releases
97
+
- ✅ Show "Production release detected" in workflow logs
98
+
99
+
---
100
+
101
+
**Next Steps**: Once this is working, you can optionally migrate back to Vault integration if needed, but GitHub Secrets provides a simpler and equally secure approach for public key material.
0 commit comments