Kubernetes manifests (Deployment, Service, Ingress, ConfigMap, Secret, HorizontalPodAutoscaler) must be versioned with the code or in a dedicated repository. Helm or Kustomize let you manage variations between environments without duplicating files or maintaining them by hand.
Every Deployment must define liveness and readiness probes, resource requests and limits, and a rolling update strategy with a maximum number of unavailable instances. Without a readiness probe, Kubernetes sends traffic to pods that are not ready yet.
Secrets must never be stored in plain text in the repository. Use an external manager (AWS Secrets Manager, HashiCorp Vault) synchronised through External Secrets Operator, or encrypted secrets with Sealed Secrets or SOPS, so the repository stays readable without being dangerous.