Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting our hosting environments setup for Human-Connections repo #13

Open
11 tasks
sfc-gh-eraigosa opened this issue Sep 13, 2020 · 2 comments
Open
11 tasks

Comments

@sfc-gh-eraigosa
Copy link
Contributor

sfc-gh-eraigosa commented Sep 13, 2020

Is your feature request related to a problem? Please describe.

@yumibyte @cynthialunamaciel as you work through the class you'll be learning some valuable skills that we are going to use to automate the next steps in setting up https://github.com/JusticeInternational/Human-Connection. There are some key take aways that are important to remember from the class:

  1. Using the Azure Login (don't forget to switch tenants to justiceinternational when you login.
    image
  2. A web app is how we'll be deploying our application to Azure.
  3. A resource group is a collection of resources, like web apps and virtual machines (VMs).
  4. An App Service plan is what runs our web app and manages the billing (our app should run for free).
  5. Using GitHub Actions for CI/CD
  6. Finally we'll use GitHub packages , PR's and labels to manage all the workflow

Describe the solution you'd like

Since we're using App Service plans we will have at lest 2 sets of apps we will be deploying. 1 for each of the components of the Human Connections app however this can also be 3 apps since we can use the web for testing. There will be 2 environments, a staging and production environment so we can perform testing. The jobs and configuration for the Dockerfile will live in the project-config repository. Here are how i'd like to see the task break down.

Setup neo4j database

  • Create a build script for neo4j in script/neo4j folder. This is an adaptation of this configuration and the current project, JusticeInternational/project-config, folders Dockerfile. Use the shell script to clone and build a docker image for the project.
  • create a build workflow file for container build and publishing to docker.pkg.github.com
  • create a staging workflow file like you did in the exercise
  • create a production workflow file like you did in the exercise
  • create an environment setup workflow file for the Azure environment like you did in the exercise.

Setup the backend api service

  • Create a build script for backend in script/backend folder. This is an adaptation of this configuration and this folder Dockerfile. Use the shell script to clone and build a docker image for the project.
  • create a build workflow file for container build and publishing to docker.pkg.github.com
  • create a staging workflow file like you did in the exercise
  • create a production workflow file like you did in the exercise
  • create an environment setup workflow file for the Azure environment like you did in the exercise.

Integration time

  • Integrate the configuration values using github secrets to communicate between neo4j and the backend database.

Additional context

Unknowns

There will be lots of learning here, so don't be afraid to ask questions. We still don't know some answers around backup recover, monitoring, and versioning. We'll make new issues along the way to address those issues. We also will need some form of persistent storage answer for the neo4j database /data folder since we'll not want to loose the data we end up loading, so we'll need a separate issue to address that when we're ready.

If someone finishes early we will also need the web app environment when it's ready.

@yumibyte
Copy link
Contributor

I can work on setting up azure for the neo4j database

@sfc-gh-eraigosa sfc-gh-eraigosa added this to In progress in RedSol Project Backlog Nov 8, 2020
@sfc-gh-eraigosa sfc-gh-eraigosa moved this from In progress to On Hold in RedSol Project Backlog Aug 29, 2021
@sfc-gh-eraigosa sfc-gh-eraigosa moved this from On Hold to In progress in RedSol Project Backlog Aug 29, 2021
@sfc-gh-eraigosa
Copy link
Contributor Author

We have this setup here; https://github.com/JusticeInternational/project-config/tree/stable/config

We may need to refresh this issue. For now I'm moving it to on hold.

@sfc-gh-eraigosa sfc-gh-eraigosa moved this from In progress to Key Information documents and links in RedSol Project Backlog Aug 29, 2021
@sfc-gh-eraigosa sfc-gh-eraigosa moved this from Key Information documents and links to On Hold in RedSol Project Backlog Aug 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

3 participants