Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Azure/gitops-connector
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.2.1
Choose a base ref
...
head repository: Azure/gitops-connector
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
  • 6 commits
  • 3 files changed
  • 4 contributors

Commits on Jan 30, 2024

  1. Fixed some grammar issues in README (#64)

    marleypowell authored Jan 30, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    e74e0fe View commit details
  2. Update README.md to fix link to agentless task (#62)

    Poltergeisen authored Jan 30, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    3efc3dc View commit details

Commits on Apr 29, 2024

  1. Update Flask version requirement.

    Kaleb Pederson committed Apr 29, 2024
    Copy the full SHA
    053994b View commit details

Commits on Jun 15, 2024

  1. Merge pull request #68 from kalebpederson/feature/update-flask

    Fix #67 - Update Flask version requirement.
    pareion authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    d36e3ae View commit details
  2. Added permission write to Build_Push_Image job.

    pareion committed Jun 15, 2024
    Copy the full SHA
    16eaa9f View commit details
  3. Merge pull request #69 from Azure/fix/ci-permission-failure

    Added permission write to Build_Push_Image job.
    pareion authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    45a3ec2 View commit details
Showing with 11 additions and 12 deletions.
  1. +7 −8 .github/workflows/ci.yaml
  2. +3 −3 README.md
  3. +1 −1 src/requirements.txt
15 changes: 7 additions & 8 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@

name: CI

on:
push:
branches:
- main


jobs:
code_quality_checks:
@@ -17,27 +15,29 @@ jobs:
name: Linting
if: "true"
with:
path: ./src
path: ./src
- uses: hadolint/hadolint-action@v1.5.0
name: Docker Linting
with:
dockerfile: ./src/Dockerfile
- name: MD Linting
uses: actionshub/markdownlint@main
uses: actionshub/markdownlint@main
- name: Stay woke
uses: get-woke/woke-action@v0
with:
# Cause the check to fail on any broke rules
fail-on-error: true
fail-on-error: true

Build_Push_Image:
runs-on: ubuntu-latest
needs: code_quality_checks
permissions:
packages: write
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -53,7 +53,7 @@ jobs:
with:
push: true
context: ./src
tags: ghcr.io/azure/gitops-connector:${{ env.IMAGE_TAG }}, ghcr.io/azure/gitops-connector:latest
tags: ghcr.io/azure/gitops-connector:${{ env.IMAGE_TAG }}, ghcr.io/azure/gitops-connector:latest
- name: Upload Image Tags
uses: actions/upload-artifact@v2.2.2
with:
@@ -64,4 +64,3 @@ jobs:
with:
name: manifests
path: ${{ github.workspace }}/manifests

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ One of the biggest challenges in GitOps is observability. When a CI/CD pipeline

Partly this challenge can be addressed by leveraging notifications components of GitOps operators such as [FluxCD Notification Controller](https://fluxcd.io/docs/components/notification/) and [ArgoCD Notifications](https://argocd-notifications.readthedocs.io/en/stable/). It's possible to configure basic notifications from Flux/ArgoCD to Azure DevOps/GitHub so the deployment phases are reflected with the Git Commit status in the repo.

#### So why cannot we "just" use the existing notification functionality of Argo/Flux events?
#### So why can't we "just" use the existing notification functionality of Argo/Flux events?

The thing is that "basic" is not enough.

@@ -32,7 +32,7 @@ What we need:

We simply can't do what we need just by configuring notifications in FluxCD/ArgoCD. To implement the logic of what we need we want to write some code and run it somewhere. We need some freedom in getting out of the boundaries of what is "out-of-the-box" in FluxCD/ArgoCD and extending it with custom logic to build a comprehensive CD flow with Azure Pipelines and/or GitHub actions. At the same time we want to keep pipelines simple and not dependent on underlying GitOps operator. Hence, the GitOps connector.

#### Why cannot we enhance ArgoCD/FluxCD notification functionality to achieve the same?
#### Why can't we enhance ArgoCD/FluxCD notification functionality to achieve the same?

Actually we can. The only thing that we'd have to do that twice. And again, when we support another GitOps operator. And separately for GitHub and Azure DevOps. And again when we support another CI/CD orchestrator. So should we? The GitOps connector decouples ArgoCD/FluxCD from GitHub/Azure DevOps. It reduces dependencies serving as a glue between them.
Think of the GitOps connector as of an extension of FluxCD/ArgoCD (one for both) or, in terms of FluxCD notifications, a custom provider for GitHub, Azure DevOps, various observability dashboards (e.g. Spektate). A custom provider extracted as a separate microservice with an independent lifecycle. When we want to build same CI/CD flow with another GitOps operator, we will update the connector keeping the same pipelines setup. When we want to enrich look-n-feel of Git Commit status or use a new feature in Azure DevOps / GitHub or start supporting another CI/CD orchestrator we will update the connector without touching FluxCD/ArgoCD at all. Hence, the GitOps connector.
@@ -106,7 +106,7 @@ payload = {
}
```

Refer to [a sample of such agentless task](https://github.com/Azure/arc-cicd-demo-src/blob/FluxV2/.pipelines/pr-completion-task-template.yaml) for the implementation details.
Refer to [a sample of such agentless task](https://github.com/Azure/arc-cicd-demo-src/blob/master/.pipelines/pr-completion-task-template.yaml) for the implementation details.

### GitHub Actions

2 changes: 1 addition & 1 deletion src/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Flask==2.1.0
Flask==2.3
gunicorn==20.0.4
requests
timeloop