Podchaser Logo
Home
Elixir Deployment

Elixir Deployment

Released Friday, 28th June 2019
Good episode? Give it some love!
Elixir Deployment

Elixir Deployment

Elixir Deployment

Elixir Deployment

Friday, 28th June 2019
Good episode? Give it some love!
Rate Episode
Cuts
  • ipv6:

    • this was in the
  • When to set config

  • AWS is a jungle

  • So.. I guess I need docker ?

  • GCP cloud_sql connection

  • Creating docker image

  • Can I test this image?

  • Debug in prod?

  • SQL Admin API access

  • Where’d PORT go?

  • Docker build is gonna need more RAM

    • docker build -t gcr.io/post-it-243617/postit:v0.4.0 . Sending build context to Docker daemon 523.8kB Error response from daemon: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
  • Docker Args

    • pass the arg
    • declare the arg
    • use the arg $DB_NAME NO CURLY BRACES
    • ok working
  • GCP Secrets?

  • Google KMS (Cloud Key Management)

    • enable KMS. we learned that from the last API, cloud sql
    • using the gcloud kms key XXXXX manual add keys one by one
    • update txt file, get back encrypted file
    • convert encrypted file to base64 and add as a variable to the cloudbuild.yaml
    args: [ '-c', 'docker build -t gcr.io/post-it-243617/postit:$REVISION_ID --build-arg DB_PASSWORD=$$db_password --build-arg DB_NAME=$$db_name --build-arg DB_SOCKET_DIR=$$db_socket_dir --build-arg DB_USERNAME=$$db_username --build-arg SECRET_KEY_BASE=$$secret_key_base .' ] secretEnv: ['db_password', 'db_name', 'db_socket_dir', 'db_username', 'secret_key_base']
"Unusable Erlang runtime system! This is likely due to being compiled for another system than the host is running"
  • Building with alpine-elixir:1.7.1 and then serve with alpine:latest
    • there is then a mismatch of erlang versions.
    • checked the distillery examples and locked in the alpine-elixir:1.8.2 and alpine:3.9 Both having the erlang version ERLANG_VERSION=22.0.4
  • Loadbalance and HTTPS

    • kubectl expose deployment DEPLOYMENT --type=LoadBalancer

    The key thing here is to specify the type and your deployment’s name. This will expose your deployment through a service and set up a Load Balancer on Google Cloud Platform.

    • OH??? Ingress is a kubernetes thing. I could figure out what “Ingress” was ?

Websockets for AppEngine

Resources

Distillery

Best Practices for deploying Elixir

PHX on kube gcp

win 10 docker more member

Docker ENV passed with -build-arg

how to KMS

Distillery with Docker

Using KMS with cloudbuild

kubectl cheetsheet

gcloud kube https

Follow

 

Show More
Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features