diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 35b8c3b..8df76e6 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -8,6 +8,7 @@ on: - 'staging' jobs: + CreateImage: runs-on: [squizstaging] uses: http://gitea.pena/PenaDevops/actions.git/.gitea/workflows/build-image.yml@v1.1.6-p @@ -16,9 +17,21 @@ jobs: secrets: REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} - DeployService: + ValidateConfig: runs-on: [squizstaging] needs: CreateImage + container: + image: gitea.pena/penadevops/container-images/node-compose:main + volumes: + - /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock + steps: + - name: Check out repository code + uses: https://gitea.pena/PenaDevops/actions.git/checkout@v1 + - name: Run validator + run: GITHUB_RUN_NUMBER=${{ gitea.run_id }} compose -f deployments/${{ gitea.ref_name }}/validate_config.yml up + DeployService: + runs-on: [squizstaging] + needs: ValidateConfig uses: http://gitea.pena/PenaDevops/actions.git/.gitea/workflows/deploy.yml@v1.1.7 with: runner: squizstaging diff --git a/Dockerfile b/Dockerfile index 36f5e08..3f9660e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,9 @@ WORKDIR /app COPY . . RUN go mod download RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o stor ./cmd/main.go +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o validator ./cmd/validator/main.go FROM gitea.pena/penadevops/container-images/alpine:main as prod COPY --from=build /app/stor . +COPY --from=build /app/validator . CMD ["/stor"] diff --git a/deployments/Containerfile b/deployments/Containerfile new file mode 100644 index 0000000..676d5ae --- /dev/null +++ b/deployments/Containerfile @@ -0,0 +1,2 @@ +FROM gitea.pena/penadevops/container-images/golang:main +COPY . . diff --git a/deployments/staging/config.env b/deployments/staging/config.env new file mode 100644 index 0000000..185f09a --- /dev/null +++ b/deployments/staging/config.env @@ -0,0 +1,13 @@ +IS_PROD_LOG=false +IS_PROD=false +PUBLIC_ACCESS_SECRET_KEY="-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCLW1tlHyKC9AG0hGpmkksET2DE +r7ojSPemxFWAgFgcPJWQ7x3uNbsdJ3bIZFoA/FClaWKMCZmjnH9tv0bKZtY/CDhM +ZEyHpMruRSn6IKrxjtQZWy4uv/w6MzUeyBYG0OvNCiYpdvz5SkAGAUHD5ZNFqn2w +KKFD0I2Dr59BFVSGJwIDAQAB +-----END PUBLIC KEY-----" +PORT=1489 +S3_ENDPOINT=s3.timeweb.cloud +S3_ACCESS_KEY=5CV77KVDUU9H0II9R24M +S3_SECRET_KEY=0W0m8DyvdAKRJnsAy6mB5zndQ7RouJBLhqhtThcu +POSTGRES_URL="host=10.7.0.10 port=5432 user=squiz password=Redalert2 dbname=squiz sslmode=disable" diff --git a/deployments/staging/docker-compose.yaml b/deployments/staging/docker-compose.yaml index 8feba88..6f30b9e 100644 --- a/deployments/staging/docker-compose.yaml +++ b/deployments/staging/docker-compose.yaml @@ -7,15 +7,7 @@ services: labels: com.pena.upload: true com.pena.allowed_headers: content-type,authorization,response-type - environment: - IS_PROD_LOG: 'false' - IS_PROD: 'false' - PUBLIC_ACCESS_SECRET_KEY: "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCLW1tlHyKC9AG0hGpmkksET2DE\nr7ojSPemxFWAgFgcPJWQ7x3uNbsdJ3bIZFoA/FClaWKMCZmjnH9tv0bKZtY/CDhM\nZEyHpMruRSn6IKrxjtQZWy4uv/w6MzUeyBYG0OvNCiYpdvz5SkAGAUHD5ZNFqn2w\nKKFD0I2Dr59BFVSGJwIDAQAB\n-----END PUBLIC KEY-----" - PORT: 1489 - S3_ENDPOINT: s3.timeweb.cloud - S3_ACCESS_KEY: 5CV77KVDUU9H0II9R24M - S3_SECRET_KEY: 0W0m8DyvdAKRJnsAy6mB5zndQ7RouJBLhqhtThcu - POSTGRES_URL: 'host=10.7.0.10 port=5432 user=squiz password=Redalert2 dbname=squiz sslmode=disable' + env_file: config.env ports: - 10.7.0.10:1589:1489 - 10.7.0.10:2345:2345 diff --git a/deployments/staging/validate_config.yml b/deployments/staging/validate_config.yml new file mode 100644 index 0000000..2ff3778 --- /dev/null +++ b/deployments/staging/validate_config.yml @@ -0,0 +1,6 @@ +services: + storervalidate: + tty: true + command: ./validator + image: gitea.pena/squiz/storer/staging:$GITHUB_RUN_NUMBER + env_file: config.env