add techdocs (#36)
Signed-off-by: Manabu McCloskey <manabu.mccloskey@gmail.com>
This commit is contained in:
parent
ec7a5f6dc3
commit
148f518526
17 changed files with 452 additions and 5 deletions
|
|
@ -15,6 +15,7 @@ metadata:
|
||||||
name: ${{values.name | dump}}
|
name: ${{values.name | dump}}
|
||||||
description: This is for testing purposes
|
description: This is for testing purposes
|
||||||
annotations:
|
annotations:
|
||||||
|
backstage.io/techdocs-ref: dir:.
|
||||||
backstage.io/kubernetes-label-selector: 'entity-id=${{values.name}}'
|
backstage.io/kubernetes-label-selector: 'entity-id=${{values.name}}'
|
||||||
backstage.io/kubernetes-namespace: default
|
backstage.io/kubernetes-namespace: default
|
||||||
argocd/app-name: ${{values.name | dump}}
|
argocd/app-name: ${{values.name | dump}}
|
||||||
|
|
@ -26,5 +27,22 @@ spec:
|
||||||
owner: guest
|
owner: guest
|
||||||
lifecycle: experimental
|
lifecycle: experimental
|
||||||
type: service
|
type: service
|
||||||
|
system: ${{values.name | dump}}
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- resource:default/${{values.name}}-bucket
|
- resource:default/${{values.name}}-bucket
|
||||||
|
---
|
||||||
|
apiVersion: backstage.io/v1alpha1
|
||||||
|
kind: System
|
||||||
|
metadata:
|
||||||
|
name: ${{values.name | dump}}
|
||||||
|
description: An example system for demonstration purposes
|
||||||
|
annotations:
|
||||||
|
backstage.io/techdocs-ref: dir:.
|
||||||
|
links:
|
||||||
|
- url: https://github.com/cnoe-io/stacks/tree/main/ref-implementation
|
||||||
|
title: CNOE Repo
|
||||||
|
icon: github
|
||||||
|
spec:
|
||||||
|
owner: guest
|
||||||
|
lifecycle: experimental
|
||||||
|
type: service
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
[![Codespell][codespell-badge]][codespell-link]
|
||||||
|
[![E2E][e2e-badge]][e2e-link]
|
||||||
|
[![Go Report Card][report-badge]][report-link]
|
||||||
|
[![Commit Activity][commit-activity-badge]][commit-activity-link]
|
||||||
|
|
||||||
|
# IDP Builder
|
||||||
|
|
||||||
|
Internal development platform binary launcher.
|
||||||
|
|
||||||
|
> **WORK IN PROGRESS**: This tool is in a pre-release stage and is under active development.
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
Spin up a complete internal developer platform using industry standard technologies like Kubernetes, Argo, and backstage with only Docker required as a dependency.
|
||||||
|
|
||||||
|
This can be useful in several ways:
|
||||||
|
* Create a single binary which can demonstrate an IDP reference implementation.
|
||||||
|
* Use within CI to perform integration testing.
|
||||||
|
* Use as a local development environment for platform engineers.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
Checkout our [documentation website](https://cnoe.io/docs/reference-implementation/installations/idpbuilder) for getting started with idpbuilder.
|
||||||
|
|
||||||
|
## Community
|
||||||
|
|
||||||
|
- If you have questions or concerns about this tool, please feel free to reach out to us on the [CNCF Slack Channel](https://cloud-native.slack.com/archives/C05TN9WFN5S).
|
||||||
|
- You can also join our community meetings to meet the team and ask any questions. Checkout [this calendar](https://calendar.google.com/calendar/embed?src=064a2adfce866ccb02e61663a09f99147f22f06374e7a8994066bdc81e066986%40group.calendar.google.com&ctz=America%2FLos_Angeles) for more information.
|
||||||
|
|
||||||
|
## Contribution
|
||||||
|
|
||||||
|
Checkout the [contribution doc](./CONTRIBUTING.md) for contribution guidelines and more information on how to set up your local environment.
|
||||||
|
|
||||||
|
|
||||||
|
<!-- JUST BADGES & LINKS -->
|
||||||
|
[codespell-badge]: https://github.com/cnoe-io/idpbuilder/actions/workflows/codespell.yaml/badge.svg
|
||||||
|
[codespell-link]: https://github.com/cnoe-io/idpbuilder/actions/workflows/codespell.yaml
|
||||||
|
|
||||||
|
[e2e-badge]: https://github.com/cnoe-io/idpbuilder/actions/workflows/e2e.yaml/badge.svg
|
||||||
|
[e2e-link]: https://github.com/cnoe-io/idpbuilder/actions/workflows/e2e.yaml
|
||||||
|
|
||||||
|
[report-badge]: https://goreportcard.com/badge/github.com/cnoe-io/idpbuilder
|
||||||
|
[report-link]: https://goreportcard.com/report/github.com/cnoe-io/idpbuilder
|
||||||
|
|
||||||
|
[commit-activity-badge]: https://img.shields.io/github/commit-activity/m/cnoe-io/idpbuilder
|
||||||
|
[commit-activity-link]: https://github.com/cnoe-io/idpbuilder/pulse
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
|
|
@ -0,0 +1,16 @@
|
||||||
|

|
||||||
|
|
||||||
|
# Example Basic Application
|
||||||
|
|
||||||
|
Thanks for trying out this demo! In this example, we deployed a simple application with a S3 bucket using Crossplane.
|
||||||
|
|
||||||
|
|
||||||
|
### idpbuilder
|
||||||
|
|
||||||
|
Checkout the idpbuilder website: https://cnoe.io/docs/reference-implementation/installations/idpbuilder
|
||||||
|
|
||||||
|
Checkout the idpbuilder repository: https://github.com/cnoe-io/idpbuilder
|
||||||
|
|
||||||
|
## Crossplane
|
||||||
|
|
||||||
|
Checkout the Crossplane website: https://www.crossplane.io/
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
site_name: 'Argo Spark Example'
|
||||||
|
nav:
|
||||||
|
- Home: index.md
|
||||||
|
- idpBuilder: idpbuilder.md
|
||||||
|
plugins:
|
||||||
|
- techdocs-core
|
||||||
|
|
@ -3,8 +3,9 @@ apiVersion: backstage.io/v1alpha1
|
||||||
kind: Component
|
kind: Component
|
||||||
metadata:
|
metadata:
|
||||||
name: ${{values.name | dump}}
|
name: ${{values.name | dump}}
|
||||||
description: This is for testing purposes
|
description: This is an example Backstage component representing the use of Argo Workflows and Spark Operator.
|
||||||
annotations:
|
annotations:
|
||||||
|
backstage.io/techdocs-ref: dir:.
|
||||||
backstage.io/kubernetes-label-selector: 'entity-id=${{values.name}}'
|
backstage.io/kubernetes-label-selector: 'entity-id=${{values.name}}'
|
||||||
backstage.io/kubernetes-namespace: argo
|
backstage.io/kubernetes-namespace: argo
|
||||||
argocd/app-name: ${{values.name | dump}}
|
argocd/app-name: ${{values.name | dump}}
|
||||||
|
|
@ -16,6 +17,23 @@ metadata:
|
||||||
- url: https://cnoe.localtest.me:8443/gitea
|
- url: https://cnoe.localtest.me:8443/gitea
|
||||||
title: Repo URL
|
title: Repo URL
|
||||||
icon: github
|
icon: github
|
||||||
|
spec:
|
||||||
|
owner: guest
|
||||||
|
lifecycle: experimental
|
||||||
|
type: service
|
||||||
|
system: ${{values.name | dump}}
|
||||||
|
---
|
||||||
|
apiVersion: backstage.io/v1alpha1
|
||||||
|
kind: System
|
||||||
|
metadata:
|
||||||
|
name: ${{values.name | dump}}
|
||||||
|
description: An example system for demonstration purposes
|
||||||
|
annotations:
|
||||||
|
backstage.io/techdocs-ref: dir:.
|
||||||
|
links:
|
||||||
|
- url: https://github.com/cnoe-io/stacks/tree/main/ref-implementation
|
||||||
|
title: CNOE Repo
|
||||||
|
icon: github
|
||||||
spec:
|
spec:
|
||||||
owner: guest
|
owner: guest
|
||||||
lifecycle: experimental
|
lifecycle: experimental
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,160 @@
|
||||||
|
<!-- markdownlint-disable-next-line MD041 -->
|
||||||
|
[](https://github.com/argoproj/argo-workflows/actions/workflows/snyk.yml?query=branch%3Amain)
|
||||||
|
[](https://bestpractices.coreinfrastructure.org/projects/3830)
|
||||||
|
[](https://api.securityscorecards.dev/projects/github.com/argoproj/argo-workflows)
|
||||||
|
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fargoproj%2Fargo-workflows?ref=badge_shield)
|
||||||
|
[](https://argoproj.github.io/community/join-slack)
|
||||||
|
[](https://twitter.com/argoproj)
|
||||||
|
[](https://www.linkedin.com/company/argoproj/)
|
||||||
|
[](https://github.com/argoproj/argo-workflows/releases/latest)
|
||||||
|
[](https://artifacthub.io/packages/helm/argo/argo-workflows)
|
||||||
|
|
||||||
|
## What is Argo Workflows?
|
||||||
|
|
||||||
|
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes.
|
||||||
|
Argo Workflows is implemented as a Kubernetes CRD (Custom Resource Definition).
|
||||||
|
|
||||||
|
* Define workflows where each step is a container.
|
||||||
|
* Model multi-step workflows as a sequence of tasks or capture the dependencies between tasks using a directed acyclic graph (DAG).
|
||||||
|
* Easily run compute intensive jobs for machine learning or data processing in a fraction of the time using Argo Workflows on Kubernetes.
|
||||||
|
|
||||||
|
Argo is a [Cloud Native Computing Foundation (CNCF)](https://cncf.io/) graduated project.
|
||||||
|
|
||||||
|
## Use Cases
|
||||||
|
|
||||||
|
* [Machine Learning pipelines](use-cases/machine-learning.md)
|
||||||
|
* [Data and batch processing](use-cases/data-processing.md)
|
||||||
|
* [Infrastructure automation](use-cases/infrastructure-automation.md)
|
||||||
|
* [CI/CD](use-cases/ci-cd.md)
|
||||||
|
* [Other use cases](use-cases/other.md)
|
||||||
|
|
||||||
|
## Why Argo Workflows?
|
||||||
|
|
||||||
|
* Argo Workflows is the most popular workflow execution engine for Kubernetes.
|
||||||
|
* Light-weight, scalable, and easier to use.
|
||||||
|
* Designed from the ground up for containers without the overhead and limitations of legacy VM and server-based environments.
|
||||||
|
* Cloud agnostic and can run on any Kubernetes cluster.
|
||||||
|
|
||||||
|
[Read what people said in our latest survey](https://blog.argoproj.io/argo-workflows-events-2023-user-survey-results-82c53bc30543)
|
||||||
|
|
||||||
|
## Try Argo Workflows
|
||||||
|
|
||||||
|
You can try Argo Workflows via one of the following:
|
||||||
|
|
||||||
|
1. [Interactive Training Material](https://killercoda.com/argoproj/course/argo-workflows/)
|
||||||
|
1. [Access the demo environment](https://workflows.apps.argoproj.io/workflows/argo)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Who uses Argo Workflows?
|
||||||
|
|
||||||
|
[About 200+ organizations are officially using Argo Workflows](https://github.com/argoproj/argo-workflows/blob/main/USERS.md)
|
||||||
|
|
||||||
|
## Ecosystem
|
||||||
|
|
||||||
|
Just some of the projects that use or rely on Argo Workflows (complete list [here](https://github.com/akuity/awesome-argo#ecosystem-projects)):
|
||||||
|
|
||||||
|
* [Argo Events](https://github.com/argoproj/argo-events)
|
||||||
|
* [Couler](https://github.com/couler-proj/couler)
|
||||||
|
* [Hera](https://github.com/argoproj-labs/hera-workflows)
|
||||||
|
* [Katib](https://github.com/kubeflow/katib)
|
||||||
|
* [Kedro](https://kedro.readthedocs.io/en/stable/)
|
||||||
|
* [Kubeflow Pipelines](https://github.com/kubeflow/pipelines)
|
||||||
|
* [Netflix Metaflow](https://metaflow.org)
|
||||||
|
* [Onepanel](https://github.com/onepanelio/onepanel)
|
||||||
|
* [Orchest](https://github.com/orchest/orchest/)
|
||||||
|
* [Piper](https://github.com/quickube/piper)
|
||||||
|
* [Ploomber](https://github.com/ploomber/ploomber)
|
||||||
|
* [Seldon](https://github.com/SeldonIO/seldon-core)
|
||||||
|
* [SQLFlow](https://github.com/sql-machine-learning/sqlflow)
|
||||||
|
|
||||||
|
## Client Libraries
|
||||||
|
|
||||||
|
Check out our [Java, Golang and Python clients](client-libraries.md).
|
||||||
|
|
||||||
|
## Quickstart
|
||||||
|
|
||||||
|
* [Get started here](quick-start.md)
|
||||||
|
* [Walk-through examples](walk-through/index.md)
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
You're here!
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
An incomplete list of features Argo Workflows provide:
|
||||||
|
|
||||||
|
* UI to visualize and manage Workflows
|
||||||
|
* Artifact support (S3, Artifactory, Alibaba Cloud OSS, Azure Blob Storage, HTTP, Git, GCS, raw)
|
||||||
|
* Workflow templating to store commonly used Workflows in the cluster
|
||||||
|
* Archiving Workflows after executing for later access
|
||||||
|
* Scheduled workflows using cron
|
||||||
|
* Server interface with REST API (HTTP and GRPC)
|
||||||
|
* DAG or Steps based declaration of workflows
|
||||||
|
* Step level input & outputs (artifacts/parameters)
|
||||||
|
* Loops
|
||||||
|
* Parameterization
|
||||||
|
* Conditionals
|
||||||
|
* Timeouts (step & workflow level)
|
||||||
|
* Retry (step & workflow level)
|
||||||
|
* Resubmit (memoized)
|
||||||
|
* Suspend & Resume
|
||||||
|
* Cancellation
|
||||||
|
* K8s resource orchestration
|
||||||
|
* Exit Hooks (notifications, cleanup)
|
||||||
|
* Garbage collection of completed workflow
|
||||||
|
* Scheduling (affinity/tolerations/node selectors)
|
||||||
|
* Volumes (ephemeral/existing)
|
||||||
|
* Parallelism limits
|
||||||
|
* Daemoned steps
|
||||||
|
* DinD (docker-in-docker)
|
||||||
|
* Script steps
|
||||||
|
* Event emission
|
||||||
|
* Prometheus metrics
|
||||||
|
* Multiple executors
|
||||||
|
* Multiple pod and workflow garbage collection strategies
|
||||||
|
* Automatically calculated resource usage per step
|
||||||
|
* Java/Golang/Python SDKs
|
||||||
|
* Pod Disruption Budget support
|
||||||
|
* Single-sign on (OAuth2/OIDC)
|
||||||
|
* Webhook triggering
|
||||||
|
* CLI
|
||||||
|
* Out-of-the box and custom Prometheus metrics
|
||||||
|
* Windows container support
|
||||||
|
* Embedded widgets
|
||||||
|
* Multiplex log viewer
|
||||||
|
|
||||||
|
## Community Meetings
|
||||||
|
|
||||||
|
We host monthly community meetings where we and the community showcase demos and discuss the current and future state of the project. Feel free to join us!
|
||||||
|
For Community Meeting information, minutes and recordings, please [see here](https://bit.ly/argo-wf-cmty-mtng).
|
||||||
|
|
||||||
|
Participation in Argo Workflows is governed by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md)
|
||||||
|
|
||||||
|
## Community Blogs and Presentations
|
||||||
|
|
||||||
|
* [Awesome-Argo: A Curated List of Awesome Projects and Resources Related to Argo](https://github.com/terrytangyuan/awesome-argo)
|
||||||
|
* [Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts](https://youtu.be/XNXJtxkUKeY)
|
||||||
|
* [Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows](https://youtu.be/UMaivwrAyTA)
|
||||||
|
* [Argo Ansible role: Provisioning Argo Workflows on OpenShift](https://medium.com/@marekermk/provisioning-argo-on-openshift-with-ansible-and-kustomize-340a1fda8b50)
|
||||||
|
* [Argo Workflows vs Apache Airflow](http://bit.ly/30YNIvT)
|
||||||
|
* [CI/CD with Argo on Kubernetes](https://medium.com/@bouwe.ceunen/ci-cd-with-argo-on-kubernetes-28c1a99616a9)
|
||||||
|
* [Define Your CI/CD Pipeline with Argo Workflows](https://haque-zubair.medium.com/define-your-ci-cd-pipeline-with-argo-workflows-25aefb02fa63)
|
||||||
|
* [Distributed Machine Learning Patterns from Manning Publication](https://github.com/terrytangyuan/distributed-ml-patterns)
|
||||||
|
* [Running Argo Workflows Across Multiple Kubernetes Clusters](https://admiralty.io/blog/running-argo-workflows-across-multiple-kubernetes-clusters/)
|
||||||
|
* [Open Source Model Management Roundup: Polyaxon, Argo, and Seldon](https://www.anaconda.com/blog/developer-blog/open-source-model-management-roundup-polyaxon-argo-and-seldon/)
|
||||||
|
* [Producing 200 OpenStreetMap extracts in 35 minutes using a scalable data workflow](https://www.interline.io/blog/scaling-openstreetmap-data-workflows/)
|
||||||
|
* [Argo integration review](http://dev.matt.hillsdon.net/2018/03/24/argo-integration-review.html)
|
||||||
|
* TGI Kubernetes with Joe Beda: [Argo workflow system](https://www.youtube.com/watch?v=M_rxPPLG8pU&start=859)
|
||||||
|
|
||||||
|
## Project Resources
|
||||||
|
|
||||||
|
* [Argo Project GitHub organization](https://github.com/argoproj)
|
||||||
|
* [Argo Website](https://argoproj.github.io/)
|
||||||
|
* [Argo Slack](https://argoproj.github.io/community/join-slack)
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
See [Security](security.md).
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
|
|
@ -0,0 +1,9 @@
|
||||||
|

|
||||||
|
|
||||||
|
# Example Spark Application
|
||||||
|
|
||||||
|
Thanks for trying out this demo! In this example, we deployed a simple Apache Spark job through Argo Workflows.
|
||||||
|
|
||||||
|
To learn more about Spark Operators, check out [this link](https://github.com/kubeflow/spark-operator)
|
||||||
|
|
||||||
|
To learn more about Argo Workflows, see [this link](https://argoproj.github.io/workflows/)
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
# Kubeflow Spark Operator
|
||||||
|
|
||||||
|
[](https://goreportcard.com/report/github.com/kubeflow/spark-operator)
|
||||||
|
|
||||||
|
## What is Spark Operator?
|
||||||
|
|
||||||
|
The Kubernetes Operator for Apache Spark aims to make specifying and running [Spark](https://github.com/apache/spark) applications as easy and idiomatic as running other workloads on Kubernetes. It uses
|
||||||
|
[Kubernetes custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) for specifying, running, and surfacing status of Spark applications.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
For a complete reference of the custom resource definitions, please refer to the [API Definition](docs/api-docs.md). For details on its design, please refer to the [Architecture](https://www.kubeflow.org/docs/components/spark-operator/overview/#architecture). It requires Spark 2.3 and above that supports Kubernetes as a native scheduler backend.
|
||||||
|
|
||||||
|
The Kubernetes Operator for Apache Spark currently supports the following list of features:
|
||||||
|
|
||||||
|
* Supports Spark 2.3 and up.
|
||||||
|
* Enables declarative application specification and management of applications through custom resources.
|
||||||
|
* Automatically runs `spark-submit` on behalf of users for each `SparkApplication` eligible for submission.
|
||||||
|
* Provides native [cron](https://en.wikipedia.org/wiki/Cron) support for running scheduled applications.
|
||||||
|
* Supports customization of Spark pods beyond what Spark natively is able to do through the mutating admission webhook, e.g., mounting ConfigMaps and volumes, and setting pod affinity/anti-affinity.
|
||||||
|
* Supports automatic application re-submission for updated `SparkApplication` objects with updated specification.
|
||||||
|
* Supports automatic application restart with a configurable restart policy.
|
||||||
|
* Supports automatic retries of failed submissions with optional linear back-off.
|
||||||
|
* Supports mounting local Hadoop configuration as a Kubernetes ConfigMap automatically via `sparkctl`.
|
||||||
|
* Supports automatically staging local application dependencies to Google Cloud Storage (GCS) via `sparkctl`.
|
||||||
|
* Supports collecting and exporting application-level metrics and driver/executor metrics to Prometheus.
|
||||||
|
|
||||||
|
## Project Status
|
||||||
|
|
||||||
|
**Project status:** *beta*
|
||||||
|
|
||||||
|
**Current API version:** *`v1beta2`*
|
||||||
|
|
||||||
|
**If you are currently using the `v1beta1` version of the APIs in your manifests, please update them to use the `v1beta2` version by changing `apiVersion: "sparkoperator.k8s.io/<version>"` to `apiVersion: "sparkoperator.k8s.io/v1beta2"`. You will also need to delete the `previous` version of the CustomResourceDefinitions named `sparkapplications.sparkoperator.k8s.io` and `scheduledsparkapplications.sparkoperator.k8s.io`, and replace them with the `v1beta2` version either by installing the latest version of the operator or by running `kubectl create -f config/crd/bases`.**
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
* Version >= 1.13 of Kubernetes to use the [`subresource` support for CustomResourceDefinitions](https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#subresources), which became beta in 1.13 and is enabled by default in 1.13 and higher.
|
||||||
|
|
||||||
|
* Version >= 1.16 of Kubernetes to use the `MutatingWebhook` and `ValidatingWebhook` of `apiVersion: admissionregistration.k8s.io/v1`.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
For getting started with Spark operator, please refer to [Getting Started](https://www.kubeflow.org/docs/components/spark-operator/getting-started/).
|
||||||
|
|
||||||
|
## User Guide
|
||||||
|
|
||||||
|
For detailed user guide and API documentation, please refer to [User Guide](https://www.kubeflow.org/docs/components/spark-operator/user-guide/) and [API Specification](docs/api-docs.md).
|
||||||
|
|
||||||
|
If you are running Spark operator on Google Kubernetes Engine (GKE) and want to use Google Cloud Storage (GCS) and/or BigQuery for reading/writing data, also refer to the [GCP guide](https://www.kubeflow.org/docs/components/spark-operator/user-guide/gcp/).
|
||||||
|
|
||||||
|
## Version Matrix
|
||||||
|
|
||||||
|
The following table lists the most recent few versions of the operator.
|
||||||
|
|
||||||
|
| Operator Version | API Version | Kubernetes Version | Base Spark Version |
|
||||||
|
| ------------- | ------------- | ------------- | ------------- |
|
||||||
|
| `v1beta2-1.6.x-3.5.0` | `v1beta2` | 1.16+ | `3.5.0` |
|
||||||
|
| `v1beta2-1.5.x-3.5.0` | `v1beta2` | 1.16+ | `3.5.0` |
|
||||||
|
| `v1beta2-1.4.x-3.5.0` | `v1beta2` | 1.16+ | `3.5.0` |
|
||||||
|
| `v1beta2-1.3.x-3.1.1` | `v1beta2` | 1.16+ | `3.1.1` |
|
||||||
|
| `v1beta2-1.2.3-3.1.1` | `v1beta2` | 1.13+ | `3.1.1` |
|
||||||
|
| `v1beta2-1.2.2-3.0.0` | `v1beta2` | 1.13+ | `3.0.0` |
|
||||||
|
| `v1beta2-1.2.1-3.0.0` | `v1beta2` | 1.13+ | `3.0.0` |
|
||||||
|
| `v1beta2-1.2.0-3.0.0` | `v1beta2` | 1.13+ | `3.0.0` |
|
||||||
|
| `v1beta2-1.1.x-2.4.5` | `v1beta2` | 1.13+ | `2.4.5` |
|
||||||
|
| `v1beta2-1.0.x-2.4.4` | `v1beta2` | 1.13+ | `2.4.4` |
|
||||||
|
|
||||||
|
## Developer Guide
|
||||||
|
|
||||||
|
For developing with Spark Operator, please refer to [Developer Guide](https://www.kubeflow.org/docs/components/spark-operator/developer-guide/).
|
||||||
|
|
||||||
|
## Contributor Guide
|
||||||
|
|
||||||
|
For contributing to Spark Operator, please refer to [Contributor Guide](CONTRIBUTING.md).
|
||||||
|
|
||||||
|
## Community
|
||||||
|
|
||||||
|
* Join the [CNCF Slack Channel](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels) and then join `#kubeflow-spark-operator` Channel.
|
||||||
|
* Check out our blog post [Announcing the Kubeflow Spark Operator: Building a Stronger Spark on Kubernetes Community](https://blog.kubeflow.org/operators/2024/04/15/kubeflow-spark-operator.html).
|
||||||
|
* Join our monthly community meeting [Kubeflow Spark Operator Meeting Notes](https://bit.ly/3VGzP4n).
|
||||||
|
|
||||||
|
## Adopters
|
||||||
|
|
||||||
|
Check out [adopters of Spark Operator](ADOPTERS.md).
|
||||||
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
site_name: 'Argo Spark Example'
|
||||||
|
nav:
|
||||||
|
- Home: index.md
|
||||||
|
- Argo-Workflows: argo-workflows.md
|
||||||
|
- Apache Spark Operator: spark-operator.md
|
||||||
|
plugins:
|
||||||
|
- techdocs-core
|
||||||
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
site_name: 'Argo Spark Example'
|
||||||
|
nav:
|
||||||
|
- Home: index.md
|
||||||
|
- idpBuilder: idpbuilder.md
|
||||||
|
plugins:
|
||||||
|
- techdocs-core
|
||||||
|
|
@ -3,8 +3,9 @@ apiVersion: backstage.io/v1alpha1
|
||||||
kind: Component
|
kind: Component
|
||||||
metadata:
|
metadata:
|
||||||
name: ${{values.name | dump}}
|
name: ${{values.name | dump}}
|
||||||
description: This is for testing purposes
|
description: This is a basic example application
|
||||||
annotations:
|
annotations:
|
||||||
|
backstage.io/techdocs-ref: dir:.
|
||||||
backstage.io/kubernetes-label-selector: 'entity-id=${{values.name}}'
|
backstage.io/kubernetes-label-selector: 'entity-id=${{values.name}}'
|
||||||
backstage.io/kubernetes-namespace: default
|
backstage.io/kubernetes-namespace: default
|
||||||
argocd/app-name: ${{values.name | dump}}
|
argocd/app-name: ${{values.name | dump}}
|
||||||
|
|
@ -12,6 +13,23 @@ metadata:
|
||||||
- url: https://cnoe.localtest.me:8443/gitea
|
- url: https://cnoe.localtest.me:8443/gitea
|
||||||
title: Repo URL
|
title: Repo URL
|
||||||
icon: github
|
icon: github
|
||||||
|
spec:
|
||||||
|
owner: guest
|
||||||
|
lifecycle: experimental
|
||||||
|
type: service
|
||||||
|
system: ${{values.name | dump}}
|
||||||
|
---
|
||||||
|
apiVersion: backstage.io/v1alpha1
|
||||||
|
kind: System
|
||||||
|
metadata:
|
||||||
|
name: ${{values.name | dump}}
|
||||||
|
description: An example system for demonstration purposes
|
||||||
|
annotations:
|
||||||
|
backstage.io/techdocs-ref: dir:.
|
||||||
|
links:
|
||||||
|
- url: https://github.com/cnoe-io/stacks/tree/main/ref-implementation
|
||||||
|
title: CNOE Repo
|
||||||
|
icon: github
|
||||||
spec:
|
spec:
|
||||||
owner: guest
|
owner: guest
|
||||||
lifecycle: experimental
|
lifecycle: experimental
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
[![Codespell][codespell-badge]][codespell-link]
|
||||||
|
[![E2E][e2e-badge]][e2e-link]
|
||||||
|
[![Go Report Card][report-badge]][report-link]
|
||||||
|
[![Commit Activity][commit-activity-badge]][commit-activity-link]
|
||||||
|
|
||||||
|
# IDP Builder
|
||||||
|
|
||||||
|
Internal development platform binary launcher.
|
||||||
|
|
||||||
|
> **WORK IN PROGRESS**: This tool is in a pre-release stage and is under active development.
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
Spin up a complete internal developer platform using industry standard technologies like Kubernetes, Argo, and backstage with only Docker required as a dependency.
|
||||||
|
|
||||||
|
This can be useful in several ways:
|
||||||
|
* Create a single binary which can demonstrate an IDP reference implementation.
|
||||||
|
* Use within CI to perform integration testing.
|
||||||
|
* Use as a local development environment for platform engineers.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
Checkout our [documentation website](https://cnoe.io/docs/reference-implementation/installations/idpbuilder) for getting started with idpbuilder.
|
||||||
|
|
||||||
|
## Community
|
||||||
|
|
||||||
|
- If you have questions or concerns about this tool, please feel free to reach out to us on the [CNCF Slack Channel](https://cloud-native.slack.com/archives/C05TN9WFN5S).
|
||||||
|
- You can also join our community meetings to meet the team and ask any questions. Checkout [this calendar](https://calendar.google.com/calendar/embed?src=064a2adfce866ccb02e61663a09f99147f22f06374e7a8994066bdc81e066986%40group.calendar.google.com&ctz=America%2FLos_Angeles) for more information.
|
||||||
|
|
||||||
|
## Contribution
|
||||||
|
|
||||||
|
Checkout the [contribution doc](./CONTRIBUTING.md) for contribution guidelines and more information on how to set up your local environment.
|
||||||
|
|
||||||
|
|
||||||
|
<!-- JUST BADGES & LINKS -->
|
||||||
|
[codespell-badge]: https://github.com/cnoe-io/idpbuilder/actions/workflows/codespell.yaml/badge.svg
|
||||||
|
[codespell-link]: https://github.com/cnoe-io/idpbuilder/actions/workflows/codespell.yaml
|
||||||
|
|
||||||
|
[e2e-badge]: https://github.com/cnoe-io/idpbuilder/actions/workflows/e2e.yaml/badge.svg
|
||||||
|
[e2e-link]: https://github.com/cnoe-io/idpbuilder/actions/workflows/e2e.yaml
|
||||||
|
|
||||||
|
[report-badge]: https://goreportcard.com/badge/github.com/cnoe-io/idpbuilder
|
||||||
|
[report-link]: https://goreportcard.com/report/github.com/cnoe-io/idpbuilder
|
||||||
|
|
||||||
|
[commit-activity-badge]: https://img.shields.io/github/commit-activity/m/cnoe-io/idpbuilder
|
||||||
|
[commit-activity-link]: https://github.com/cnoe-io/idpbuilder/pulse
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
|
|
@ -0,0 +1,11 @@
|
||||||
|

|
||||||
|
|
||||||
|
# Example Basic Application
|
||||||
|
|
||||||
|
Thanks for trying out this demo! In this example, we deployed a simple application.
|
||||||
|
|
||||||
|
### idpbuilder
|
||||||
|
|
||||||
|
Checkout idpbuilder website: https://cnoe.io/docs/reference-implementation/installations/idpbuilder
|
||||||
|
|
||||||
|
Checkout idpbuilder repository: https://github.com/cnoe-io/idpbuilder
|
||||||
|
|
@ -134,7 +134,7 @@ data:
|
||||||
techdocs:
|
techdocs:
|
||||||
builder: 'local' # Alternatives - 'external'
|
builder: 'local' # Alternatives - 'external'
|
||||||
generator:
|
generator:
|
||||||
runIn: 'docker' # Alternatives - 'local'
|
runIn: 'local'
|
||||||
publisher:
|
publisher:
|
||||||
type: 'local' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives.
|
type: 'local' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives.
|
||||||
|
|
||||||
|
|
@ -148,7 +148,6 @@ data:
|
||||||
metadataUrl: ${KEYCLOAK_NAME_METADATA}
|
metadataUrl: ${KEYCLOAK_NAME_METADATA}
|
||||||
clientId: backstage
|
clientId: backstage
|
||||||
clientSecret: ${KEYCLOAK_CLIENT_SECRET}
|
clientSecret: ${KEYCLOAK_CLIENT_SECRET}
|
||||||
scope: 'openid profile email groups'
|
|
||||||
prompt: auto
|
prompt: auto
|
||||||
|
|
||||||
scaffolder:
|
scaffolder:
|
||||||
|
|
@ -264,7 +263,7 @@ spec:
|
||||||
name: gitea-credentials
|
name: gitea-credentials
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: argocd-credentials
|
name: argocd-credentials
|
||||||
image: ghcr.io/cnoe-io/backstage-app:b8e4f08914af17a48ed6b8b83a3621a9f4b4181d
|
image: ghcr.io/cnoe-io/backstage-app:9232d633b2698fffa6d0a73b715e06640d170162
|
||||||
name: backstage
|
name: backstage
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 7007
|
- containerPort: 7007
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue