# PA6 Assignment Handout

## Assignment Scope

{% hint style="warning" %}
**Due Date:** Sunday 11/2, 11:59pm
{% endhint %}

You will be deploying the docker image you created in PA5 to Google Cloud! It should have all the functionality of PA4. Your submission will only involve a README.txt file including the IP address of your deployed server.

### Helpful Links

* [Docker Hub](https://hub.docker.com/)
* [Google Cloud Console](https://console.cloud.google.com/)
* [Installing Docker on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04)
* [Installing Docker Compose on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-ubuntu-18-04)

### 1. [Set Up Google Cloud Account](https://backend-course.cornellappdev.com/chapters/deployment/pre-class#2-claim-google-cloud-credits)

### 2. [Set Up Server Environment](https://backend-course.cornellappdev.com/chapters/deployment/demo#2-open-ssh-web-interface)

### 3. [Run Docker Container](https://backend-course.cornellappdev.com/chapters/deployment/demo#4-setup-docker-compose-file)

### 4. Submit Assignment

#### 3a. Fill out your README.txt

A `README.txt` file is included in the starter code for you to fill out after completing the assignment. Also note that you will not receive extra credit for Extra Credit Challenges you complete if you do not let us know for when we grade!

{% hint style="warning" %}
Make sure to note your server's IP address so that we can test it while grading!
{% endhint %}

{% code title="README.txt" %}

```
Name: Jane Smith
NetID: js123

Challenges Attempted: Tier I, II, III

Instance IP: <insert IP address here>
```

{% endcode %}

#### 3b. Submit README.txt on CMS

#### 3c. Submit Feedback Form&#x20;

[**Feedback Form**](https://forms.gle/ihzB543fQE2oVuGq5)

To receive credit for your assignment, you **must** fill out the feedback form so that we can better understand how effectively we are teaching and how long students are spending on assignments.

## Challenges

### **Tier I**

#### **Add the use of a Docker volume to isolate a production database**

You can follow along the steps and motivation layed out in the demo.

#### **Add the use of an environment variable file for secrets**

You can follow along the steps and motivation layed out in the demo.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://backend-course.cornellappdev.com/deprecated/old-handout.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
