Running it in productionintermediate
A healthcheck is how the platform knows to restart your container, and running as a non-root user is how a bug stops being a breach.
A service that logs by string interpolation, logs a password, swallows the exception it caught and pays to build a debug message nobody will read. Make every line structured, cheap when switched off, and free of anything you would not want in a support ticket.
Every line is queryable by field, nothing sensitive is written, and switching debug off costs nothing.
Published in full, before you start — every point is one of these and there is nothing else.
A healthcheck is how the platform knows to restart your container, and running as a non-root user is how a bug stops being a breach.
Network calls fail. Code that assumes they succeed turns a slow connection into a blank screen with no explanation.
A hardcoded API secret is a secret in your git history; IOptions<T> binds configuration into a typed object your code asks for like anything else.