ci: Setup self-signed certificate for gitpod

This commit is contained in:
meysamhadeli 2023-01-20 19:40:38 +03:30
parent cf652d41e6
commit fd9054f2f6
5 changed files with 38 additions and 16 deletions

1
.gitpod.Dockerfile vendored
View File

@ -1 +0,0 @@
FROM gitpod/workspace-dotnet:latest

View File

@ -6,12 +6,19 @@
# https://www.gitpod.io/docs/configure/workspaces/ports
image:
file: .gitpod.Dockerfile
file: gitpod/workspace-dotnet
caches:
dotnet:
paths:
- /usr/local/bin/docker-compose
# https://www.gitpod.io/docs/configure/workspaces/tasks#execution-order
# https://www.gitpod.io/docs/configure/projects/prebuilds
tasks:
- name: Setup kubectl
command: bash $GITPOD_REPO_ROOT/scripts/setup_kubectl_gitpod.sh
- name: Setup Self-Signed Certificate
command: bash $GITPOD_REPO_ROOT/scripts/self_signed_certificate_gitpod.sh
- name: Init Docker-Compose
init: |

View File

@ -1,12 +1,21 @@
#!/bin/bash
# Generate self-signed certificate
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj '/CN=localhost'
# install mkcert
curl -fsSL https://github.com/FiloSottile/mkcert/releases/download/v1.4.1/mkcert-v1.4.1-linux-amd64 -o mkcert
chmod +x mkcert
sudo mv mkcert /usr/local/bin
# Trust the certificate in Gitpod
sudo mkdir -p /etc/gitpod/tls/
sudo cp cert.pem /etc/gitpod/tls/
sudo cp key.pem /etc/gitpod/tls/
# install root CA
mkcert -install
# Restart Gitpod
sudo gitpod restart
# create certificate
mkcert gitpod.local
# move certificate files to gitpod directory
mkdir -p ~/.gitpod/certs
mv gitpod.local.pem ~/.gitpod/certs/
mv gitpod.local-key.pem ~/.gitpod/certs/
# configure nginx to use the certificate
echo "server { listen 80; listen [::]:80; server_name gitpod.local; ssl_certificate /home/gitpod/.gitpod/certs/gitpod.local.pem; ssl_certificate_key /home/gitpod/.gitpod/certs/gitpod.local-key.pem; }" | sudo tee /etc/nginx/conf.d/gitpod.local.conf
sudo systemctl reload nginx

View File

@ -0,0 +1,10 @@
#!/bin/bash
# Download kubectl binary
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -L -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
# Make the kubectl binary executable
chmod +x kubectl
# Move the binary in to PATH
sudo mv kubectl /usr/local/bin/

View File

@ -112,14 +112,11 @@ public class PersistMessageProcessor : IPersistMessageProcessor
public async Task ProcessAllAsync(CancellationToken cancellationToken = default)
{
var messages = await _persistMessageDbContext?.PersistMessages?
var messages = await _persistMessageDbContext.PersistMessages
.Where(x => x.MessageStatus != MessageStatus.Processed)
?.ToListAsync(cancellationToken);
.ToListAsync(cancellationToken);
if (messages != null && messages.Any())
{
foreach (var message in messages) await ProcessAsync(message.Id, message.DeliveryType, cancellationToken);
}
foreach (var message in messages) await ProcessAsync(message.Id, message.DeliveryType, cancellationToken);
}
public async Task ProcessInboxAsync(long messageId, CancellationToken cancellationToken = default)