terraform-provider-github
terraform-provider-github copied to clipboard
[FEAT]: Add Resource for managing a user's settings
Describe the need
As a platform operator, I manage all my personal stuff using IaC principles. I would like to be able to manage my GitHub user account and all its associated settings and configuration using Terraform. This would allow me to manage my GitHub user account using modern practices and ensure my account's configuration is correct.
I have reviewed all the available Resources in the GitHub Provider and cannot locate a Resource that seems to allow this. If ive missed it, please feel free to call it out.
SDK Version
No response
API Version
No response
Relevant log output
No response
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
👋 Hi! Thank you for this contribution! Just to let you know, our GitHub SDK team does a round of issue and PR reviews twice a week, every Monday and Friday! We have a process in place for prioritizing and responding to your input. Because you are a part of this community please feel free to comment, add to, or pick up any issues/PRs that are labled with Status: Up for grabs
. You & others like you are the reason all of this works! So thank you & happy coding! 🚀
I am a fairly new Terraform user, so I could be misunderstanding a few things. Feel free to clarify as needed.
I think this request is a bit broad. Could you elaborate on the specific user settings you wish to modify? I think a few controls are available already:
- github/resource_github_user_gpg_key.go
- github/resource_github_user_ssh_key.go
- https://github.com/integrations/terraform-provider-github/issues/2070 which I am working on here: https://github.com/integrations/terraform-provider-github/compare/main...arunsathiya:terraform-provider-github:feat/github_user_email_address
There's definitely many more settings that can be controlled with Terraform but I don't think one resource for all of that is the way to go, rather it should be multiple smaller resources managing each setting.