# Deploy a new Service **Prerequisites**: - Cluster Access - Actual tfstate file - Cloned infrastructure repository To deploy a new service, we need a Terraform file which describes the new service. We provide a template_service.tf file to simplify deployment. We will go through that template with an example service. To start, make a copy of the template_service.tf file and rename it with your service name, e.g. example_service. Open the file in a text editor of your choice. First, delete the first `\*` and last line `*\` of the file to uncomment the resources. ## Structure The template service consists of a - **Deployment resource**: The deployment controls the pod in which your container and the Dapr sidecar is hosted - **Helm release of postgres**: The helm resource deploys a PostgreSQL database used by your service - **Password resource**: Generates a password used for database authentication and stores it as a Kubernetes secret. To deploy the service, we need to set the service names. The following is a list of the places where you need to make adjustments in order to run the service. At each location, there is a placeholder. **_service** replace it with your service name. For example **_service** will replaced by **example_service**. ## Deployment resource In the deployment resource, you need to set the name of the service in the following parts. - The name of the resource  ```resource "kubernetes_deployment" "gits_