From 7a9017d1953882ab658450d9b434caae9a45df64 Mon Sep 17 00:00:00 2001 From: Kirandeep-Singh-Khehra <107160937+Kirandeep-Singh-Khehra@users.noreply.github.com> Date: Thu, 10 Aug 2023 21:50:07 +0530 Subject: [PATCH] Apache airflow ironbank added (#331) * Added apache airflow/ironbank image directory Signed-off-by: Kirandeep Singh * Minor Update Signed-off-by: Kirandeep Singh * Minor change(Used k8s) Signed-off-by: Kirandeep Singh * Docker-compose working Signed-off-by: Kirandeep Singh * Added airflow/ironbank image dorectory Signed-off-by: Kirandeep Singh * Cleanup Signed-off-by: Kirandeep Singh * Updated workflows Signed-off-by: Kirandeep Singh * Updates as per reviewdog Signed-off-by: Kirandeep Singh * Cleanup selenium tests Signed-off-by: Kirandeep Singh * Added .rfignore and verified its content. Signed-off-by: Kirandeep Singh --------- Signed-off-by: Kirandeep Singh Co-authored-by: Kirandeep Singh --- .github/workflows/image_run_pr_v3.yml | 64 ++++++++ .github/workflows/image_run_v3.yml | 48 ++++++ .github/workflows/monitor.yml | 4 +- .github/workflows/readme_updater.yml | 8 + README.md | 6 + builder.lst | 1 + .../airflow/airflow/ironbank/README.md | 145 ++++++++++++++++++ .../ironbank/assets/cve_reduction.webp | Bin 0 -> 4086 bytes .../airflow/ironbank/assets/metrics.webp | Bin 0 -> 16608 bytes .../airflow/airflow/ironbank/image.yml | 39 +++++ frontrow.csv | 1 + image.lst | 1 + 12 files changed, 316 insertions(+), 1 deletion(-) create mode 100644 community_images/airflow/airflow/ironbank/README.md create mode 100644 community_images/airflow/airflow/ironbank/assets/cve_reduction.webp create mode 100644 community_images/airflow/airflow/ironbank/assets/metrics.webp create mode 100644 community_images/airflow/airflow/ironbank/image.yml diff --git a/.github/workflows/image_run_pr_v3.yml b/.github/workflows/image_run_pr_v3.yml index 8e80963bd4..6b441f77fe 100644 --- a/.github/workflows/image_run_pr_v3.yml +++ b/.github/workflows/image_run_pr_v3.yml @@ -76,6 +76,70 @@ jobs: -H "Authorization: Bearer ${PULL_COUNTER_MAGIC_TOKEN}" \ -d '{ "rapidfort/airflow": 1 }' \ https://data-receiver.rapidfort.com/counts/internal_image_pulls + airflow-ib: + runs-on: ubuntu-latest + + environment: actions-cicd-pr + + steps: + - uses: actions/checkout@v3 + + + - name: Check if test required + id: test-required + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + python3 scripts/tests_required.py airflow-ib airflow/airflow/ironbank output.txt + cat output.txt >> $GITHUB_OUTPUT + + - name: Start minikube + + if: ${{ github.event_name == 'pull_request' && steps.test-required.outputs.TEST_REQUIRED == 'yes' }} + + with: + memory: 6g + uses: medyagh/setup-minikube@master + - name: Check k8s cluster ! + + if: ${{ github.event_name == 'pull_request' && steps.test-required.outputs.TEST_REQUIRED == 'yes' }} + + run: kubectl get pods -A + - name: Setup ubuntu + env: + RF_ACCESS_ID: ${{ secrets.RF_ACCESS_ID }} + RF_SECRET_ACCESS_KEY: ${{ secrets.RF_SECRET_ACCESS_KEY }} + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + RF_PLATFORM_HOST: ${{ secrets.RF_PLATFORM_HOST }} + + if: ${{ github.event_name == 'pull_request' && steps.test-required.outputs.TEST_REQUIRED == 'yes' }} + + run: ./scripts/setup.sh + + - name: Create images for testing PR + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + RAPIDFORT_ACCOUNT: ${{ secrets.RAPIDFORT_ACCOUNT }} + IB_DOCKER_USERNAME: ${{ secrets.IB_DOCKER_USERNAME }} + IB_DOCKER_PASSWORD: ${{ secrets.IB_DOCKER_PASSWORD }} + if: ${{ steps.test-required.outputs.TEST_REQUIRED == 'yes' }} + run: python3 community_images/common/orchestrator/main.py hourly_run airflow/airflow/ironbank + + + - name: Report pulls + env: + PULL_COUNTER_MAGIC_TOKEN: ${{ secrets.PULL_COUNTER_MAGIC_TOKEN }} + + if: ${{ github.event_name == 'pull_request' && steps.test-required.outputs.TEST_REQUIRED == 'yes' }} + + run: | + curl -X POST \ + -H "Accept: application/json" \ + -H "Authorization: Bearer ${PULL_COUNTER_MAGIC_TOKEN}" \ + -d '{ "rapidfort/airflow-ib": 1 }' \ + https://data-receiver.rapidfort.com/counts/internal_image_pulls apache: runs-on: ubuntu-latest diff --git a/.github/workflows/image_run_v3.yml b/.github/workflows/image_run_v3.yml index d6e0dcd694..eb72a18fc9 100644 --- a/.github/workflows/image_run_v3.yml +++ b/.github/workflows/image_run_v3.yml @@ -59,6 +59,54 @@ jobs: -H "Authorization: Bearer ${PULL_COUNTER_MAGIC_TOKEN}" \ -d '{ "rapidfort/airflow": 1 }' \ https://data-receiver.rapidfort.com/counts/internal_image_pulls + airflow-ib: + runs-on: ubuntu-latest + + environment: actions-cicd + + steps: + - uses: actions/checkout@v3 + + + - name: Start minikube + + with: + memory: 6g + uses: medyagh/setup-minikube@master + - name: Check k8s cluster ! + + run: kubectl get pods -A + - name: Setup ubuntu + env: + RF_ACCESS_ID: ${{ secrets.RF_ACCESS_ID }} + RF_SECRET_ACCESS_KEY: ${{ secrets.RF_SECRET_ACCESS_KEY }} + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + RF_PLATFORM_HOST: ${{ secrets.RF_PLATFORM_HOST }} + + run: ./scripts/setup.sh + + - name: Create images and publish to dockerhub + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + RAPIDFORT_ACCOUNT: ${{ secrets.RAPIDFORT_ACCOUNT }} + IB_DOCKER_USERNAME: ${{ secrets.IB_DOCKER_USERNAME }} + IB_DOCKER_PASSWORD: ${{ secrets.IB_DOCKER_PASSWORD }} + if: github.event_name != 'pull_request' + run: python3 community_images/common/orchestrator/main.py hourly_run airflow/airflow/ironbank --publish + + + - name: Report pulls + env: + PULL_COUNTER_MAGIC_TOKEN: ${{ secrets.PULL_COUNTER_MAGIC_TOKEN }} + + run: | + curl -X POST \ + -H "Accept: application/json" \ + -H "Authorization: Bearer ${PULL_COUNTER_MAGIC_TOKEN}" \ + -d '{ "rapidfort/airflow-ib": 1 }' \ + https://data-receiver.rapidfort.com/counts/internal_image_pulls apache: runs-on: ubuntu-latest diff --git a/.github/workflows/monitor.yml b/.github/workflows/monitor.yml index ee73b45d67..3c0ae310a9 100644 --- a/.github/workflows/monitor.yml +++ b/.github/workflows/monitor.yml @@ -14,6 +14,8 @@ jobs: steps: - name: Pull Apache Airflow run: docker pull rapidfort/airflow + - name: Pull Apache Airflow Ironbank + run: docker pull rapidfort/airflow-ib - name: Pull Apache Airflow Scheduler run: docker pull rapidfort/airflow-scheduler - name: Pull Apache Airflow Worker @@ -160,5 +162,5 @@ jobs: curl -X POST \ -H "Accept: application/json" \ -H "Authorization: Bearer ${PULL_COUNTER_MAGIC_TOKEN}" \ - -d '{ "rapidfort/airflow": 1 , "rapidfort/airflow-scheduler": 1 , "rapidfort/airflow-worker": 1 , "rapidfort/apache": 1 , "rapidfort/apache2-ib": 1 , "rapidfort/apache-official": 1 , "rapidfort/cassandra-official": 1 , "rapidfort/consul": 1 , "rapidfort/consul-ib": 1 , "rapidfort/consul-official": 1 , "rapidfort/couchdb": 1 , "rapidfort/couchdb_3-ib": 1 , "rapidfort/couchdb-official": 1 , "rapidfort/curl": 1 , "rapidfort/elasticsearch": 1 , "rapidfort/elasticsearch-official": 1 , "rapidfort/envoy": 1 , "rapidfort/envoy-official": 1 , "rapidfort/etcd": 1 , "rapidfort/etcd-ib": 1 , "rapidfort/fluentd": 1 , "rapidfort/fluentd-ib": 1 , "rapidfort/fluentd-official": 1 , "rapidfort/ghost": 1 , "rapidfort/grafana-ib": 1 , "rapidfort/haproxy": 1 , "rapidfort/haproxy24-ib": 1 , "rapidfort/haproxy-official": 1 , "rapidfort/influxdb": 1 , "rapidfort/kong": 1 , "rapidfort/mariadb": 1 , "rapidfort/mariadb-ib": 1 , "rapidfort/mariadb-official": 1 , "rapidfort/memcached": 1 , "rapidfort/memcached-ib": 1 , "rapidfort/memcached-official": 1 , "rapidfort/microsoft-sql-server-2019-ib": 1 , "rapidfort/mongodb": 1 , "rapidfort/mongodb-ib": 1 , "rapidfort/mongodb-official": 1 , "rapidfort/mysql": 1 , "rapidfort/mysql8-ib": 1 , "rapidfort/mysql-official": 1 , "rapidfort/nats": 1 , "rapidfort/nats-ib": 1 , "rapidfort/nats-official": 1 , "rapidfort/nginx": 1 , "rapidfort/nginx-ib": 1 , "rapidfort/nginx-official": 1 , "rapidfort/oncall": 1 , "rapidfort/postgresql": 1 , "rapidfort/postgresql12-ib": 1 , "rapidfort/postgresql-official": 1 , "rapidfort/prometheus": 1 , "rapidfort/prometheus-ib": 1 , "rapidfort/rabbitmq": 1 , "rapidfort/redis": 1 , "rapidfort/redis-cluster": 1 , "rapidfort/redis6-ib": 1 , "rapidfort/redis-official": 1 , "rapidfort/telegraf": 1 , "rapidfort/traefik": 1 , "rapidfort/traefik-ib": 1 , "rapidfort/vault": 1 , "rapidfort/wordpress": 1 , "rapidfort/wordpress-ib": 1 , "rapidfort/yourls": 1 , "rapidfort/zookeeper": 1 , "rapidfort/zookeeper-ib": 1 , "rapidfort/zookeeper-official": 1 }' \ + -d '{ "rapidfort/airflow": 1 , "rapidfort/airflow-ib": 1 , "rapidfort/airflow-scheduler": 1 , "rapidfort/airflow-worker": 1 , "rapidfort/apache": 1 , "rapidfort/apache2-ib": 1 , "rapidfort/apache-official": 1 , "rapidfort/cassandra-official": 1 , "rapidfort/consul": 1 , "rapidfort/consul-ib": 1 , "rapidfort/consul-official": 1 , "rapidfort/couchdb": 1 , "rapidfort/couchdb_3-ib": 1 , "rapidfort/couchdb-official": 1 , "rapidfort/curl": 1 , "rapidfort/elasticsearch": 1 , "rapidfort/elasticsearch-official": 1 , "rapidfort/envoy": 1 , "rapidfort/envoy-official": 1 , "rapidfort/etcd": 1 , "rapidfort/etcd-ib": 1 , "rapidfort/fluentd": 1 , "rapidfort/fluentd-ib": 1 , "rapidfort/fluentd-official": 1 , "rapidfort/ghost": 1 , "rapidfort/grafana-ib": 1 , "rapidfort/haproxy": 1 , "rapidfort/haproxy24-ib": 1 , "rapidfort/haproxy-official": 1 , "rapidfort/influxdb": 1 , "rapidfort/kong": 1 , "rapidfort/mariadb": 1 , "rapidfort/mariadb-ib": 1 , "rapidfort/mariadb-official": 1 , "rapidfort/memcached": 1 , "rapidfort/memcached-ib": 1 , "rapidfort/memcached-official": 1 , "rapidfort/microsoft-sql-server-2019-ib": 1 , "rapidfort/mongodb": 1 , "rapidfort/mongodb-ib": 1 , "rapidfort/mongodb-official": 1 , "rapidfort/mysql": 1 , "rapidfort/mysql8-ib": 1 , "rapidfort/mysql-official": 1 , "rapidfort/nats": 1 , "rapidfort/nats-ib": 1 , "rapidfort/nats-official": 1 , "rapidfort/nginx": 1 , "rapidfort/nginx-ib": 1 , "rapidfort/nginx-official": 1 , "rapidfort/oncall": 1 , "rapidfort/postgresql": 1 , "rapidfort/postgresql12-ib": 1 , "rapidfort/postgresql-official": 1 , "rapidfort/prometheus": 1 , "rapidfort/prometheus-ib": 1 , "rapidfort/rabbitmq": 1 , "rapidfort/redis": 1 , "rapidfort/redis-cluster": 1 , "rapidfort/redis6-ib": 1 , "rapidfort/redis-official": 1 , "rapidfort/telegraf": 1 , "rapidfort/traefik": 1 , "rapidfort/traefik-ib": 1 , "rapidfort/vault": 1 , "rapidfort/wordpress": 1 , "rapidfort/wordpress-ib": 1 , "rapidfort/yourls": 1 , "rapidfort/zookeeper": 1 , "rapidfort/zookeeper-ib": 1 , "rapidfort/zookeeper-official": 1 }' \ https://data-receiver.rapidfort.com/counts/internal_image_pulls diff --git a/.github/workflows/readme_updater.yml b/.github/workflows/readme_updater.yml index fbe26e2497..539fec570c 100644 --- a/.github/workflows/readme_updater.yml +++ b/.github/workflows/readme_updater.yml @@ -50,6 +50,14 @@ jobs: repository: rapidfort/airflow readme-filepath: ./community_images/airflow/airflow/bitnami/README.md.dockerhub short-description: RapidFort optimized, hardened image for Apache Airflow + - name: Docker Hub Description Apache Airflow Ironbank + uses: peter-evans/dockerhub-description@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + repository: rapidfort/airflow-ib + readme-filepath: ./community_images/airflow/airflow/ironbank/README.md.dockerhub + short-description: RapidFort optimized, hardened image for Apache Airflow Ironbank - name: Docker Hub Description Apache Airflow Scheduler uses: peter-evans/dockerhub-description@v3 with: diff --git a/README.md b/README.md index d121dcd768..b0208fb10e 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ We’ve optimized and hardened some of the most popular container images on Dock | [Grafana Ironbank][ grafana-ib-github-link]| View Report | View on Dockerhub | 1,696 | | [TRAEFIK Ironbank][ traefik-ib-github-link]| View Report | View on Dockerhub | 1,576 | | [NATS Ironbank][ nats-ib-github-link]| View Report | View on Dockerhub | 1,095 | +| [Apache Airflow Ironbank][ airflow-ib-github-link]| View Report | View on Dockerhub | |

What IronBank containers are supported?

@@ -139,6 +140,7 @@ We’ve optimized and hardened some of the most popular container images on Iron | [Grafana Ironbank][ grafana-ib-github-link]| View Report | View on Dockerhub | 1,696 | | [TRAEFIK Ironbank][ traefik-ib-github-link]| View Report | View on Dockerhub | 1,576 | | [NATS Ironbank][ nats-ib-github-link]| View Report | View on Dockerhub | 1,095 | +| [Apache Airflow Ironbank][ airflow-ib-github-link]| View Report | View on Dockerhub | | ### How to use Community Images @@ -223,6 +225,10 @@ Learn more about container optimization at [RapidFort.com][rf-link-additonal-res [airflow-dh-img-pulls-badge]: https://img.shields.io/docker/pulls/rapidfort/airflow?logo=docker&logoColor=white [airflow-rf-link]:https://frontrow.rapidfort.com/app/community/imageinfo/docker.io%2Fbitnami%2Fairflow?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow&utm_content=landing_view_report +[airflow-ib-github-link]: https://github.com/rapidfort/community-images/tree/main/community_images/airflow/airflow/ironbank +[airflow-ib-dh-img-pulls-badge]: https://img.shields.io/docker/pulls/rapidfort/airflow-ib?logo=docker&logoColor=white +[airflow-ib-rf-link]:https://frontrow.rapidfort.com/app/community/imageinfo/registry1.dso.mil%2Fironbank%2Fopensource%2Fapache%2Fairflow%2Fairflow?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow-ib&utm_content=landing_view_report + [airflow-scheduler-github-link]: https://github.com/rapidfort/community-images/tree/main/community_images/airflow/airflow-scheduler/bitnami [airflow-scheduler-dh-img-pulls-badge]: https://img.shields.io/docker/pulls/rapidfort/airflow-scheduler?logo=docker&logoColor=white [airflow-scheduler-rf-link]:https://frontrow.rapidfort.com/app/community/imageinfo/docker.io%2Fbitnami%2Fairflow-scheduler?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow-scheduler&utm_content=landing_view_report diff --git a/builder.lst b/builder.lst index aaf55130c9..ec9f9333f7 100644 --- a/builder.lst +++ b/builder.lst @@ -66,3 +66,4 @@ prometheus/ironbank etcd/ironbank traefik/ironbank nats/ironbank +airflow/airflow/ironbank diff --git a/community_images/airflow/airflow/ironbank/README.md b/community_images/airflow/airflow/ironbank/README.md new file mode 100644 index 0000000000..e234ce3766 --- /dev/null +++ b/community_images/airflow/airflow/ironbank/README.md @@ -0,0 +1,145 @@ + +RapidFort + + +
+ +[![rf-h][rf-h-badge]][rf-view-report-button] +[![DH Image][dh-rf-badge]][rf-dh-image-link] +[![Slack][slack-badge]][slack-link] +[![FOSSA Status][fossa-badge]][fossa-link] + +# RapidFort hardened image for Apache Airflow Ironbank + +RapidFort’s container optimization process hardened this Apache Airflow Ironbank container. This container is free to use and has no license limitations. + +It is the same as the [Platform One Apache Airflow Ironbank][source-image-repo-link] image but more secure. + +Every day, we optimize and harden a variety of Docker Hub’s most famous images. Check out our [entire library](https://hub.docker.com/u/rapidfort) of secured containers. +
+ +[Get the full report here or click on the image below][rf-view-report-link] + +[![Metrics][metrics-link]][rf-image-metrics-link] + +

Vulnerabilities: Original vs. Hardened + +

+ +[![CVE Reduction][cve-reduction-link]][rf-image-cve-reduction-link] + + +View Report + +
+
+ + +## What is Apache Airflow Ironbank? + +> Apache Airflow (or simply Airflow) is a platform to programmatically author, schedule, and monitor workflows. + +When workflows are defined as code, they become more maintainable, versionable, testable, and collaborative. + +Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed. + + +[Overview of Apache Airflow Ironbank](https://airflow.apache.org/) + +Disclaimer: This software listing is packaged by RapidFort. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement. + + +## How do I use this hardened Apache Airflow Ironbank image? + +The runtime instructions for this container are no different from the official release. Follow the instructions in their readme, but use our hardened image. + + +View Detailed Instructions + +
+
+ +```sh +$ helm repo add bitnami https://charts.bitnami.com/bitnami + +# install airflow, just replace repository with RapidFort registry +$ helm install my-airflow bitnami/airflow --set image.repository=rapidfort/airflow-ib + +``` + +## What is a hardened image? + +A hardened image is a copy of a container that has been optimized and reduced for significantly improved security. Because every container uses many open-source software components and their dependencies, there’s a lot of extra weight that can be trimmed. + +This image is a hardened version of the official [Platform One Apache Airflow Ironbank][source-image-repo-link] image on Docker Hub. + +RapidFort is an industry-leading container optimization solution that minimizes software attack surfaces by removing unused code. Most containers can be reduced by at least 50%, which reduces the opportunity for malicious attacks and CVE exploits. Learn more at [RapidFort.com][rf-link]. + +Our hardened images are updated daily using the latest vulnerability information available. + + +View on GitHub + +
+
+ +## What’s the difference between the official [Platform One Apache Airflow Ironbank][source-image-repo-link] image and this hardened image? +RapidFort’s hardened [rapidfort/airflow-ib][rf-dh-image-link] image has been optimized by our proprietary scanning and slimming technology. We are big fans of open-source software, containerized infrastructure, and security. + +We are making secure copies of the images we use every day and the most popular ones on Docker Hub. We want to make the world a safer place to operate. + +## Supported tags and respective `Dockerfile` links + +## Need support + +Join our slack community for any questions. + + +RapidFort Community Slack + + +## 🌟 Support this project + +[![](https://user-images.githubusercontent.com/48997634/174794647-0c851917-e5c9-4fb9-bf88-b61d89dc2f4f.gif)](https://github.com/rapidfort/community-images/stargazers) + +### [⏫⭐️ Scroll to the star button](#start-of-content) + +If you believe this project has potential, feel free to **star this repo** just like many [amazing people](https://github.com/rapidfort/community-images/stargazers) +have. + +## Have questions? + +[![RapidFort](https://raw.githubusercontent.com/rapidfort/community-images/main/contrib/github_logo_footer.png)][rf-rapidfort-footer-logo-link] + + +If you'd like to learn more about RapidFort or our container optimization process, visit [RapidFort.com][rf-link]. + +
+
+ + +[dh-rf-badge]: https://img.shields.io/badge/dockerhub-images-important.svg?logo=Docker + +[fossa-badge]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Frapidfort%2Fcommunity-images.svg?type=shield +[fossa-link]: https://app.fossa.com/projects/git%2Bgithub.com%2Frapidfort%2Fcommunity-images?ref=badge_shield + +[rf-link]: https://rapidfort.com?utm_source=github&utm_medium=ci_rf_link&utm_campaign=sep_01_sprint&utm_term=airflow-ib&utm_content=rapidfort_have_questions + +[rf-rapidfort-footer-logo-link]: https://frontrow.rapidfort.com/app/community/imageinfo/registry1.dso.mil%2Fironbank%2Fopensource%2Fapache%2Fairflow%2Fairflow?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow-ib&utm_content=rapidfort_footer_logo +[rf-view-report-button]: https://frontrow.rapidfort.com/app/community/imageinfo/registry1.dso.mil%2Fironbank%2Fopensource%2Fapache%2Fairflow%2Fairflow?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow-ib&utm_content=view_report_button +[rf-view-report-link]: https://frontrow.rapidfort.com/app/community/imageinfo/registry1.dso.mil%2Fironbank%2Fopensource%2Fapache%2Fairflow%2Fairflow?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow-ib&utm_content=view_report_link +[rf-image-metrics-link]: https://frontrow.rapidfort.com/app/community/imageinfo/registry1.dso.mil%2Fironbank%2Fopensource%2Fapache%2Fairflow%2Fairflow?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow-ib&utm_content=image_metrics_link +[rf-image-cve-reduction-link]: https://frontrow.rapidfort.com/app/community/imageinfo/registry1.dso.mil%2Fironbank%2Fopensource%2Fapache%2Fairflow%2Fairflow?utm_source=github&utm_medium=ci_view_report&utm_campaign=sep_01_sprint&utm_term=airflow-ib&utm_content=image_cve_reduction_link + +[dh-img-size-badge]: https://img.shields.io/docker/image-size/rapidfort/airflow-ib?logo=docker&logoColor=white&sort=semver +[dh-img-pulls-badge]: https://img.shields.io/docker/pulls/rapidfort/airflow-ib?logo=docker&logoColor=white + +[slack-badge]: https://img.shields.io/static/v1?label=Join&message=slack&logo=slack&logoColor=E01E5A&color=4A154B +[slack-link]: https://join.slack.com/t/rapidfortcommunity/shared_invite/zt-1g3wy28lv-DaeGexTQ5IjfpbmYW7Rm_Q + +[rf-h-badge]: https://img.shields.io/static/v1?label=RapidFort&labelColor=333F48&message=hardened&color=50B4C4&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAkCAYAAAAKNyObAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHvSURBVHgB7ZjvTcMwEMUvEgNkhNuAjOAR2IAyQbsB2YAyQbsBYoKwQdjA3aAjHA514Xq1Hf9r6QeeFKVJ3tkv+cWOVYCAiKg124b82gZqe0+NNlsHJbLBxthg1o+RASetIEdTJxnBRvtUMCHgM6TIBtMZwY7SiQFfrhUsN+Ao/TJYR3WC5QY88/Nge6oXLBRwO+P/GcnNMZzZteBR0zQfogM0O4Q47Uz9TtSrUIHs71+paugw16Dn+qt5xJ/TD4viEcrE25tepaXPaHxP350GXtD10WwHQWjQxKhl7YUGRg/MuPaY9vxuzPFA+RpEW9rj0yCMbcCsmG9B+Xpk7YRo4RnjQEEttBiBtAefyI23BtoYpBrmRO6ZX0EZWo60c1yfaGBMOKRzdKVocYZO/NpuMss7E9cHitcc0gFS5Qig2LUUtCGkmmJwOsJJvLlokdWtfMFzAvLGctCOooYPtg2USoRQ7HwM2hXzIzuvKQenIxzHm4oWmZ9TKF1AnAR8sI2moB093nKcjoBvtnHFzoXQ8qeMDGcLtUW/i4NYtJ3jJhRcSnRYHMSg1Q5PD5cWHT4/ih0vIpDOf9QrhZtQLsWxlILT8AjXEol/iQRaiVTBX4pO57D6U0WJBFoFtyaLtuqLfwf19G62e7hFWbQKKuoLYovGDo9dW28AAAAASUVORK5CYII= +[metrics-link]: https://github.com/rapidfort/community-images/raw/main/community_images/airflow/airflow/ironbank/assets/metrics.webp +[cve-reduction-link]: https://github.com/rapidfort/community-images/raw/main/community_images/airflow/airflow/ironbank/assets/cve_reduction.webp + +[source-image-repo-link]: https://registry1.dso.mil/harbor/projects/3/repositories/opensource%2Fapache%2Fairflow%2Fairflow +[rf-dh-image-link]: https://hub.docker.com/r/rapidfort/airflow-ib diff --git a/community_images/airflow/airflow/ironbank/assets/cve_reduction.webp b/community_images/airflow/airflow/ironbank/assets/cve_reduction.webp new file mode 100644 index 0000000000000000000000000000000000000000..90f5efd5c75275716ddc9fb3967fd174ccd76ac9 GIT binary patch literal 4086 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 WT^8!@n#&9yRwT_(H`9qfcK-!bY9W>Y literal 0 HcmV?d00001 diff --git a/community_images/airflow/airflow/ironbank/assets/metrics.webp b/community_images/airflow/airflow/ironbank/assets/metrics.webp new file mode 100644 index 0000000000000000000000000000000000000000..5b83df7151070f421e97d5356d1d9b8f2364fcad GIT binary patch literal 16608 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 A`2YX_ literal 0 HcmV?d00001 diff --git a/community_images/airflow/airflow/ironbank/image.yml b/community_images/airflow/airflow/ironbank/image.yml new file mode 100644 index 0000000000..e67859fa18 --- /dev/null +++ b/community_images/airflow/airflow/ironbank/image.yml @@ -0,0 +1,39 @@ +name: airflow-ib +official_name: Apache Airflow Ironbank +official_website: https://airflow.apache.org/ +source_image_provider: Platform One +source_image_repo: registry1.dso.mil/ironbank/opensource/apache/airflow/airflow +source_image_repo_link: https://registry1.dso.mil/harbor/projects/3/repositories/opensource%2Fapache%2Fairflow%2Fairflow +source_image_readme: https://repo1.dso.mil/dsop/opensource/apache/airflow/airflow/-/blob/development/README.md +rf_docker_link: rapidfort/airflow-ib +image_workflow_name: airflow_airflow_ironbank +github_location: airflow/airflow/ironbank +report_url: https://frontrow.rapidfort.com/app/community/imageinfo/registry1.dso.mil%2Fironbank%2Fopensource%2Fapache%2Fairflow%2Fairflow +usage_instructions: | + $ helm repo add bitnami https://charts.bitnami.com/bitnami + + # install airflow, just replace repository with RapidFort registry + $ helm install my-airflow bitnami/airflow --set image.repository=rapidfort/airflow-ib +what_is_text: | + Apache Airflow (or simply Airflow) is a platform to programmatically author, schedule, and monitor workflows. + + When workflows are defined as code, they become more maintainable, versionable, testable, and collaborative. + + Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed. +disclaimer: | + Disclaimer: This software listing is packaged by RapidFort. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement. +input_registry: + registry: registry1.dso.mil + account: ironbank +repo_sets: + - opensource/apache/airflow/airflow: + input_base_tag: "2.6." + output_repo: airflow-ib +runtimes: + - type: docker_compose + script: dc_coverage.sh + compose_file: docker-compose.yml + image_keys: + airflow-ib: + repository: "AIRFLOW_IMAGE_REPOSITORY" + tag: "AIRFLOW_IMAGE_TAG" diff --git a/frontrow.csv b/frontrow.csv index c38134434d..ca401663a5 100644 --- a/frontrow.csv +++ b/frontrow.csv @@ -1,5 +1,6 @@ source_image_repo,github_location,rf_docker_link,pull_count,star_count,last_updated docker.io/bitnami/airflow,https://github.com/rapidfort/community-images/tree/main/community_images/airflow/airflow/bitnami,https://hub.docker.com/r/rapidfort/airflow,26543,9,2023-08-10T01:09:42.83904Z +registry1.dso.mil/ironbank/opensource/apache/airflow/airflow,https://github.com/rapidfort/community-images/tree/main/community_images/airflow/airflow/ironbank,https://hub.docker.com/r/rapidfort/airflow-ib,0,, docker.io/bitnami/airflow-scheduler,https://github.com/rapidfort/community-images/tree/main/community_images/airflow/airflow-scheduler/bitnami,https://hub.docker.com/r/rapidfort/airflow-scheduler,35978,10,2023-08-10T01:20:11.955165Z docker.io/bitnami/airflow-worker,https://github.com/rapidfort/community-images/tree/main/community_images/airflow/airflow-worker/bitnami,https://hub.docker.com/r/rapidfort/airflow-worker,35527,10,2023-08-09T21:45:22.859332Z docker.io/bitnami/apache,https://github.com/rapidfort/community-images/tree/main/community_images/apache/bitnami,https://hub.docker.com/r/rapidfort/apache,34185,10,2023-08-07T12:27:15.629045Z diff --git a/image.lst b/image.lst index 1e20aa10b3..63da174a3e 100644 --- a/image.lst +++ b/image.lst @@ -68,3 +68,4 @@ prometheus/ironbank etcd/ironbank traefik/ironbank nats/ironbank +airflow/airflow/ironbank