GithubHelp home page GithubHelp logo

gcloud-run's Introduction

Cloud Run

Node.js project to test Google Cloud Run.

Project ID: gcloud-test-run Project name: gcloud-run Service name: backend Region: europe-north1

Features

  • Cloud Run project
  • Cloud Build
    • Continuous Integration
    • Continuous Deployment

Features included in Cloud Run

  • SSL certificates
  • "Blue/green" zero-downtime deploys
  • Autoscaling, from zero instances
  • Increased security and lower maintenance vs. traditional VMs

Google Cloud project setup

  1. Create your project in Google Cloud console.
  2. gcloud init
  3. Set the appropriate variables in /ops/terraform/cloud-run/variables.tf
  4. gcloud services enable cloudresourcemanager.googleapis.com
  5. Create a service account

Cloud Build setup

  1. Service Account Settings -> "Cloud Run Admin": "Enabled" and "GRANT ACCESS TO ALL SERVICE ACCOUNTS"
  2. Triggers -> "Connect Repository"

Terraform setup

  1. npmR docker:build
  2. npmR docker:push
  3. Webmaster Central verify domain ownership with TXT record -> "Add an owner" -> Add project service account

Then

  • run cd ./ops/terraform && ./tf.sh apply cloud-run
  • go to the created DNS zone and view zone details, click "Registrar Setup" in top-right corner
  • Set the domain's nameserver to use Google's servers by copying over the shown addresses

Domain name

The name server of the domain in question must point to the same name servers as those in the created Google DNS zone.

TODO:

  • Find some way for the created DNS zone to not change name servers between creations
  • Terraform setup for this, so that new projects can be automatically set up
  • Monitoring (e.g. through cAdvisor or Datadog?)
  • Cache CI build step

gcloud-run's People

Contributors

dependabot[bot] avatar j0nas avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.