go-prod is a command-line tool written in Go that facilitates the management
of service production readiness. It helps you generate production readiness
guidelines and checklists based on various technology stacks.
Installation
To install go-prod, you can use the go install
command:
go install github.com/npvinhphat/go-prod
Usage
Generating Production Readiness Guideline
Use the following command to generate a production readiness guideline:
go-prod generate guideline --stacks=default,kubernetes,pagerduty,slack,wavefront > docs/examples/guideline.md
Replace the --stacks
flag value with the desired technology stacks.
Generating Production Readiness Checklist
Use the following command to generate a production readiness checklist:
go-prod generate checklist --stacks=default,kubernetes,pagerduty,slack,wavefront --level=a > docs/examples/checklist.md
Replace the --stacks
flag value with the desired technology stacks and
--level
with the desired readiness level.
FAQs
To convert the markdown generated by go-prod to other formats, you can use
pandoc. Below is an example to convert from
GitHub-flavored markdown (gfm
) to Confluence format (jira
):
go-prod generate guideline | pandoc --from gfm --to jira
Acknowledgements
This project is heavily inspired by the Production Readiness Checklist
by the Mercari Engineering team. I
extend my appreciation for their valuable work and insights, which have
contributed to the foundation of go-prod.
I encourage you to explore the Production Readiness Checklist
repository to learn more about their approach to service production readiness.
Disclaimer
The information provided in the documents generated by go-prod is based on
personal experiences and opinions. While I've made efforts to provide useful and
actionable insights, these guidelines and checklists should not be considered
exhaustive or universally applicable.
Every service, organization, and technology stack is unique, and the best
practices for production readiness can vary. It's important to use these
documents as a foundation and adapt the recommendations to suit your project's
specific requirements, challenges, and constraints.
I encourage you to assess and validate the provided information within the
context of your own technical and operational environment. Feel free to seek
additional sources of information and consult with your peers to ensure that the
recommendations align with your project's goals and constraints.
I hope that go-prod serves as a helpful tool for initiating discussions and
guiding your production readiness efforts, while also empowering you to make
informed decisions that best suit your particular use case.
Contributing
Contributions are welcome! If you find any issues or have suggestions for
improvements, feel free to open an issue or a pull request.
License
This project is licensed under the MIT License.