Skip to content

Commit

Permalink
Pipeline + config
Browse files Browse the repository at this point in the history
  • Loading branch information
valentinyanakiev committed May 13, 2024
1 parent 588cc7e commit 0621e6d
Show file tree
Hide file tree
Showing 9 changed files with 301 additions and 6 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
title: "BUG: "
labels: "bug, ai, genai, virtual contributor, virtual contributor ingest space"
assignees: ''

---
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/epic.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Epic
about: A theme of work that contain sub-tasks required to complete the larger goal / larger user-story
title: ''
labels: ''
labels: "epic, ai, genai, virtual contributor, virtual contributor ingest space"
assignees: ''

---
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
labels: "enhancement, ai, genai, virtual contributor, virtual contributor ingest space"
assignees: ''

---
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/user_story.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: User Story
about: A valuable increment of functionality, testable by the users
about: A valuable increment of functionality, testable by the users
title: ''
labels: ''
labels: "user story, ai, genai, virtual contributor, virtual contributor ingest space"
assignees: ''

---
Expand Down
61 changes: 61 additions & 0 deletions .github/workflows/build-deploy-k8s-dev-azure.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Build, Migrate & Deploy to Dev

on:
push:
branches: [develop]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Checkout GitHub Action"
uses: actions/[email protected]

- name: "Login into ACR"
uses: azure/[email protected]
with:
login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: "Build & Push image"
run: |
docker build -f Dockerfile . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }} -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:latest
docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }}
deploy:
runs-on: ubuntu-latest
steps:
- name: "Checkout GitHub Action"
uses: actions/[email protected]

- name: "Login via Azure CLI"
uses: azure/[email protected]
with:
creds: ${{ secrets.AZURE_CRED_K8S_NEW }}

- uses: Azure/[email protected]
with:
cluster-name: ${{ secrets.CLUSTER_NAME }}
resource-group: ${{ secrets.RESOURCE_GROUP_K8S }}

- uses: Azure/[email protected]
with:
container-registry-url: ${{ secrets.REGISTRY_LOGIN_SERVER }}
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: alkemio-virtual-contributor-ingest-space-secret

- uses: azure/[email protected]
with:
version: "v1.22.0" # default is latest stable, fixing it to a compatible version
id: install

- uses: Azure/[email protected]
with:
manifests: |
manifests/25-virtual-contributor-ingest-space-deployment-dev.yml
images: |
${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }}
imagepullsecrets: |
alkemio-virtual-contributor-ingest-space-secret
59 changes: 59 additions & 0 deletions .github/workflows/build-deploy-k8s-sandbox-azure.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Build, Migrate & Deploy to Sandbox on Azure

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Checkout GitHub Action"
uses: actions/[email protected]

- name: "Login into ACR"
uses: azure/[email protected]
with:
login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: "Build & Push image"
run: |
docker build -f Dockerfile . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }} -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:latest
docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }}
deploy:
runs-on: ubuntu-latest
steps:
- name: "Checkout GitHub Action"
uses: actions/[email protected]

- name: "Login via Azure CLI"
uses: azure/[email protected]
with:
creds: ${{ secrets.AZURE_CRED_K8S_NEW }}

- uses: Azure/[email protected]
with:
cluster-name: k8s-sandbox
resource-group: res-grp-k8s-sandbox

- uses: Azure/[email protected]
with:
container-registry-url: ${{ secrets.REGISTRY_LOGIN_SERVER }}
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: alkemio-virtual-contributor-ingest-space-secret

- uses: azure/[email protected]
with:
version: "v1.22.0" # default is latest stable, fixing it to a compatible version
id: install

- uses: Azure/[email protected]
with:
manifests: |
manifests/25-genai-deployment-dev.yaml
images: |
${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }}
imagepullsecrets: |
alkemio-virtual-contributor-ingest-space-secret
60 changes: 60 additions & 0 deletions .github/workflows/build-deploy-k8s-test-azure.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Build, Migrate & Deploy to Test on Azure

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Checkout GitHub Action"
uses: actions/[email protected]

- name: "Login into ACR"
uses: azure/[email protected]
with:
login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: "Build & Push image"
run: |
docker build -f Dockerfile . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }} -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:latest
docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }}
deploy:
runs-on: ubuntu-latest
steps:
- name: "Checkout GitHub Action"
uses: actions/[email protected]

- name: "Login via Azure CLI"
uses: azure/[email protected]
with:
creds: ${{ secrets.AZURE_CRED_K8S_NEW }}

- uses: Azure/[email protected]
with:
cluster-name: k8s-test
resource-group: res-grp-k8s-test

- uses: Azure/[email protected]
with:
container-registry-url: ${{ secrets.REGISTRY_LOGIN_SERVER }}
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: alkemio-virtual-contributor-ingest-space-secret

- uses: azure/[email protected]
with:
version: "v1.22.0" # default is latest stable, fixing it to a compatible version
id: install

- uses: Azure/[email protected]
with:
manifests: |
manifests/25-genai-deployment-dev.yaml
images: |
${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-virtual-contributor-ingest-space:${{ github.sha }}
imagepullsecrets: |
alkemio-virtual-contributor-ingest-space-secret
68 changes: 68 additions & 0 deletions .github/workflows/build-release-docker-hub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Deploy to DockerHub

on:
release:
types: [published]

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Prepare
id: prep
run: |
DOCKER_IMAGE=alkemio/virtual-contributor-ingest-space
VERSION=noop
if [ "${{ github.event_name }}" = "schedule" ]; then
VERSION=nightly
elif [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
elif [[ $GITHUB_REF == refs/heads/* ]]; then
VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g')
if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then
VERSION=edge
fi
elif [[ $GITHUB_REF == refs/pull/* ]]; then
VERSION=pr-${{ github.event.number }}
fi
TAGS="${DOCKER_IMAGE}:${VERSION}"
if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
MINOR=${VERSION%.*}
MAJOR=${MINOR%.*}
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest"
elif [ "${{ github.event_name }}" = "push" ]; then
TAGS="$TAGS,${DOCKER_IMAGE}:sha-${GITHUB_SHA::8}"
fi
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
echo "created={$(date -u +'%Y-%m-%dT%H:%M:%SZ')}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/[email protected]
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/[email protected]
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.prep.outputs.tags }}
labels: |
org.opencontainers.image.title=${{ github.event.repository.name }}
org.opencontainers.image.description=${{ github.event.repository.description }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }}
47 changes: 47 additions & 0 deletions manifests/25-virtual-contributor-ingest-space-deployment-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
kind: Deployment
apiVersion: apps/v1
metadata:
namespace: default
name: alkemio-virtual-contributor-ingest-space-deployment
labels:
app: alkemio-virtual-contributor-ingest-space

spec:
replicas: 1
selector:
matchLabels:
app: alkemio-virtual-contributor-ingest-space
template:
metadata:
labels:
app: alkemio-virtual-contributor-ingest-space
spec:
containers:
- name: alkemio-virtual-contributor-ingest-space
image: alkemio.azurecr.io/alkemio-virtual-contributor-ingest-space:latest
env:
- name: RABBITMQ_HOST
valueFrom:
secretKeyRef:
name: alkemio-rabbitmq-cluster-default-user
key: host
- name: RABBITMQ_PORT
valueFrom:
secretKeyRef:
name: alkemio-rabbitmq-cluster-default-user
key: port
- name: RABBITMQ_USER
valueFrom:
secretKeyRef:
name: alkemio-rabbitmq-cluster-default-user
key: username
- name: RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
name: alkemio-rabbitmq-cluster-default-user
key: password
envFrom:
- secretRef:
name: alkemio-secrets
- configMapRef:
name: alkemio-config

0 comments on commit 0621e6d

Please sign in to comment.