summaryrefslogtreecommitdiff
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build-and-deploy-stage.yml89
-rw-r--r--.github/workflows/build-and-deploy.yml (renamed from .github/workflows/build-and-deploy-prod.yml)5
-rw-r--r--Dockerfile9
-rw-r--r--config/config.prod.yaml20
-rw-r--r--config/config.yaml (renamed from config/config.stage.yaml)2
-rw-r--r--deploy/playbook.yml1
-rwxr-xr-xsaya-today-webbin0 -> 19752119 bytes
7 files changed, 7 insertions, 119 deletions
diff --git a/.github/workflows/build-and-deploy-stage.yml b/.github/workflows/build-and-deploy-stage.yml
deleted file mode 100644
index 104d9ac..0000000
--- a/.github/workflows/build-and-deploy-stage.yml
+++ /dev/null
@@ -1,89 +0,0 @@
-name: Docker image building and publishing onto Stage
-on:
- push:
- branches: [stage]
-jobs:
- build-and-push:
- if: github.repository == 'SayaAndy/saya-today-web'
- runs-on: ubuntu-latest
- environment: Stage
- permissions:
- packages: write
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Generate output.css with tailwindcss
- uses: ZoeyVid/tailwindcss-update@main
- with:
- input: static/input.css
- output: static/output.css
- params: "--minify"
-
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v3
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to GitHub Container Registry
- uses: docker/login-action@v3
- with:
- registry: ghcr.io
- username: ${{ github.repository_owner }}
- password: ${{ secrets.GHCR_TOKEN }}
-
- - name: Set github short sha
- id: ghss_vars
- run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
-
- - name: Build and push
- uses: docker/build-push-action@v6
- with:
- context: .
- file: ./Dockerfile
- push: true
- tags: |
- ghcr.io/sayaandy/saya-today-web:latest
- ghcr.io/sayaandy/saya-today-web:commit-${{ steps.ghss_vars.outputs.sha_short }}
-
- deploy:
- if: github.repository == 'SayaAndy/saya-today-web'
- runs-on: ubuntu-latest
- environment: Stage
- needs: [build-and-push]
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Set up SSH connection for pl.saya.today
- run: |
- mkdir -p ~/.ssh
- (cat <<EOF
- ${{ secrets.SVC_GITHUB_PK }}
- EOF
- ) > ~/.ssh/id_ed25519
- chmod 600 ~/.ssh/id_ed25519
- sed -i 's/\r$//' ~/.ssh/id_ed25519
- ssh-keyscan -H pl.saya.today >> ~/.ssh/known_hosts
-
- - name: Test SSH connection
- run: |
- ssh -o ConnectTimeout=10 -i ~/.ssh/id_ed25519 svc_github@pl.saya.today "echo 'SSH connection successful'"
-
- - name: Install Ansible
- shell: bash
- run: |
- sudo apt update
- sudo apt install -y ansible
-
- - name: Set github short sha
- id: ghss_vars
- run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
-
- - name: Run Ansible playbook
- env:
- ANSIBLE_HOST_KEY_CHECKING: False
- working-directory: ./deploy
- run: |
- ansible-playbook -i inventory.yml -l stage playbook.yml --private-key ~/.ssh/id_ed25519 -u svc_github -e saya_today_web_b2_key_id=${{ secrets.B2_KEY_ID }} -e saya_today_web_b2_application_key=${{ secrets.B2_APPLICATION_KEY }} -e saya_today_web_environment=stage -e saya_today_web_tag=commit-${{ steps.ghss_vars.outputs.sha_short }}
diff --git a/.github/workflows/build-and-deploy-prod.yml b/.github/workflows/build-and-deploy.yml
index 53e307e..ac5fa1f 100644
--- a/.github/workflows/build-and-deploy-prod.yml
+++ b/.github/workflows/build-and-deploy.yml
@@ -1,4 +1,4 @@
-name: Docker image building and publishing onto Production
+name: Publish Docker image
on:
push:
tags:
@@ -37,7 +37,6 @@ jobs:
push: true
tags: |
ghcr.io/sayaandy/saya-today-web:latest
- ghcr.io/sayaandy/saya-today-web:stable
ghcr.io/sayaandy/saya-today-web:${{ github.ref_name }}
deploy:
@@ -75,4 +74,4 @@ jobs:
ANSIBLE_HOST_KEY_CHECKING: False
working-directory: ./deploy
run: |
- ansible-playbook -i inventory.yml -l prod playbook.yml --private-key ~/.ssh/id_ed25519 -u svc_github -e saya_today_web_b2_key_id=${{ secrets.B2_KEY_ID }} -e saya_today_web_b2_application_key=${{ secrets.B2_APPLICATION_KEY }} -e saya_today_web_environment=prod -e saya_today_web_tag=${{ github.ref_name }}
+ ansible-playbook -i inventory.yml -l stage playbook.yml --private-key ~/.ssh/id_ed25519 -u svc_github -e saya_today_web_b2_key_id=${{ secrets.B2_KEY_ID }} -e saya_today_web_b2_application_key=${{ secrets.B2_APPLICATION_KEY }} -e saya_today_web_tag=${{ github.ref_name }}
diff --git a/Dockerfile b/Dockerfile
index cd3e0eb..45d3e8e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,21 +2,20 @@ FROM golang:1.24.5-alpine3.22 AS build-stage
WORKDIR /builddir
COPY . .
-RUN go build -o sayana-web .
+RUN go build -o sayana-demo .
FROM alpine:3.22.1 AS runtime-stage
-ENV ENVIRONMENT=""
ENV B2_KEY_ID=""
ENV B2_APPLICATION_KEY=""
WORKDIR /app
-COPY --from=build-stage /builddir/sayana-web /app/sayana-web
+COPY --from=build-stage /builddir/sayana-demo /app/sayana-demo
COPY --from=build-stage /builddir/static /app/static
COPY --from=build-stage /builddir/views /app/views
COPY --from=build-stage /builddir/locale/*.yaml /app/locale/
-COPY --from=build-stage /builddir/config/config*.yaml /app/config/
+COPY --from=build-stage /builddir/config/config.yaml /app/config.yaml
RUN apk add --no-cache tzdata
-ENTRYPOINT /app/sayana-web -c /app/config/config.${ENVIRONMENT}.yaml
+ENTRYPOINT [ "/app/sayana-demo", "-c", "/app/config.yaml" ]
diff --git a/config/config.prod.yaml b/config/config.prod.yaml
deleted file mode 100644
index 2d050bf..0000000
--- a/config/config.prod.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-logLevel: info
-blogPages:
- storage:
- type: b2
- config:
- bucketName: sayana-pages
- region: eu-central-003
- prefix: 'prod-'
- keyID: '${B2_KEY_ID}'
- applicationKey: '${B2_APPLICATION_KEY}'
-localePath: ./locale/
-availableLanguages:
- - name: ru
- alt: Русский
- flag: https://f003.backblazeb2.com/file/sayana-static/flags/ru.svg
- locFile: localization.ru.yaml
- - name: en
- alt: English
- flag: https://f003.backblazeb2.com/file/sayana-static/flags/gb.svg
- locFile: localization.en.yaml
diff --git a/config/config.stage.yaml b/config/config.yaml
index a34a33e..dac7b9a 100644
--- a/config/config.stage.yaml
+++ b/config/config.yaml
@@ -5,7 +5,7 @@ blogPages:
config:
bucketName: sayana-pages
region: eu-central-003
- prefix: 'stage-'
+ prefix: ''
keyID: '${B2_KEY_ID}'
applicationKey: '${B2_APPLICATION_KEY}'
localePath: ./locale/
diff --git a/deploy/playbook.yml b/deploy/playbook.yml
index ca22ac3..773bb61 100644
--- a/deploy/playbook.yml
+++ b/deploy/playbook.yml
@@ -12,7 +12,6 @@
env:
B2_KEY_ID: "{{ saya_today_web_b2_key_id }}"
B2_APPLICATION_KEY: "{{ saya_today_web_b2_application_key }}"
- ENVIRONMENT: "{{ saya_today_web_environment }}"
network_mode: caddy
networks:
- name: caddy
diff --git a/saya-today-web b/saya-today-web
new file mode 100755
index 0000000..b6522e8
--- /dev/null
+++ b/saya-today-web
Binary files differ