From a20df0ce7abc3b9ec6a6a65e5208dc1f73743ac0 Mon Sep 17 00:00:00 2001 From: Will Ceolin Date: Sat, 20 Jul 2024 17:40:59 -0300 Subject: [PATCH] Temporarily remove fly --- .dockerignore | 45 ----------------- Dockerfile | 95 ------------------------------------ fly_zoonk.toml | 31 ------------ lib/release.ex | 29 ----------- rel/env.sh.eex | 8 --- rel/overlays/bin/migrate | 3 -- rel/overlays/bin/migrate.bat | 1 - rel/overlays/bin/server | 3 -- rel/overlays/bin/server.bat | 2 - 9 files changed, 217 deletions(-) delete mode 100644 .dockerignore delete mode 100644 Dockerfile delete mode 100644 fly_zoonk.toml delete mode 100644 lib/release.ex delete mode 100755 rel/env.sh.eex delete mode 100755 rel/overlays/bin/migrate delete mode 100755 rel/overlays/bin/migrate.bat delete mode 100755 rel/overlays/bin/server delete mode 100755 rel/overlays/bin/server.bat diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 61a73933..00000000 --- a/.dockerignore +++ /dev/null @@ -1,45 +0,0 @@ -# This file excludes paths from the Docker build context. -# -# By default, Docker's build context includes all files (and folders) in the -# current directory. Even if a file isn't copied into the container it is still sent to -# the Docker daemon. -# -# There are multiple reasons to exclude files from the build context: -# -# 1. Prevent nested folders from being copied into the container (ex: exclude -# /assets/node_modules when copying /assets) -# 2. Reduce the size of the build context and improve build time (ex. /build, /deps, /doc) -# 3. Avoid sending files containing sensitive information -# -# More information on using .dockerignore is available here: -# https://docs.docker.com/engine/reference/builder/#dockerignore-file - -.dockerignore - -# Ignore git, but keep git HEAD and refs to access current commit hash if needed: -# -# $ cat .git/HEAD | awk '{print ".git/"$2}' | xargs cat -# d0b8727759e1e0e7aa3d41707d12376e373d5ecc -.git -!.git/HEAD -!.git/refs - -# Common development/test artifacts -/cover/ -/doc/ -/test/ -/tmp/ -.elixir_ls - -# Mix artifacts -/_build/ -/deps/ -*.ez - -# Generated on crash by the VM -erl_crash.dump - -# Static artifacts - These should be fetched and built inside the Docker image -/assets/node_modules/ -/priv/static/assets/ -/priv/static/cache_manifest.json diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index f72246b4..00000000 --- a/Dockerfile +++ /dev/null @@ -1,95 +0,0 @@ -# Find eligible builder and runner images on Docker Hub. We use Ubuntu/Debian -# instead of Alpine to avoid DNS resolution issues in production. -# -# https://hub.docker.com/r/hexpm/elixir/tags?page=1&name=ubuntu -# https://hub.docker.com/_/ubuntu?tab=tags -# -# This file is based on these images: -# -# - https://hub.docker.com/r/hexpm/elixir/tags - for the build image -# - https://hub.docker.com/_/debian?tab=tags&page=1&name=bullseye-20230612-slim - for the release image -# - https://pkgs.org/ - resource for finding needed packages -# -ARG ELIXIR_VERSION=1.17.1 -ARG OTP_VERSION=26.2.5 -ARG DEBIAN_VERSION=bullseye-20230612-slim - -ARG BUILDER_IMAGE="hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}" -ARG RUNNER_IMAGE="debian:${DEBIAN_VERSION}" - -FROM ${BUILDER_IMAGE} as builder - -ARG CSP_CONNECT_SRC -ARG SENTRY_DSN - -# install build dependencies -RUN apt-get update -y && apt-get install -y build-essential git \ - && apt-get clean && rm -f /var/lib/apt/lists/*_* - -# prepare build dir -WORKDIR /app - -# install hex + rebar -RUN mix local.hex --force && \ - mix local.rebar --force - -# set build ENV -ENV MIX_ENV="prod" -ENV CSP_CONNECT_SRC="${CSP_CONNECT_SRC}" -ENV SENTRY_DSN="${SENTRY_DSN}" - -# install mix dependencies -COPY mix.exs mix.lock ./ -RUN mix deps.get --only $MIX_ENV -RUN mkdir config - -# copy compile-time config files before we compile dependencies -# to ensure any relevant config change will trigger the dependencies -# to be re-compiled. -COPY config/config.exs config/${MIX_ENV}.exs config/ -RUN mix deps.compile - -COPY priv priv - -COPY lib lib - -COPY assets assets - -# compile assets -RUN mix assets.deploy - -# Compile the release -RUN mix compile - -# Changes to config/runtime.exs don't require recompiling the code -COPY config/runtime.exs config/ - -COPY rel rel -RUN mix release - -# start a new build stage so that the final image will only contain -# the compiled release and other runtime necessities -FROM ${RUNNER_IMAGE} - -RUN apt-get update -y && apt-get install -y libstdc++6 openssl libncurses5 locales \ - && apt-get clean && rm -f /var/lib/apt/lists/*_* - -# Set the locale -RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen - -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 - -WORKDIR "/app" -RUN chown nobody /app - -# set runner ENV -ENV MIX_ENV="prod" - -# Only copy the final release from the build stage -COPY --from=builder --chown=nobody:root /app/_build/${MIX_ENV}/rel/zoonk ./ - -USER nobody - -CMD ["/app/bin/server"] diff --git a/fly_zoonk.toml b/fly_zoonk.toml deleted file mode 100644 index e86b370a..00000000 --- a/fly_zoonk.toml +++ /dev/null @@ -1,31 +0,0 @@ -# fly.toml app configuration file generated for zoonk on 2023-10-09T14:28:39-03:00 -# -# See https://fly.io/docs/reference/configuration/ for information about how to use this file. -# - -app = "zoonk" -primary_region = "iad" -kill_signal = "SIGTERM" -swap_size_mb = 512 - -[build] - -[deploy] - release_command = "/app/bin/migrate" - -[env] - PHX_HOST = "zoonk.io" - PORT = "8080" - -[http_service] - internal_port = 8080 - force_https = true - auto_stop_machines = true - auto_start_machines = true - min_machines_running = 0 - processes = ["app"] - -[http_service.concurrency] - type = "connections" - hard_limit = 1000 - soft_limit = 1000 diff --git a/lib/release.ex b/lib/release.ex deleted file mode 100644 index 1793ca76..00000000 --- a/lib/release.ex +++ /dev/null @@ -1,29 +0,0 @@ -# credo:disable-for-this-file Credo.Check.Readability.Specs -defmodule Zoonk.Release do - @moduledoc """ - Used for executing DB release tasks when run in production without Mix - installed. - """ - @app :zoonk - - def migrate do - load_app() - - for repo <- repos() do - {:ok, _r1, _r2} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true)) - end - end - - def rollback(repo, version) do - load_app() - {:ok, _r1, _r2} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version)) - end - - defp repos do - Application.fetch_env!(@app, :ecto_repos) - end - - defp load_app do - Application.load(@app) - end -end diff --git a/rel/env.sh.eex b/rel/env.sh.eex deleted file mode 100755 index 2bdface8..00000000 --- a/rel/env.sh.eex +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -# configure node for distributed erlang with IPV6 support -export ERL_AFLAGS="-proto_dist inet6_tcp" -export ECTO_IPV6="true" -export DNS_CLUSTER_QUERY="${FLY_APP_NAME}.internal" -export RELEASE_DISTRIBUTION="name" -export RELEASE_NODE="${FLY_APP_NAME}-${FLY_IMAGE_REF##*-}@${FLY_PRIVATE_IP}" diff --git a/rel/overlays/bin/migrate b/rel/overlays/bin/migrate deleted file mode 100755 index 02f6b63f..00000000 --- a/rel/overlays/bin/migrate +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -cd -P -- "$(dirname -- "$0")" -exec ./zoonk eval Zoonk.Release.migrate diff --git a/rel/overlays/bin/migrate.bat b/rel/overlays/bin/migrate.bat deleted file mode 100755 index 63248ae4..00000000 --- a/rel/overlays/bin/migrate.bat +++ /dev/null @@ -1 +0,0 @@ -call "%~dp0\zoonk" eval Zoonk.Release.migrate diff --git a/rel/overlays/bin/server b/rel/overlays/bin/server deleted file mode 100755 index a2b36cb8..00000000 --- a/rel/overlays/bin/server +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -cd -P -- "$(dirname -- "$0")" -PHX_SERVER=true exec ./zoonk start diff --git a/rel/overlays/bin/server.bat b/rel/overlays/bin/server.bat deleted file mode 100755 index 0dadf2f0..00000000 --- a/rel/overlays/bin/server.bat +++ /dev/null @@ -1,2 +0,0 @@ -set PHX_SERVER=true -call "%~dp0\zoonk" start