├── .eslintignore ├── packages ├── app │ ├── .eslintignore │ ├── src │ │ ├── setupTests.ts │ │ ├── components │ │ │ └── Root │ │ │ │ └── index.ts │ │ ├── index.tsx │ │ ├── App.test.tsx │ │ └── apis.ts │ ├── public │ │ ├── robots.txt │ │ ├── favicon.ico │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── apple-touch-icon.png │ │ ├── android-chrome-192x192.png │ │ ├── manifest.json │ │ └── safari-pinned-tab.svg │ ├── .eslintrc.js │ └── e2e-tests │ │ └── app.test.ts ├── backend │ ├── .eslintrc.js │ └── src │ │ ├── index.test.ts │ │ ├── plugins │ │ ├── proxy.ts │ │ └── scaffolder.ts │ │ └── types.ts └── README.md ├── backstage.json ├── plugins ├── terraform-backend │ ├── src │ │ ├── setupTests.ts │ │ ├── index.ts │ │ ├── plugin.ts │ │ └── service │ │ │ └── router.test.ts │ ├── .eslintrc.js │ ├── dev │ │ └── index.ts │ ├── README.md │ └── package.json ├── argo-workflows │ ├── src │ │ ├── api │ │ │ ├── generated │ │ │ │ ├── .openapi-generator │ │ │ │ │ └── VERSION │ │ │ │ ├── .gitignore │ │ │ │ ├── api.ts │ │ │ │ ├── model │ │ │ │ │ ├── ioArgoprojEventsV1alpha1FileArtifact.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1StatusPolicy.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1LogTrigger.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1CollectEventRequest.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1AMQPQueueBindConfig.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1LabelValueFrom.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1EventSourceFilter.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1Amount.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1Resource.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1LabelKeys.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1LabelValues.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1HTTPBodySource.ts │ │ │ │ │ ├── googleProtobufAny.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Counter.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1TransformationStep.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1S3Bucket.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1EventSourceStatus.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1S3Filter.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Event.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ManifestFrom.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1LogEntry.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1HTTPHeaderSource.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1RateLimit.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1RawArtifact.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1StorageGridFilter.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1OwnedRepositories.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1ConditionsResetByTime.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1EventDependencyTransformer.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1WorkflowSuspendRequest.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1BitbucketRepository.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1CatchupConfiguration.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1CronWorkflowResumeRequest.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1WorkflowTaskSetSpec.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1WorkflowTerminateRequest.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1ConfigMapPersistence.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1CronWorkflowSuspendRequest.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1SensorStatus.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1NodeSynchronizationStatus.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1ConditionsResetCriteria.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Cache.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1WorkflowTaskSetStatus.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1MetricLabel.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1BitbucketServerRepository.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1Status.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1CreateS3BucketOptions.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1Metadata.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ExecutorConfig.ts │ │ │ │ │ ├── sensorSensorWatchEvent.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1URLArtifact.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1DataSource.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1VolumeClaimGC.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1TarStrategy.ts │ │ │ │ │ ├── ioK8sApiCoreV1LocalObjectReference.ts │ │ │ │ │ ├── ioK8sApiCoreV1PodDNSConfigOption.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1Service.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Metadata.ts │ │ │ │ │ ├── ioK8sApiCoreV1Sysctl.ts │ │ │ │ │ ├── eventsourceEventSourceWatchEvent.ts │ │ │ │ │ ├── ioK8sApiCoreV1TCPSocketAction.ts │ │ │ │ │ ├── ioK8sApiCoreV1EphemeralVolumeSource.ts │ │ │ │ │ ├── ioK8sApiCoreV1HTTPHeader.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1Int64OrString.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1WorkflowWatchEvent.ts │ │ │ │ │ ├── eventsourceCreateEventSourceRequest.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1SecureHeader.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1RetryAffinity.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1SuspendTemplate.ts │ │ │ │ │ ├── streamResultOfSensorLogEntry.ts │ │ │ │ │ ├── ioK8sApiCoreV1Capabilities.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Metrics.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1BasicAuth.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1GitCreds.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1WatchPathConfig.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1WorkflowLintRequest.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ContinueOn.ts │ │ │ │ │ ├── ioK8sApiCoreV1EventSource.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Mutex.ts │ │ │ │ │ ├── streamResultOfEventsourceLogEntry.ts │ │ │ │ │ ├── streamResultOfIoK8sApiCoreV1Event.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1BitbucketBasicAuth.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1KafkaConsumerGroup.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Header.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1LintCronWorkflowRequest.ts │ │ │ │ │ ├── streamResultOfSensorSensorWatchEvent.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1Histogram.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1SemaphoreHolding.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1WorkflowResumeRequest.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1Selector.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1GitRemoteConfig.ts │ │ │ │ │ ├── ioK8sApiCoreV1DownwardAPIProjection.ts │ │ │ │ │ ├── ioK8sApiCoreV1HostAlias.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ContainerSetRetryStrategy.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1OAuth2EndpointParam.ts │ │ │ │ │ ├── sensorUpdateSensorRequest.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ArtifactRepositoryRef.ts │ │ │ │ │ ├── ioK8sApiCoreV1VolumeDevice.ts │ │ │ │ │ ├── ioK8sApimachineryPkgApisMetaV1GroupVersionResource.ts │ │ │ │ │ ├── ioK8sApiCoreV1NodeSelector.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ArtifactGCSpec.ts │ │ │ │ │ ├── streamResultOfEventsourceEventSourceWatchEvent.ts │ │ │ │ │ ├── ioK8sApiCoreV1ObjectFieldSelector.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ArtifactGCStatus.ts │ │ │ │ │ ├── ioArgoprojEventsV1alpha1SensorList.ts │ │ │ │ │ ├── ioArgoprojWorkflowV1alpha1ArtifactResultNodeStatus.ts │ │ │ │ │ ├── ioK8sApiCoreV1GRPCAction.ts │ │ │ │ │ ├── streamResultOfIoArgoprojWorkflowV1alpha1LogEntry.ts │ │ │ │ │ └── ioArgoprojWorkflowV1alpha1WorkflowEventBindingSpec.ts │ │ │ │ └── .openapi-generator-ignore │ │ │ └── index.ts │ │ ├── setupTests.ts │ │ ├── routes.ts │ │ ├── components │ │ │ ├── Overview │ │ │ │ └── index.ts │ │ │ └── utils.ts │ │ ├── index.ts │ │ └── plugin.test.ts │ ├── .eslintrc.js │ ├── config.d.ts │ ├── dev │ │ └── index.tsx │ └── README.md ├── cnoe-ui │ ├── src │ │ ├── setupTests.ts │ │ ├── components │ │ │ ├── themes │ │ │ │ ├── index.ts │ │ │ │ ├── dark-theme.ts │ │ │ │ └── light-theme.ts │ │ │ └── logos │ │ │ │ └── index.tsx │ │ ├── routes.ts │ │ ├── index.ts │ │ ├── plugin.test.ts │ │ └── plugin.ts │ ├── .eslintrc.js │ ├── dev │ │ └── index.tsx │ ├── README.md │ └── package.json ├── terraform │ ├── src │ │ ├── setupTests.ts │ │ ├── components │ │ │ ├── RootComponent │ │ │ │ ├── index.ts │ │ │ │ └── RootComponent.tsx │ │ │ ├── MainPageComponent │ │ │ │ ├── index.ts │ │ │ │ ├── MainPageComponent.tsx │ │ │ │ └── MainPageComponent.test.tsx │ │ │ └── MainPageFetchComponent │ │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── routes.ts │ │ ├── plugin.test.ts │ │ ├── consts.ts │ │ └── api │ │ │ └── index.ts │ ├── .eslintrc.js │ ├── images │ │ └── terraform.png │ ├── dev │ │ └── index.tsx │ └── package.json ├── apache-spark │ ├── src │ │ ├── components │ │ │ ├── Overview │ │ │ │ ├── index.ts │ │ │ │ └── Overview.tsx │ │ │ └── utils.ts │ │ ├── setupTests.ts │ │ ├── index.ts │ │ ├── routes.ts │ │ ├── plugin.test.ts │ │ ├── consts.ts │ │ └── plugin.ts │ ├── .eslintrc.js │ ├── dev │ │ └── index.tsx │ └── README.md └── README.md ├── .eslintrc.js ├── .prettierignore ├── examples ├── template │ └── content │ │ ├── index.js │ │ ├── package.json │ │ └── catalog-info.yaml ├── org.yaml ├── k8s-apply │ ├── skeleton │ │ └── cm.yaml │ ├── template.yaml │ ├── template-manifest-object.yaml │ └── template-manifest-string.yaml └── entities.yaml ├── .dockerignore ├── lerna.json ├── tsconfig.json ├── catalog-info.yaml ├── .github └── workflows │ └── pr.yaml ├── .gitignore └── cnoe-wrapper.sh /.eslintignore: -------------------------------------------------------------------------------- 1 | playwright.config.ts 2 | -------------------------------------------------------------------------------- /packages/app/.eslintignore: -------------------------------------------------------------------------------- 1 | public 2 | -------------------------------------------------------------------------------- /backstage.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.28.4" 3 | } 4 | -------------------------------------------------------------------------------- /plugins/terraform-backend/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | }; 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist 2 | dist-types 3 | coverage 4 | .vscode 5 | -------------------------------------------------------------------------------- /packages/app/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | import '@testing-library/jest-dom'; 2 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 6.6.0 -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | import '@testing-library/jest-dom'; 2 | -------------------------------------------------------------------------------- /packages/app/src/components/Root/index.ts: -------------------------------------------------------------------------------- 1 | export { Root } from './Root'; 2 | -------------------------------------------------------------------------------- /plugins/terraform/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | import '@testing-library/jest-dom'; 2 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | import '@testing-library/jest-dom'; 2 | -------------------------------------------------------------------------------- /examples/template/content/index.js: -------------------------------------------------------------------------------- 1 | console.log('Hello from ${{ values.name }}!'); 2 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/components/Overview/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Overview'; 2 | -------------------------------------------------------------------------------- /packages/app/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /plugins/terraform/src/components/RootComponent/index.ts: -------------------------------------------------------------------------------- 1 | export { RootComponent } from './RootComponent'; -------------------------------------------------------------------------------- /packages/app/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); 2 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/.gitignore: -------------------------------------------------------------------------------- 1 | wwwroot/*.js 2 | node_modules 3 | typings 4 | dist 5 | -------------------------------------------------------------------------------- /packages/backend/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); 2 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | import '@testing-library/jest-dom'; 2 | import 'cross-fetch/polyfill'; 3 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); 2 | -------------------------------------------------------------------------------- /plugins/terraform/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); 2 | -------------------------------------------------------------------------------- /plugins/apache-spark/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); 2 | -------------------------------------------------------------------------------- /plugins/argo-workflows/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); 2 | -------------------------------------------------------------------------------- /plugins/terraform/src/components/MainPageComponent/index.ts: -------------------------------------------------------------------------------- 1 | export { MainPageComponent } from './MainPageComponent'; -------------------------------------------------------------------------------- /plugins/terraform/src/index.ts: -------------------------------------------------------------------------------- 1 | export {isTerraformAvailable, terraformPlugin, TerraformPluginPage} from './plugin'; -------------------------------------------------------------------------------- /packages/app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cnoe-io/backstage-app/HEAD/packages/app/public/favicon.ico -------------------------------------------------------------------------------- /plugins/apache-spark/src/index.ts: -------------------------------------------------------------------------------- 1 | export {apacheSparkPlugin, ApacheSparkPage, isApacheSparkAvailable} from './plugin'; 2 | -------------------------------------------------------------------------------- /plugins/terraform-backend/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); 2 | -------------------------------------------------------------------------------- /packages/app/public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cnoe-io/backstage-app/HEAD/packages/app/public/favicon-16x16.png -------------------------------------------------------------------------------- /packages/app/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cnoe-io/backstage-app/HEAD/packages/app/public/favicon-32x32.png -------------------------------------------------------------------------------- /plugins/terraform/images/terraform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cnoe-io/backstage-app/HEAD/plugins/terraform/images/terraform.png -------------------------------------------------------------------------------- /plugins/terraform/src/components/MainPageFetchComponent/index.ts: -------------------------------------------------------------------------------- 1 | export { MainPageFetchComponent } from './MainPageFetchComponent'; -------------------------------------------------------------------------------- /examples/template/content/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${{ values.name }}", 3 | "private": true, 4 | "dependencies": {} 5 | } 6 | -------------------------------------------------------------------------------- /packages/app/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cnoe-io/backstage-app/HEAD/packages/app/public/apple-touch-icon.png -------------------------------------------------------------------------------- /plugins/terraform-backend/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './service/router'; 2 | export { terraformPlugin as default } from './plugin'; 3 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | dist-types 2 | node_modules 3 | packages/*/dist 4 | packages/*/node_modules 5 | plugins/*/dist 6 | plugins/*/node_modules 7 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/components/themes/index.ts: -------------------------------------------------------------------------------- 1 | export {cnoeDarkTheme} from './dark-theme'; 2 | export {cnoeLightTheme} from './light-theme'; 3 | -------------------------------------------------------------------------------- /packages/app/public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cnoe-io/backstage-app/HEAD/packages/app/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/api.ts: -------------------------------------------------------------------------------- 1 | // This is the entrypoint for the package 2 | export * from './api/apis'; 3 | export * from './model/models'; -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/components/logos/index.tsx: -------------------------------------------------------------------------------- 1 | export {LogoFull} from './LogoFull'; 2 | export {LogoIcon} from './LogoIcon'; 3 | export {LogoBig} from './LogoBig'; 4 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/routes.ts: -------------------------------------------------------------------------------- 1 | import {createRouteRef} from '@backstage/core-plugin-api'; 2 | 3 | export const rootRouteRef = createRouteRef({ 4 | id: 'cnoe-ui', 5 | }); 6 | -------------------------------------------------------------------------------- /plugins/terraform/src/routes.ts: -------------------------------------------------------------------------------- 1 | import { createRouteRef } from '@backstage/core-plugin-api'; 2 | 3 | export const rootRouteRef = createRouteRef({ 4 | id: 'terraform', 5 | }); 6 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": ["packages/*", "plugins/*"], 3 | "npmClient": "yarn", 4 | "version": "0.1.0", 5 | "$schema": "node_modules/lerna/schemas/lerna-schema.json" 6 | } 7 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/routes.ts: -------------------------------------------------------------------------------- 1 | import { createRouteRef } from '@backstage/core-plugin-api'; 2 | 3 | export const rootRouteRef = createRouteRef({ 4 | id: 'apache-spark', 5 | }); 6 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components/themes'; 2 | export {LogoFull, LogoIcon} from './components/logos'; 3 | export {CNOEHomepage} from './components/Homepage'; 4 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/routes.ts: -------------------------------------------------------------------------------- 1 | import { createRouteRef } from '@backstage/core-plugin-api'; 2 | 3 | export const rootRouteRef = createRouteRef({ 4 | id: 'argo-workflows', 5 | }); 6 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/components/Overview/index.ts: -------------------------------------------------------------------------------- 1 | export { 2 | ArgoWorkflowsOverviewPage, 3 | ArgoWorkflowsOverviewCard, 4 | ArgoWorkflowsTemplatesOverviewCard, 5 | } from './Overview'; 6 | -------------------------------------------------------------------------------- /plugins/terraform/src/plugin.test.ts: -------------------------------------------------------------------------------- 1 | import { terraformPlugin } from './plugin'; 2 | 3 | describe('terraform', () => { 4 | it('should export plugin', () => { 5 | expect(terraformPlugin).toBeDefined(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /examples/template/content/catalog-info.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: backstage.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: ${{ values.name | dump }} 5 | spec: 6 | type: service 7 | owner: user:guest 8 | lifecycle: experimental 9 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/index.ts: -------------------------------------------------------------------------------- 1 | export { 2 | argoWorkflowsPlugin, 3 | ArgoWorkflowsPage, 4 | EntityArgoWorkflowsOverviewCard, 5 | EntityArgoWorkflowsTemplateOverviewCard, 6 | isArgoWorkflowsAvailable, 7 | } from "./plugin"; 8 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/plugin.test.ts: -------------------------------------------------------------------------------- 1 | // import { cnoeUiPlugin } from './plugin'; 2 | // 3 | // describe('cnoe-ui', () => { 4 | // it('should export plugin', () => { 5 | // expect(cnoeUiPlugin).toBeDefined(); 6 | // }); 7 | // }); 8 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/plugin.test.ts: -------------------------------------------------------------------------------- 1 | import { argoWorkflowsPlugin } from './plugin'; 2 | 3 | describe('argo-workflows', () => { 4 | it('should export plugin', () => { 5 | expect(argoWorkflowsPlugin).toBeDefined(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /packages/app/src/index.tsx: -------------------------------------------------------------------------------- 1 | import '@backstage/cli/asset-types'; 2 | import React from 'react'; 3 | import ReactDOM from 'react-dom/client'; 4 | import App from './App'; 5 | 6 | ReactDOM.createRoot(document.getElementById('root')!).render(); 7 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/plugin.test.ts: -------------------------------------------------------------------------------- 1 | // import { apacheSparkPlugin } from './plugin'; 2 | // 3 | // describe('apache-spark', () => { 4 | // it('should export plugin', () => { 5 | // expect(apacheSparkPlugin).toBeDefined(); 6 | // }); 7 | // }); 8 | -------------------------------------------------------------------------------- /packages/backend/src/index.test.ts: -------------------------------------------------------------------------------- 1 | import { PluginEnvironment } from './types'; 2 | 3 | describe('test', () => { 4 | it('unbreaks the test runner', () => { 5 | const unbreaker = {} as PluginEnvironment; 6 | expect(unbreaker).toBeTruthy(); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/consts.ts: -------------------------------------------------------------------------------- 1 | export const APACHE_SPARK_LABEL_SELECTOR_ANNOTATION = 2 | 'apache-spark.cnoe.io/label-selector'; 3 | export const CLUSTER_NAME_ANNOTATION = 'apache-spark.cnoe.io/cluster-name'; 4 | export const K8S_NAMESPACE_ANNOTATION = 'backstage.io/kubernetes-namespace'; 5 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@backstage/cli/config/tsconfig.json", 3 | "include": [ 4 | "packages/*/src", 5 | "plugins/*/src", 6 | "plugins/*/dev", 7 | "plugins/*/migrations" 8 | ], 9 | "exclude": ["node_modules"], 10 | "compilerOptions": { 11 | "outDir": "dist-types", 12 | "rootDir": "." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /plugins/argo-workflows/config.d.ts: -------------------------------------------------------------------------------- 1 | export interface Config { 2 | /** Optional configurations for the Argo Workflows plugin 3 | * @visibility frontend 4 | */ 5 | argoWorkflows?: { 6 | /** 7 | * The base url of the Argo Workflows installation. 8 | * @visibility frontend 9 | */ 10 | baseUrl: string; 11 | }; 12 | } 13 | -------------------------------------------------------------------------------- /plugins/terraform-backend/dev/index.ts: -------------------------------------------------------------------------------- 1 | import { createBackend } from '@backstage/backend-defaults'; 2 | 3 | const backend = createBackend(); 4 | 5 | backend.add(import('@backstage/plugin-auth-backend')); 6 | backend.add(import('@backstage/plugin-auth-backend-module-guest-provider')); 7 | backend.add(import('../src')); 8 | 9 | backend.start(); 10 | -------------------------------------------------------------------------------- /packages/app/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Backstage", 3 | "name": "Backstage", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "48x48", 8 | "type": "image/png" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/dev/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { createDevApp } from '@backstage/dev-utils'; 3 | import { cnoeFrontendPlugin, CNOEHomepage } from '../src/plugin'; 4 | 5 | createDevApp() 6 | .registerPlugin(cnoeFrontendPlugin) 7 | .addPage({ 8 | element: , 9 | title: 'Root Page', 10 | path: '/cnoe-ui' 11 | }) 12 | .render(); 13 | -------------------------------------------------------------------------------- /plugins/terraform/src/components/MainPageComponent/MainPageComponent.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | // import { 4 | // Header, 5 | // Page, 6 | // Content, 7 | // } from '@backstage/core-components'; 8 | import { MainPageFetchComponent } from '../MainPageFetchComponent'; 9 | 10 | export const MainPageComponent = () => ( 11 | 12 | ); -------------------------------------------------------------------------------- /plugins/terraform/src/consts.ts: -------------------------------------------------------------------------------- 1 | export const TERRAFORM_S3_BUCKET = "terraform.cnoe.io/s3-bucket" 2 | export const TERRAFORM_S3_PREFIX = "terraform.cnoe.io/s3-prefix" 3 | export const TERRAFORM_LOCAL_PATH = "terraform.cnoe.io/local-filepath" 4 | export const TERRAFORM_SECRET_NAME = "terraform.cnoe.io/secret-name" 5 | export const TERRAFORM_SECRET_NAMESPACE = "terraform.cnoe.io/secret-namespace" -------------------------------------------------------------------------------- /plugins/apache-spark/dev/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { createDevApp } from '@backstage/dev-utils'; 3 | import { apacheSparkPlugin, ApacheSparkPage } from '../src/plugin'; 4 | 5 | createDevApp() 6 | .registerPlugin(apacheSparkPlugin) 7 | .addPage({ 8 | element: , 9 | title: 'Root Page', 10 | path: '/apache-spark' 11 | }) 12 | .render(); 13 | -------------------------------------------------------------------------------- /plugins/terraform/dev/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { createDevApp } from '@backstage/dev-utils'; 3 | import { terraformPlugin, TerraformPluginPage } from '../src/plugin'; 4 | 5 | createDevApp() 6 | .registerPlugin(terraformPlugin) 7 | .addPage({ 8 | element: , 9 | title: 'Root Page', 10 | path: '/terraform' 11 | }) 12 | .render(); 13 | -------------------------------------------------------------------------------- /plugins/argo-workflows/dev/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { createDevApp } from '@backstage/dev-utils'; 3 | import { argoWorkflowsPlugin, ArgoWorkflowsPage } from '../src/plugin'; 4 | 5 | createDevApp() 6 | .registerPlugin(argoWorkflowsPlugin) 7 | .addPage({ 8 | element: , 9 | title: 'Root Page', 10 | path: '/argo-workflows' 11 | }) 12 | .render(); 13 | -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | # The Plugins Folder 2 | 3 | This is where your own plugins and their associated modules live, each in a 4 | separate folder of its own. 5 | 6 | If you want to create a new plugin here, go to your project root directory, run 7 | the command `yarn new`, and follow the on-screen instructions. 8 | 9 | You can also check out existing plugins on [the plugin marketplace](https://backstage.io/plugins)! 10 | -------------------------------------------------------------------------------- /catalog-info.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: backstage.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: backstage-idpbuilder 5 | description: An example of a Backstage application. 6 | # Example for optional annotations 7 | # annotations: 8 | # github.com/project-slug: backstage/backstage 9 | # backstage.io/techdocs-ref: dir:. 10 | spec: 11 | type: website 12 | owner: john@example.com 13 | lifecycle: experimental 14 | -------------------------------------------------------------------------------- /packages/backend/src/plugins/proxy.ts: -------------------------------------------------------------------------------- 1 | import { createRouter } from '@backstage/plugin-proxy-backend'; 2 | import { Router } from 'express'; 3 | import { PluginEnvironment } from '../types'; 4 | 5 | export default async function createPlugin( 6 | env: PluginEnvironment, 7 | ): Promise { 8 | return await createRouter({ 9 | logger: env.logger, 10 | config: env.config, 11 | discovery: env.discovery, 12 | }); 13 | } 14 | -------------------------------------------------------------------------------- /packages/README.md: -------------------------------------------------------------------------------- 1 | # The Packages Folder 2 | 3 | This is where your own applications and centrally managed libraries live, each 4 | in a separate folder of its own. 5 | 6 | From the start there's an `app` folder (for the frontend) and a `backend` folder 7 | (for the Node backend), but you can also add more modules in here that house 8 | your core additions and adaptations, such as themes, common React component 9 | libraries, utilities, and similar. 10 | -------------------------------------------------------------------------------- /plugins/terraform/src/components/RootComponent/RootComponent.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Routes, Route } from "react-router-dom"; 3 | import { MainPageComponent } from "../MainPageComponent"; 4 | 5 | export const RootComponent = () => { 6 | return ( 7 | 8 | {/* myPlugin.routes.root will take the user to this page */} 9 | } /> 10 | 11 | ); 12 | }; -------------------------------------------------------------------------------- /examples/org.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # https://backstage.io/docs/features/software-catalog/descriptor-format#kind-user 3 | apiVersion: backstage.io/v1alpha1 4 | kind: User 5 | metadata: 6 | name: guest 7 | spec: 8 | memberOf: [guests] 9 | --- 10 | # https://backstage.io/docs/features/software-catalog/descriptor-format#kind-group 11 | apiVersion: backstage.io/v1alpha1 12 | kind: Group 13 | metadata: 14 | name: guests 15 | spec: 16 | type: team 17 | children: [] 18 | -------------------------------------------------------------------------------- /.github/workflows/pr.yaml: -------------------------------------------------------------------------------- 1 | name: PR 2 | 3 | on: 4 | pull_request: 5 | types: [opened, ready_for_review, synchronize] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-22.04 10 | steps: 11 | - name: Checkout repository 12 | uses: actions/checkout@v4 13 | - uses: actions/setup-node@v4 14 | with: 15 | node-version: 18 16 | - name: Run tests 17 | run: | 18 | yarn install --frozen-lockfile --network-timeout 600000 19 | yarn tsc 20 | -------------------------------------------------------------------------------- /examples/k8s-apply/skeleton/cm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: game-demo 5 | data: 6 | # property-like keys; each key maps to a simple value 7 | player_initial_lives: "3" 8 | ui_properties_file_name: "user-interface.properties" 9 | 10 | # file-like keys 11 | game.properties: | 12 | enemy.types=aliens,monsters 13 | player.maximum-lives=5 14 | user-interface.properties: | 15 | color.good=purple 16 | color.bad=yellow 17 | allow.textmode=true 18 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/components/Overview/Overview.tsx: -------------------------------------------------------------------------------- 1 | import { Content, Header, HeaderLabel, Page } from '@backstage/core-components'; 2 | import { ApacheSparkOverviewTable } from '../ApacheSparkOverviewTable/ApacheSparkOverviewTable'; 3 | import React from 'react'; 4 | 5 | export const ApacheSparkOverviewPage = () => ( 6 | 7 |
8 | 9 |
10 | 11 | 12 | 13 |
14 | ); 15 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/README.md: -------------------------------------------------------------------------------- 1 | # cnoe-ui 2 | 3 | Welcome to the cnoe-ui plugin! 4 | 5 | _This plugin was created through the Backstage CLI_ 6 | 7 | ## Getting started 8 | 9 | Your plugin has been added to the example app in this repository, meaning you'll be able to access it by running `yarn start` in the root directory, and then navigating to [/cnoe-ui](http://localhost:3000/cnoe-ui). 10 | 11 | You can also serve the plugin in isolation by running `yarn start` in the plugin directory. 12 | This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads. 13 | It is only meant for local development, and the setup for it can be found inside the [/dev](./dev) directory. 14 | -------------------------------------------------------------------------------- /plugins/apache-spark/README.md: -------------------------------------------------------------------------------- 1 | # apache-spark 2 | 3 | Welcome to the apache-spark plugin! 4 | 5 | _This plugin was created through the Backstage CLI_ 6 | 7 | ## Getting started 8 | 9 | Your plugin has been added to the example app in this repository, meaning you'll be able to access it by running `yarn start` in the root directory, and then navigating to [/apache-spark](http://localhost:3000/apache-spark). 10 | 11 | You can also serve the plugin in isolation by running `yarn start` in the plugin directory. 12 | This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads. 13 | It is only meant for local development, and the setup for it can be found inside the [/dev](./dev) directory. 14 | -------------------------------------------------------------------------------- /plugins/argo-workflows/README.md: -------------------------------------------------------------------------------- 1 | # argo-workflows 2 | 3 | Welcome to the argo-workflows plugin! 4 | 5 | _This plugin was created through the Backstage CLI_ 6 | 7 | ## Getting started 8 | 9 | Your plugin has been added to the example app in this repository, meaning you'll be able to access it by running `yarn start` in the root directory, and then navigating to [/argo-workflows](http://localhost:3000/argo-workflows). 10 | 11 | You can also serve the plugin in isolation by running `yarn start` in the plugin directory. 12 | This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads. 13 | It is only meant for local development, and the setup for it can be found inside the [/dev](./dev) directory. 14 | -------------------------------------------------------------------------------- /plugins/terraform-backend/README.md: -------------------------------------------------------------------------------- 1 | # terraform 2 | 3 | Welcome to the terraform backend plugin! 4 | 5 | _This plugin was created through the Backstage CLI_ 6 | 7 | ## Getting started 8 | 9 | Your plugin has been added to the example app in this repository, meaning you'll be able to access it by running `yarn 10 | start` in the root directory, and then navigating to [/terraformPlugin/health](http://localhost:7007/api/terraformv2Plugin/health). 11 | 12 | You can also serve the plugin in isolation by running `yarn start` in the plugin directory. 13 | This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads. 14 | It is only meant for local development, and the setup for it can be found inside the [/dev](/dev) directory. 15 | -------------------------------------------------------------------------------- /plugins/terraform/src/api/index.ts: -------------------------------------------------------------------------------- 1 | import { createApiRef } from "@backstage/core-plugin-api"; 2 | 3 | export { Terraform } from "./Terraform"; 4 | 5 | export const TerraformApiRef = createApiRef({ 6 | id: "plugin.terraform", 7 | }); 8 | export interface TerraformApi { 9 | 10 | getSecret( 11 | clusterName: string | undefined, 12 | namespace: string | undefined, 13 | secretName: string, 14 | ): Promise; 15 | 16 | deflate( 17 | tfState:string 18 | ): Promise; 19 | 20 | s3GetFileList( 21 | Bucket:string, 22 | Prefix:string 23 | ): Promise; 24 | 25 | localGetFileList( 26 | FileLocation:string 27 | ): Promise; 28 | 29 | getTFStateFile( 30 | Bucket:string, 31 | file:any 32 | ): Promise; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /packages/app/src/App.test.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { render, waitFor } from '@testing-library/react'; 3 | import App from './App'; 4 | 5 | describe('App', () => { 6 | it('should render', async () => { 7 | process.env = { 8 | NODE_ENV: 'test', 9 | APP_CONFIG: [ 10 | { 11 | data: { 12 | app: { title: 'Test' }, 13 | backend: { baseUrl: 'http://localhost:7007' }, 14 | techdocs: { 15 | storageUrl: 'http://localhost:7007/api/techdocs/static/docs', 16 | }, 17 | }, 18 | context: 'test', 19 | }, 20 | ] as any, 21 | }; 22 | 23 | const rendered = render(); 24 | 25 | await waitFor(() => { 26 | expect(rendered.baseElement).toBeInTheDocument(); 27 | }); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/index.ts: -------------------------------------------------------------------------------- 1 | import { createApiRef } from '@backstage/core-plugin-api'; 2 | 3 | import { 4 | IoArgoprojWorkflowV1alpha1WorkflowList, 5 | IoArgoprojWorkflowV1alpha1WorkflowTemplateList, 6 | } from './generated/api'; 7 | 8 | export { ArgoWorkflows } from './ArgoWorkflows'; 9 | 10 | export const argoWorkflowsApiRef = createApiRef({ 11 | id: 'plugin.argoworkflows', 12 | }); 13 | export interface ArgoWorkflowsApi { 14 | getWorkflows( 15 | clusterName: string | undefined, 16 | namespace: string | undefined, 17 | labels: string | undefined, 18 | ): Promise; 19 | getWorkflowTemplates( 20 | clusterName: string | undefined, 21 | namespace: string | undefined, 22 | labels: string | undefined, 23 | ): Promise; 24 | } -------------------------------------------------------------------------------- /packages/backend/src/types.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from 'winston'; 2 | import { Config } from '@backstage/config'; 3 | import { 4 | PluginCacheManager, 5 | PluginDatabaseManager, 6 | PluginEndpointDiscovery, 7 | TokenManager, 8 | UrlReader, 9 | } from '@backstage/backend-common'; 10 | import { PluginTaskScheduler } from '@backstage/backend-tasks'; 11 | import { PermissionEvaluator } from '@backstage/plugin-permission-common'; 12 | import { IdentityApi } from '@backstage/plugin-auth-node'; 13 | 14 | export type PluginEnvironment = { 15 | logger: Logger; 16 | database: PluginDatabaseManager; 17 | cache: PluginCacheManager; 18 | config: Config; 19 | reader: UrlReader; 20 | discovery: PluginEndpointDiscovery; 21 | tokenManager: TokenManager; 22 | scheduler: PluginTaskScheduler; 23 | permissions: PermissionEvaluator; 24 | identity: IdentityApi; 25 | }; 26 | -------------------------------------------------------------------------------- /examples/k8s-apply/template.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: scaffolder.backstage.io/v1beta3 2 | kind: Template 3 | metadata: 4 | name: deploy-resources 5 | title: Deploy Resources 6 | description: Deploy Resource to Kubernetes 7 | spec: 8 | owner: guest 9 | type: service 10 | # these are the steps which are rendered in the frontend with the form input 11 | parameters: 12 | - title: file name 13 | properties: 14 | path: 15 | type: string 16 | description: file name 17 | default: cm.yaml 18 | steps: 19 | - id: template 20 | name: Generating component 21 | action: fetch:template 22 | input: 23 | url: ./skeleton 24 | - id: apply 25 | name: apply-manifest 26 | action: cnoe:kubernetes:apply 27 | input: 28 | namespaced: true 29 | manifestPath: cm.yaml 30 | clusterName: local 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # macOS 2 | .DS_Store 3 | 4 | # Logs 5 | logs 6 | *.log 7 | npm-debug.log* 8 | yarn-debug.log* 9 | yarn-error.log* 10 | lerna-debug.log* 11 | 12 | # Coverage directory generated when running tests with coverage 13 | coverage 14 | 15 | # Dependencies 16 | node_modules/ 17 | 18 | # Yarn 3 files 19 | .pnp.* 20 | .yarn/* 21 | !.yarn/patches 22 | !.yarn/plugins 23 | !.yarn/releases 24 | !.yarn/sdks 25 | !.yarn/versions 26 | 27 | # Node version directives 28 | .nvmrc 29 | 30 | # dotenv environment variables file 31 | .env 32 | .env.test 33 | 34 | # Build output 35 | dist 36 | dist-types 37 | 38 | # Temporary change files created by Vim 39 | *.swp 40 | 41 | # MkDocs build output 42 | site 43 | 44 | # Local configuration files 45 | *.local.yaml 46 | 47 | # Sensitive credentials 48 | *-credentials.yaml 49 | 50 | # vscode database functionality support files 51 | *.session.sql 52 | 53 | # E2E test reports 54 | e2e-test-report/ 55 | -------------------------------------------------------------------------------- /packages/app/e2e-tests/app.test.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 The Backstage Authors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { test, expect } from '@playwright/test'; 18 | 19 | test('App should render the welcome page', async ({ page }) => { 20 | await page.goto('/'); 21 | 22 | await expect(page.getByText('My Company Catalog')).toBeVisible(); 23 | }); 24 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/components/utils.ts: -------------------------------------------------------------------------------- 1 | import {Entity} from '@backstage/catalog-model'; 2 | import { 3 | APACHE_SPARK_LABEL_SELECTOR_ANNOTATION, 4 | CLUSTER_NAME_ANNOTATION, 5 | K8S_NAMESPACE_ANNOTATION, 6 | } from '../consts'; 7 | 8 | export type getAnnotationValuesOutput = { 9 | ns: string; 10 | clusterName?: string; 11 | labelSelector?: string; 12 | }; 13 | 14 | export function getAnnotationValues(entity: Entity): getAnnotationValuesOutput { 15 | const ns = 16 | entity.metadata.annotations?.[K8S_NAMESPACE_ANNOTATION] !== undefined 17 | ? entity.metadata.annotations?.[K8S_NAMESPACE_ANNOTATION] 18 | : 'default'; 19 | const clusterName = entity.metadata.annotations?.[CLUSTER_NAME_ANNOTATION]; 20 | const labelSelector = entity.metadata?.annotations?.[APACHE_SPARK_LABEL_SELECTOR_ANNOTATION] 21 | return { 22 | ns: ns, 23 | clusterName: clusterName, 24 | labelSelector: labelSelector, 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /plugins/terraform/src/components/MainPageComponent/MainPageComponent.test.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { MainPageComponent } from './MainPageComponent'; 3 | import { rest } from 'msw'; 4 | import { setupServer } from 'msw/node'; 5 | import { screen } from '@testing-library/react'; 6 | import { 7 | setupRequestMockHandlers, 8 | renderInTestApp, 9 | } from "@backstage/test-utils"; 10 | 11 | describe('MainPageComponent', () => { 12 | const server = setupServer(); 13 | // Enable sane handlers for network requests 14 | setupRequestMockHandlers(server); 15 | 16 | // setup mock response 17 | beforeEach(() => { 18 | server.use( 19 | rest.get('/*', (_, res, ctx) => res(ctx.status(200), ctx.json({}))), 20 | ); 21 | }); 22 | 23 | it('should render', async () => { 24 | await renderInTestApp(); 25 | expect(screen.getByText('Terraform')).toBeInTheDocument(); 26 | }); 27 | }); -------------------------------------------------------------------------------- /plugins/terraform-backend/src/plugin.ts: -------------------------------------------------------------------------------- 1 | import { 2 | coreServices, 3 | createBackendPlugin, 4 | } from '@backstage/backend-plugin-api'; 5 | import { createRouter } from './service/router'; 6 | 7 | /** 8 | * terraformPlugin backend plugin 9 | * 10 | * @public 11 | */ 12 | export const terraformPlugin = createBackendPlugin({ 13 | pluginId: 'terraform', 14 | register(env) { 15 | env.registerInit({ 16 | deps: { 17 | httpRouter: coreServices.httpRouter, 18 | logger: coreServices.logger, 19 | config: coreServices.rootConfig, 20 | }, 21 | async init({ 22 | httpRouter, 23 | logger, 24 | config, 25 | }) { 26 | httpRouter.addAuthPolicy({ 27 | path: '/health', 28 | allow: 'unauthenticated', 29 | }); 30 | 31 | httpRouter.use(await createRouter({ 32 | config, 33 | logger, 34 | })); 35 | }, 36 | }); 37 | }, 38 | }); 39 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/plugin.ts: -------------------------------------------------------------------------------- 1 | import {createPlugin, createComponentExtension} from '@backstage/core-plugin-api'; 2 | 3 | import {rootRouteRef} from './routes'; 4 | 5 | export const cnoeFrontendPlugin = createPlugin({ 6 | id: 'cnoe-ui-plugin', 7 | routes: { 8 | root: rootRouteRef, 9 | }, 10 | }); 11 | 12 | export const AWSLogoFull = cnoeFrontendPlugin 13 | .provide( 14 | createComponentExtension({ 15 | name: 'LogoFull', 16 | component: {lazy: () => import('./components/logos/LogoFull').then(m => m.LogoFull)}, 17 | }), 18 | ); 19 | 20 | export const AWSLogoIcon = cnoeFrontendPlugin 21 | .provide( 22 | createComponentExtension({ 23 | name: 'LogoIcon', 24 | component: {lazy: () => import('./components/logos/LogoIcon').then(m => m.LogoIcon)}, 25 | }), 26 | ); 27 | 28 | export const CNOEHomepage = cnoeFrontendPlugin 29 | .provide( 30 | createComponentExtension({ 31 | name: 'Homepage', 32 | component: { 33 | lazy: () => import('./components/Homepage').then(m => m.CNOEHomepage), 34 | }, 35 | }), 36 | ); 37 | -------------------------------------------------------------------------------- /examples/entities.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # https://backstage.io/docs/features/software-catalog/descriptor-format#kind-system 3 | apiVersion: backstage.io/v1alpha1 4 | kind: System 5 | metadata: 6 | name: examples 7 | spec: 8 | owner: guests 9 | --- 10 | # https://backstage.io/docs/features/software-catalog/descriptor-format#kind-component 11 | apiVersion: backstage.io/v1alpha1 12 | kind: Component 13 | metadata: 14 | name: example-website 15 | spec: 16 | type: website 17 | lifecycle: experimental 18 | owner: guests 19 | system: examples 20 | providesApis: [example-grpc-api] 21 | --- 22 | # https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api 23 | apiVersion: backstage.io/v1alpha1 24 | kind: API 25 | metadata: 26 | name: example-grpc-api 27 | spec: 28 | type: grpc 29 | lifecycle: experimental 30 | owner: guests 31 | system: examples 32 | definition: | 33 | syntax = "proto3"; 34 | 35 | service Exampler { 36 | rpc Example (ExampleMessage) returns (ExampleMessage) {}; 37 | } 38 | 39 | message ExampleMessage { 40 | string example = 1; 41 | }; 42 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1FileArtifact.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1FileArtifact { 17 | 'path'?: string; 18 | 19 | static discriminator: string | undefined = undefined; 20 | 21 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 22 | { 23 | "name": "path", 24 | "baseName": "path", 25 | "type": "string" 26 | } ]; 27 | 28 | static getAttributeTypeMap() { 29 | return IoArgoprojEventsV1alpha1FileArtifact.attributeTypeMap; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1StatusPolicy.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1StatusPolicy { 17 | 'allow'?: Array; 18 | 19 | static discriminator: string | undefined = undefined; 20 | 21 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 22 | { 23 | "name": "allow", 24 | "baseName": "allow", 25 | "type": "Array" 26 | } ]; 27 | 28 | static getAttributeTypeMap() { 29 | return IoArgoprojEventsV1alpha1StatusPolicy.attributeTypeMap; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /cnoe-wrapper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SERVICE_ACCOUNT_DIR="/var/run/secrets/kubernetes.io/serviceaccount" 4 | KUBERNETES_SERVICE_SCHEME=$(case $KUBERNETES_SERVICE_PORT in 80|8080|8081) echo "http";; *) echo "https"; esac) 5 | KUBERNETES_SERVER_URL="$KUBERNETES_SERVICE_SCHEME"://"$KUBERNETES_SERVICE_HOST":"$KUBERNETES_SERVICE_PORT" 6 | KUBERNETES_CLUSTER_CA_FILE="$SERVICE_ACCOUNT_DIR"/ca.crt 7 | KUBERNETES_NAMESPACE=$(cat "$SERVICE_ACCOUNT_DIR"/namespace) 8 | KUBERNETES_USER_TOKEN=$(cat "$SERVICE_ACCOUNT_DIR"/token) 9 | KUBERNETES_CONTEXT="inCluster" 10 | 11 | rm -rf "$HOME"/.kube 12 | mkdir -p "$HOME"/.kube 13 | cat << EOF > "$HOME"/.kube/config 14 | apiVersion: v1 15 | kind: Config 16 | preferences: {} 17 | current-context: $KUBERNETES_CONTEXT 18 | clusters: 19 | - cluster: 20 | server: $KUBERNETES_SERVER_URL 21 | certificate-authority: $KUBERNETES_CLUSTER_CA_FILE 22 | name: inCluster 23 | users: 24 | - name: podServiceAccount 25 | user: 26 | token: $KUBERNETES_USER_TOKEN 27 | contexts: 28 | - context: 29 | cluster: inCluster 30 | user: podServiceAccount 31 | namespace: $KUBERNETES_NAMESPACE 32 | name: $KUBERNETES_CONTEXT 33 | EOF 34 | 35 | cnoe-cli "$@" 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/.openapi-generator-ignore: -------------------------------------------------------------------------------- 1 | # OpenAPI Generator Ignore 2 | # Generated by openapi-generator https://github.com/openapitools/openapi-generator 3 | 4 | # Use this file to prevent files from being overwritten by the generator. 5 | # The patterns follow closely to .gitignore or .dockerignore. 6 | 7 | # As an example, the C# client generator defines ApiClient.cs. 8 | # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: 9 | #ApiClient.cs 10 | 11 | # You can match any string of characters against a directory, file or extension with a single asterisk (*): 12 | #foo/*/qux 13 | # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux 14 | 15 | # You can recursively match patterns against a directory, file or extension with a double asterisk (**): 16 | #foo/**/qux 17 | # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux 18 | 19 | # You can also negate patterns with an exclamation (!). 20 | # For example, you can ignore all files in a docs folder with the file extension .md: 21 | #docs/*.md 22 | # Then explicitly reverse the ignore rule for a single file: 23 | #!docs/README.md 24 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1LogTrigger.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1LogTrigger { 17 | 'intervalSeconds'?: string; 18 | 19 | static discriminator: string | undefined = undefined; 20 | 21 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 22 | { 23 | "name": "intervalSeconds", 24 | "baseName": "intervalSeconds", 25 | "type": "string" 26 | } ]; 27 | 28 | static getAttributeTypeMap() { 29 | return IoArgoprojEventsV1alpha1LogTrigger.attributeTypeMap; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1CollectEventRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1CollectEventRequest { 17 | 'name'?: string; 18 | 19 | static discriminator: string | undefined = undefined; 20 | 21 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 22 | { 23 | "name": "name", 24 | "baseName": "name", 25 | "type": "string" 26 | } ]; 27 | 28 | static getAttributeTypeMap() { 29 | return IoArgoprojWorkflowV1alpha1CollectEventRequest.attributeTypeMap; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1AMQPQueueBindConfig.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1AMQPQueueBindConfig { 17 | 'noWait'?: boolean; 18 | 19 | static discriminator: string | undefined = undefined; 20 | 21 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 22 | { 23 | "name": "noWait", 24 | "baseName": "noWait", 25 | "type": "boolean" 26 | } ]; 27 | 28 | static getAttributeTypeMap() { 29 | return IoArgoprojEventsV1alpha1AMQPQueueBindConfig.attributeTypeMap; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1LabelValueFrom.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1LabelValueFrom { 17 | 'expression': string; 18 | 19 | static discriminator: string | undefined = undefined; 20 | 21 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 22 | { 23 | "name": "expression", 24 | "baseName": "expression", 25 | "type": "string" 26 | } ]; 27 | 28 | static getAttributeTypeMap() { 29 | return IoArgoprojWorkflowV1alpha1LabelValueFrom.attributeTypeMap; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1EventSourceFilter.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1EventSourceFilter { 17 | 'expression'?: string; 18 | 19 | static discriminator: string | undefined = undefined; 20 | 21 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 22 | { 23 | "name": "expression", 24 | "baseName": "expression", 25 | "type": "string" 26 | } ]; 27 | 28 | static getAttributeTypeMap() { 29 | return IoArgoprojEventsV1alpha1EventSourceFilter.attributeTypeMap; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1Amount.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Amount represent a numeric amount. 18 | */ 19 | export class IoArgoprojEventsV1alpha1Amount { 20 | 'value'?: string; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "value", 27 | "baseName": "value", 28 | "type": "string" 29 | } ]; 30 | 31 | static getAttributeTypeMap() { 32 | return IoArgoprojEventsV1alpha1Amount.attributeTypeMap; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1Resource.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Resource represent arbitrary structured data. 18 | */ 19 | export class IoArgoprojEventsV1alpha1Resource { 20 | 'value'?: string; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "value", 27 | "baseName": "value", 28 | "type": "string" 29 | } ]; 30 | 31 | static getAttributeTypeMap() { 32 | return IoArgoprojEventsV1alpha1Resource.attributeTypeMap; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1LabelKeys.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * LabelKeys is list of keys 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1LabelKeys { 20 | 'items'?: Array; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "items", 27 | "baseName": "items", 28 | "type": "Array" 29 | } ]; 30 | 31 | static getAttributeTypeMap() { 32 | return IoArgoprojWorkflowV1alpha1LabelKeys.attributeTypeMap; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1LabelValues.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Labels is list of workflow labels 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1LabelValues { 20 | 'items'?: Array; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "items", 27 | "baseName": "items", 28 | "type": "Array" 29 | } ]; 30 | 31 | static getAttributeTypeMap() { 32 | return IoArgoprojWorkflowV1alpha1LabelValues.attributeTypeMap; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1HTTPBodySource.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * HTTPBodySource contains the source of the HTTP body. 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1HTTPBodySource { 20 | 'bytes'?: string; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "bytes", 27 | "baseName": "bytes", 28 | "type": "string" 29 | } ]; 30 | 31 | static getAttributeTypeMap() { 32 | return IoArgoprojWorkflowV1alpha1HTTPBodySource.attributeTypeMap; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/googleProtobufAny.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class GoogleProtobufAny { 17 | 'typeUrl'?: string; 18 | 'value'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "typeUrl", 25 | "baseName": "type_url", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "value", 30 | "baseName": "value", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return GoogleProtobufAny.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Counter.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Counter is a Counter prometheus metric 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1Counter { 20 | /** 21 | * Value is the value of the metric 22 | */ 23 | 'value': string; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "value", 30 | "baseName": "value", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1Counter.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1TransformationStep.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1TransformationStep { 17 | /** 18 | * Expression defines an expr expression to apply 19 | */ 20 | 'expression': string; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "expression", 27 | "baseName": "expression", 28 | "type": "string" 29 | } ]; 30 | 31 | static getAttributeTypeMap() { 32 | return IoArgoprojWorkflowV1alpha1TransformationStep.attributeTypeMap; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1S3Bucket.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1S3Bucket { 17 | 'key'?: string; 18 | 'name'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "key", 25 | "baseName": "key", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "name", 30 | "baseName": "name", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1S3Bucket.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1EventSourceStatus.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1Status } from './ioArgoprojEventsV1alpha1Status'; 16 | 17 | export class IoArgoprojEventsV1alpha1EventSourceStatus { 18 | 'status'?: IoArgoprojEventsV1alpha1Status; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "status", 25 | "baseName": "status", 26 | "type": "IoArgoprojEventsV1alpha1Status" 27 | } ]; 28 | 29 | static getAttributeTypeMap() { 30 | return IoArgoprojEventsV1alpha1EventSourceStatus.attributeTypeMap; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1S3Filter.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1S3Filter { 17 | 'prefix'?: string; 18 | 'suffix'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "prefix", 25 | "baseName": "prefix", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "suffix", 30 | "baseName": "suffix", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1S3Filter.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/apache-spark/src/plugin.ts: -------------------------------------------------------------------------------- 1 | import { 2 | createApiFactory, 3 | createPlugin, 4 | createRoutableExtension, 5 | } from '@backstage/core-plugin-api'; 6 | 7 | import {rootRouteRef} from './routes'; 8 | import {apacheSparkApiRef, ApacheSparkClient} from './api'; 9 | import {kubernetesApiRef} from '@backstage/plugin-kubernetes'; 10 | import {Entity} from '@backstage/catalog-model'; 11 | 12 | import { 13 | APACHE_SPARK_LABEL_SELECTOR_ANNOTATION, 14 | } from './consts'; 15 | 16 | export const isApacheSparkAvailable = (entity: Entity) => 17 | Boolean(entity.metadata.annotations?.[APACHE_SPARK_LABEL_SELECTOR_ANNOTATION]); 18 | 19 | export const apacheSparkPlugin = createPlugin({ 20 | id: 'apache-spark', 21 | routes: { 22 | root: rootRouteRef, 23 | }, 24 | apis: [ 25 | createApiFactory({ 26 | api: apacheSparkApiRef, 27 | deps: { 28 | kubernetesApi: kubernetesApiRef, 29 | }, 30 | factory: ({kubernetesApi}) => new ApacheSparkClient(kubernetesApi), 31 | }), 32 | ], 33 | }); 34 | 35 | export const ApacheSparkPage = apacheSparkPlugin.provide( 36 | createRoutableExtension({ 37 | name: 'ApacheSparkPage', 38 | component: () => 39 | import('./components/Overview').then(m => m.ApacheSparkOverviewPage), 40 | mountPoint: rootRouteRef, 41 | }), 42 | ); 43 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Event.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1Event { 17 | /** 18 | * Selector (https://github.com/antonmedv/expr) that we must must match the io.argoproj.workflow.v1alpha1. E.g. `payload.message == \"test\"` 19 | */ 20 | 'selector': string; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "selector", 27 | "baseName": "selector", 28 | "type": "string" 29 | } ]; 30 | 31 | static getAttributeTypeMap() { 32 | return IoArgoprojWorkflowV1alpha1Event.attributeTypeMap; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ManifestFrom.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1Artifact } from './ioArgoprojWorkflowV1alpha1Artifact'; 16 | 17 | export class IoArgoprojWorkflowV1alpha1ManifestFrom { 18 | 'artifact': IoArgoprojWorkflowV1alpha1Artifact; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "artifact", 25 | "baseName": "artifact", 26 | "type": "IoArgoprojWorkflowV1alpha1Artifact" 27 | } ]; 28 | 29 | static getAttributeTypeMap() { 30 | return IoArgoprojWorkflowV1alpha1ManifestFrom.attributeTypeMap; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1LogEntry.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1LogEntry { 17 | 'content'?: string; 18 | 'podName'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "content", 25 | "baseName": "content", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "podName", 30 | "baseName": "podName", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1LogEntry.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1HTTPHeaderSource.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1SecretKeySelector } from './ioK8sApiCoreV1SecretKeySelector'; 16 | 17 | export class IoArgoprojWorkflowV1alpha1HTTPHeaderSource { 18 | 'secretKeyRef'?: IoK8sApiCoreV1SecretKeySelector; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "secretKeyRef", 25 | "baseName": "secretKeyRef", 26 | "type": "IoK8sApiCoreV1SecretKeySelector" 27 | } ]; 28 | 29 | static getAttributeTypeMap() { 30 | return IoArgoprojWorkflowV1alpha1HTTPHeaderSource.attributeTypeMap; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1RateLimit.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1RateLimit { 17 | 'requestsPerUnit'?: number; 18 | 'unit'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "requestsPerUnit", 25 | "baseName": "requestsPerUnit", 26 | "type": "number" 27 | }, 28 | { 29 | "name": "unit", 30 | "baseName": "unit", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1RateLimit.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1RawArtifact.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * RawArtifact allows raw string content to be placed as an artifact in a container 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1RawArtifact { 20 | /** 21 | * Data is the string contents of the artifact 22 | */ 23 | 'data': string; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "data", 30 | "baseName": "data", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1RawArtifact.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1StorageGridFilter.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1StorageGridFilter { 17 | 'prefix'?: string; 18 | 'suffix'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "prefix", 25 | "baseName": "prefix", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "suffix", 30 | "baseName": "suffix", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1StorageGridFilter.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1OwnedRepositories.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1OwnedRepositories { 17 | 'names'?: Array; 18 | 'owner'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "names", 25 | "baseName": "names", 26 | "type": "Array" 27 | }, 28 | { 29 | "name": "owner", 30 | "baseName": "owner", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1OwnedRepositories.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1ConditionsResetByTime.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1ConditionsResetByTime { 17 | 'cron'?: string; 18 | 'timezone'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "cron", 25 | "baseName": "cron", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "timezone", 30 | "baseName": "timezone", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1ConditionsResetByTime.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1EventDependencyTransformer.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1EventDependencyTransformer { 17 | 'jq'?: string; 18 | 'script'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "jq", 25 | "baseName": "jq", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "script", 30 | "baseName": "script", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1EventDependencyTransformer.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowSuspendRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1WorkflowSuspendRequest { 17 | 'name'?: string; 18 | 'namespace'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "name", 25 | "baseName": "name", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "namespace", 30 | "baseName": "namespace", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1WorkflowSuspendRequest.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1BitbucketRepository.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1BitbucketRepository { 17 | 'owner'?: string; 18 | 'repositorySlug'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "owner", 25 | "baseName": "owner", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "repositorySlug", 30 | "baseName": "repositorySlug", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1BitbucketRepository.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1CatchupConfiguration.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1CatchupConfiguration { 17 | 'enabled'?: boolean; 18 | 'maxDuration'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "enabled", 25 | "baseName": "enabled", 26 | "type": "boolean" 27 | }, 28 | { 29 | "name": "maxDuration", 30 | "baseName": "maxDuration", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1CatchupConfiguration.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1CronWorkflowResumeRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1CronWorkflowResumeRequest { 17 | 'name'?: string; 18 | 'namespace'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "name", 25 | "baseName": "name", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "namespace", 30 | "baseName": "namespace", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1CronWorkflowResumeRequest.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowTaskSetSpec.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1Template } from './ioArgoprojWorkflowV1alpha1Template'; 16 | 17 | export class IoArgoprojWorkflowV1alpha1WorkflowTaskSetSpec { 18 | 'tasks'?: { [key: string]: IoArgoprojWorkflowV1alpha1Template; }; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "tasks", 25 | "baseName": "tasks", 26 | "type": "{ [key: string]: IoArgoprojWorkflowV1alpha1Template; }" 27 | } ]; 28 | 29 | static getAttributeTypeMap() { 30 | return IoArgoprojWorkflowV1alpha1WorkflowTaskSetSpec.attributeTypeMap; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowTerminateRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1WorkflowTerminateRequest { 17 | 'name'?: string; 18 | 'namespace'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "name", 25 | "baseName": "name", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "namespace", 30 | "baseName": "namespace", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1WorkflowTerminateRequest.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1ConfigMapPersistence.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1ConfigMapPersistence { 17 | 'createIfNotExist'?: boolean; 18 | 'name'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "createIfNotExist", 25 | "baseName": "createIfNotExist", 26 | "type": "boolean" 27 | }, 28 | { 29 | "name": "name", 30 | "baseName": "name", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1ConfigMapPersistence.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1CronWorkflowSuspendRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1CronWorkflowSuspendRequest { 17 | 'name'?: string; 18 | 'namespace'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "name", 25 | "baseName": "name", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "namespace", 30 | "baseName": "namespace", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1CronWorkflowSuspendRequest.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1SensorStatus.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1Status } from './ioArgoprojEventsV1alpha1Status'; 16 | 17 | /** 18 | * SensorStatus contains information about the status of a sensor. 19 | */ 20 | export class IoArgoprojEventsV1alpha1SensorStatus { 21 | 'status'?: IoArgoprojEventsV1alpha1Status; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "status", 28 | "baseName": "status", 29 | "type": "IoArgoprojEventsV1alpha1Status" 30 | } ]; 31 | 32 | static getAttributeTypeMap() { 33 | return IoArgoprojEventsV1alpha1SensorStatus.attributeTypeMap; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1NodeSynchronizationStatus.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * NodeSynchronizationStatus stores the status of a node 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1NodeSynchronizationStatus { 20 | /** 21 | * Waiting is the name of the lock that this node is waiting for 22 | */ 23 | 'waiting'?: string; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "waiting", 30 | "baseName": "waiting", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1NodeSynchronizationStatus.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /examples/k8s-apply/template-manifest-object.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: scaffolder.backstage.io/v1beta3 2 | kind: Template 3 | metadata: 4 | name: deploy-resources-object 5 | title: Deploy Resources using object 6 | description: Deploy Resource to Kubernetes 7 | spec: 8 | owner: guest 9 | type: service 10 | # these are the steps which are rendered in the frontend with the form input 11 | parameters: [] 12 | steps: 13 | - id: template 14 | name: Generating component 15 | action: fetch:template 16 | input: 17 | url: ./skeleton 18 | - id: apply 19 | name: apply-manifest 20 | action: cnoe:kubernetes:apply 21 | input: 22 | namespaced: true 23 | manifestObject: 24 | apiVersion: v1 25 | kind: ConfigMap 26 | metadata: 27 | name: game-demo 28 | data: 29 | # property-like keys; each key maps to a simple value 30 | player_initial_lives: "3" 31 | ui_properties_file_name: "user-interface.properties" 32 | 33 | # file-like keys 34 | game.properties: | 35 | enemy.types=aliens,monsters 36 | player.maximum-lives=5 37 | user-interface.properties: | 38 | color.good=purple 39 | color.bad=yellow 40 | allow.textmode=true 41 | clusterName: local 42 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1ConditionsResetCriteria.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1ConditionsResetByTime } from './ioArgoprojEventsV1alpha1ConditionsResetByTime'; 16 | 17 | export class IoArgoprojEventsV1alpha1ConditionsResetCriteria { 18 | 'byTime'?: IoArgoprojEventsV1alpha1ConditionsResetByTime; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "byTime", 25 | "baseName": "byTime", 26 | "type": "IoArgoprojEventsV1alpha1ConditionsResetByTime" 27 | } ]; 28 | 29 | static getAttributeTypeMap() { 30 | return IoArgoprojEventsV1alpha1ConditionsResetCriteria.attributeTypeMap; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Cache.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1ConfigMapKeySelector } from './ioK8sApiCoreV1ConfigMapKeySelector'; 16 | 17 | /** 18 | * Cache is the configuration for the type of cache to be used 19 | */ 20 | export class IoArgoprojWorkflowV1alpha1Cache { 21 | 'configMap': IoK8sApiCoreV1ConfigMapKeySelector; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "configMap", 28 | "baseName": "configMap", 29 | "type": "IoK8sApiCoreV1ConfigMapKeySelector" 30 | } ]; 31 | 32 | static getAttributeTypeMap() { 33 | return IoArgoprojWorkflowV1alpha1Cache.attributeTypeMap; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowTaskSetStatus.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1NodeResult } from './ioArgoprojWorkflowV1alpha1NodeResult'; 16 | 17 | export class IoArgoprojWorkflowV1alpha1WorkflowTaskSetStatus { 18 | 'nodes'?: { [key: string]: IoArgoprojWorkflowV1alpha1NodeResult; }; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "nodes", 25 | "baseName": "nodes", 26 | "type": "{ [key: string]: IoArgoprojWorkflowV1alpha1NodeResult; }" 27 | } ]; 28 | 29 | static getAttributeTypeMap() { 30 | return IoArgoprojWorkflowV1alpha1WorkflowTaskSetStatus.attributeTypeMap; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1MetricLabel.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * MetricLabel is a single label for a prometheus metric 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1MetricLabel { 20 | 'key': string; 21 | 'value': string; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "key", 28 | "baseName": "key", 29 | "type": "string" 30 | }, 31 | { 32 | "name": "value", 33 | "baseName": "value", 34 | "type": "string" 35 | } ]; 36 | 37 | static getAttributeTypeMap() { 38 | return IoArgoprojWorkflowV1alpha1MetricLabel.attributeTypeMap; 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /examples/k8s-apply/template-manifest-string.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: scaffolder.backstage.io/v1beta3 2 | kind: Template 3 | metadata: 4 | name: deploy-resources-string 5 | title: Deploy Resources using literal string 6 | description: Deploy Resource to Kubernetes 7 | spec: 8 | owner: guest 9 | type: service 10 | # these are the steps which are rendered in the frontend with the form input 11 | parameters: [] 12 | steps: 13 | - id: template 14 | name: Generating component 15 | action: fetch:template 16 | input: 17 | url: ./skeleton 18 | - id: apply 19 | name: apply-manifest 20 | action: cnoe:kubernetes:apply 21 | input: 22 | namespaced: true 23 | manifestString: | 24 | apiVersion: v1 25 | kind: ConfigMap 26 | metadata: 27 | name: game-demo 28 | data: 29 | # property-like keys; each key maps to a simple value 30 | player_initial_lives: "3" 31 | ui_properties_file_name: "user-interface.properties" 32 | 33 | # file-like keys 34 | game.properties: | 35 | enemy.types=aliens,monsters 36 | player.maximum-lives=5 37 | user-interface.properties: | 38 | color.good=purple 39 | color.bad=yellow 40 | allow.textmode=true 41 | clusterName: local 42 | -------------------------------------------------------------------------------- /packages/app/public/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | Created by potrace 1.11, written by Peter Selinger 2001-2013 -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1BitbucketServerRepository.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1BitbucketServerRepository { 17 | 'projectKey'?: string; 18 | 'repositorySlug'?: string; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "projectKey", 25 | "baseName": "projectKey", 26 | "type": "string" 27 | }, 28 | { 29 | "name": "repositorySlug", 30 | "baseName": "repositorySlug", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1BitbucketServerRepository.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1Status.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1Condition } from './ioArgoprojEventsV1alpha1Condition'; 16 | 17 | /** 18 | * Status is a common structure which can be used for Status field. 19 | */ 20 | export class IoArgoprojEventsV1alpha1Status { 21 | 'conditions'?: Array; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "conditions", 28 | "baseName": "conditions", 29 | "type": "Array" 30 | } ]; 31 | 32 | static getAttributeTypeMap() { 33 | return IoArgoprojEventsV1alpha1Status.attributeTypeMap; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1CreateS3BucketOptions.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * CreateS3BucketOptions options used to determine automatic automatic bucket-creation process 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1CreateS3BucketOptions { 20 | /** 21 | * ObjectLocking Enable object locking 22 | */ 23 | 'objectLocking'?: boolean; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "objectLocking", 30 | "baseName": "objectLocking", 31 | "type": "boolean" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1CreateS3BucketOptions.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1Metadata.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1Metadata { 17 | 'annotations'?: { [key: string]: string; }; 18 | 'labels'?: { [key: string]: string; }; 19 | 20 | static discriminator: string | undefined = undefined; 21 | 22 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 23 | { 24 | "name": "annotations", 25 | "baseName": "annotations", 26 | "type": "{ [key: string]: string; }" 27 | }, 28 | { 29 | "name": "labels", 30 | "baseName": "labels", 31 | "type": "{ [key: string]: string; }" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojEventsV1alpha1Metadata.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ExecutorConfig.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * ExecutorConfig holds configurations of an executor container. 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1ExecutorConfig { 20 | /** 21 | * ServiceAccountName specifies the service account name of the executor container. 22 | */ 23 | 'serviceAccountName'?: string; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "serviceAccountName", 30 | "baseName": "serviceAccountName", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1ExecutorConfig.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/sensorSensorWatchEvent.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1Sensor } from './ioArgoprojEventsV1alpha1Sensor'; 16 | 17 | export class SensorSensorWatchEvent { 18 | 'object'?: IoArgoprojEventsV1alpha1Sensor; 19 | 'type'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "object", 26 | "baseName": "object", 27 | "type": "IoArgoprojEventsV1alpha1Sensor" 28 | }, 29 | { 30 | "name": "type", 31 | "baseName": "type", 32 | "type": "string" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return SensorSensorWatchEvent.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1URLArtifact.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * URLArtifact contains information about an artifact at an http endpoint. 18 | */ 19 | export class IoArgoprojEventsV1alpha1URLArtifact { 20 | 'path'?: string; 21 | 'verifyCert'?: boolean; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "path", 28 | "baseName": "path", 29 | "type": "string" 30 | }, 31 | { 32 | "name": "verifyCert", 33 | "baseName": "verifyCert", 34 | "type": "boolean" 35 | } ]; 36 | 37 | static getAttributeTypeMap() { 38 | return IoArgoprojEventsV1alpha1URLArtifact.attributeTypeMap; 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1DataSource.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1ArtifactPaths } from './ioArgoprojWorkflowV1alpha1ArtifactPaths'; 16 | 17 | /** 18 | * DataSource sources external data into a data template 19 | */ 20 | export class IoArgoprojWorkflowV1alpha1DataSource { 21 | 'artifactPaths'?: IoArgoprojWorkflowV1alpha1ArtifactPaths; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "artifactPaths", 28 | "baseName": "artifactPaths", 29 | "type": "IoArgoprojWorkflowV1alpha1ArtifactPaths" 30 | } ]; 31 | 32 | static getAttributeTypeMap() { 33 | return IoArgoprojWorkflowV1alpha1DataSource.attributeTypeMap; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1VolumeClaimGC.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * VolumeClaimGC describes how to delete volumes from completed Workflows 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1VolumeClaimGC { 20 | /** 21 | * Strategy is the strategy to use. One of \"OnWorkflowCompletion\", \"OnWorkflowSuccess\". Defaults to \"OnWorkflowSuccess\" 22 | */ 23 | 'strategy'?: string; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "strategy", 30 | "baseName": "strategy", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1VolumeClaimGC.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1TarStrategy.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * TarStrategy will tar and gzip the file or directory when saving 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1TarStrategy { 20 | /** 21 | * CompressionLevel specifies the gzip compression level to use for the artifact. Defaults to gzip.DefaultCompression. 22 | */ 23 | 'compressionLevel'?: number; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "compressionLevel", 30 | "baseName": "compressionLevel", 31 | "type": "number" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1TarStrategy.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1LocalObjectReference.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. 18 | */ 19 | export class IoK8sApiCoreV1LocalObjectReference { 20 | /** 21 | * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 22 | */ 23 | 'name'?: string; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "name", 30 | "baseName": "name", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoK8sApiCoreV1LocalObjectReference.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1PodDNSConfigOption.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * PodDNSConfigOption defines DNS resolver options of a pod. 18 | */ 19 | export class IoK8sApiCoreV1PodDNSConfigOption { 20 | /** 21 | * Required. 22 | */ 23 | 'name'?: string; 24 | 'value'?: string; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "name", 31 | "baseName": "name", 32 | "type": "string" 33 | }, 34 | { 35 | "name": "value", 36 | "baseName": "value", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoK8sApiCoreV1PodDNSConfigOption.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/components/themes/dark-theme.ts: -------------------------------------------------------------------------------- 1 | 2 | import { 3 | genPageTheme, 4 | shapes, 5 | createUnifiedTheme, 6 | createBaseThemeOptions, palettes, 7 | } from '@backstage/theme'; 8 | 9 | export const cnoeDarkTheme = createUnifiedTheme({ 10 | ...createBaseThemeOptions({ 11 | palette: { 12 | ...palettes.dark, 13 | primary: { 14 | main: '#25a0c2', 15 | }, 16 | secondary: { 17 | main: '#00568c', 18 | }, 19 | }, 20 | }), 21 | defaultPageTheme: 'home', 22 | pageTheme: { 23 | home: genPageTheme({colors: ['#25a0c2', '#00568c'], shape: shapes.wave}), 24 | documentation: genPageTheme({ 25 | colors: ['#25a0c2', '#00568c'], 26 | shape: shapes.wave2, 27 | }), 28 | tool: genPageTheme({colors: ['#25a0c2', '#00568c'], shape: shapes.round}), 29 | service: genPageTheme({ 30 | colors: ['#25a0c2', '#00568c'], 31 | shape: shapes.wave, 32 | }), 33 | website: genPageTheme({ 34 | colors: ['#25a0c2', '#00568c'], 35 | shape: shapes.wave, 36 | }), 37 | library: genPageTheme({ 38 | colors: ['#25a0c2', '#00568c'], 39 | shape: shapes.wave, 40 | }), 41 | other: genPageTheme({colors: ['#25a0c2', '#00568c'], shape: shapes.wave}), 42 | app: genPageTheme({colors: ['#25a0c2', '#00568c'], shape: shapes.wave}), 43 | apis: genPageTheme({colors: ['#25a0c2', '#00568c'], shape: shapes.wave}), 44 | }, 45 | }); 46 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1Service.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1ServicePort } from './ioK8sApiCoreV1ServicePort'; 16 | 17 | export class IoArgoprojEventsV1alpha1Service { 18 | 'clusterIP'?: string; 19 | 'ports'?: Array; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "clusterIP", 26 | "baseName": "clusterIP", 27 | "type": "string" 28 | }, 29 | { 30 | "name": "ports", 31 | "baseName": "ports", 32 | "type": "Array" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojEventsV1alpha1Service.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Metadata.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Pod metdata 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1Metadata { 20 | 'annotations'?: { [key: string]: string; }; 21 | 'labels'?: { [key: string]: string; }; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "annotations", 28 | "baseName": "annotations", 29 | "type": "{ [key: string]: string; }" 30 | }, 31 | { 32 | "name": "labels", 33 | "baseName": "labels", 34 | "type": "{ [key: string]: string; }" 35 | } ]; 36 | 37 | static getAttributeTypeMap() { 38 | return IoArgoprojWorkflowV1alpha1Metadata.attributeTypeMap; 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/src/components/themes/light-theme.ts: -------------------------------------------------------------------------------- 1 | import { 2 | genPageTheme, 3 | shapes, 4 | createUnifiedTheme, 5 | createBaseThemeOptions, palettes, 6 | } from '@backstage/theme'; 7 | 8 | export const cnoeLightTheme = createUnifiedTheme({ 9 | ...createBaseThemeOptions({ 10 | palette: { 11 | ...palettes.light, 12 | primary: { 13 | main: '#00568c', 14 | }, 15 | secondary: { 16 | main: '#00adee', 17 | }, 18 | }, 19 | }), 20 | defaultPageTheme: 'home', 21 | pageTheme: { 22 | home: genPageTheme({colors: ['#00568c', '#00adee'], shape: shapes.wave}), 23 | documentation: genPageTheme({ 24 | colors: ['#00568c', '#00adee'], 25 | shape: shapes.wave2, 26 | }), 27 | tool: genPageTheme({colors: ['#00568c', '#00adee'], shape: shapes.round}), 28 | service: genPageTheme({ 29 | colors: ['#00568c', '#00adee'], 30 | shape: shapes.wave, 31 | }), 32 | website: genPageTheme({ 33 | colors: ['#00568c', '#00adee'], 34 | shape: shapes.wave, 35 | }), 36 | library: genPageTheme({ 37 | colors: ['#00568c', '#00adee'], 38 | shape: shapes.wave, 39 | }), 40 | other: genPageTheme({colors: ['#00568c', '#00adee'], shape: shapes.wave}), 41 | app: genPageTheme({colors: ['#00568c', '#00adee'], shape: shapes.wave}), 42 | apis: genPageTheme({colors: ['#00568c', '#00adee'], shape: shapes.wave}), 43 | }, 44 | }); 45 | 46 | 47 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1Sysctl.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Sysctl defines a kernel parameter to be set 18 | */ 19 | export class IoK8sApiCoreV1Sysctl { 20 | /** 21 | * Name of a property to set 22 | */ 23 | 'name': string; 24 | /** 25 | * Value of a property to set 26 | */ 27 | 'value': string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "name", 34 | "baseName": "name", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "value", 39 | "baseName": "value", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApiCoreV1Sysctl.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/eventsourceEventSourceWatchEvent.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1EventSource } from './ioArgoprojEventsV1alpha1EventSource'; 16 | 17 | export class EventsourceEventSourceWatchEvent { 18 | 'object'?: IoArgoprojEventsV1alpha1EventSource; 19 | 'type'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "object", 26 | "baseName": "object", 27 | "type": "IoArgoprojEventsV1alpha1EventSource" 28 | }, 29 | { 30 | "name": "type", 31 | "baseName": "type", 32 | "type": "string" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return EventsourceEventSourceWatchEvent.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/components/utils.ts: -------------------------------------------------------------------------------- 1 | import { Entity } from '@backstage/catalog-model'; 2 | import { 3 | ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION, 4 | CLUSTER_NAME_ANNOTATION, 5 | K8S_NAMESPACE_ANNOTATION, 6 | ARGO_WORKFLOWS_NAMESPACE_ANNOTATION, 7 | } from '../plugin'; 8 | 9 | export function trimBaseUrl(argoWorkflowsBaseUrl: string | undefined) { 10 | if (argoWorkflowsBaseUrl && argoWorkflowsBaseUrl.endsWith('/')) { 11 | return argoWorkflowsBaseUrl.substring(0, argoWorkflowsBaseUrl.length - 1); 12 | } 13 | return argoWorkflowsBaseUrl; 14 | } 15 | 16 | export type getAnnotationValuesOutput = { 17 | ns?: string; 18 | clusterName?: string; 19 | labelSelector?: string; 20 | }; 21 | 22 | export function getAnnotationValues(entity: Entity): getAnnotationValuesOutput { 23 | let ns = entity.metadata.annotations?.[ARGO_WORKFLOWS_NAMESPACE_ANNOTATION]; 24 | if ( 25 | entity.metadata.annotations?.[ARGO_WORKFLOWS_NAMESPACE_ANNOTATION] === 26 | undefined && 27 | entity.metadata.annotations?.[K8S_NAMESPACE_ANNOTATION] !== undefined 28 | ) { 29 | ns = entity.metadata.annotations?.[K8S_NAMESPACE_ANNOTATION]; 30 | } 31 | const clusterName = entity.metadata.annotations?.[CLUSTER_NAME_ANNOTATION]; 32 | const labelSelector = 33 | entity.metadata?.annotations?.[ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION]; 34 | return { 35 | ns: ns, 36 | clusterName: clusterName, 37 | labelSelector: labelSelector, 38 | }; 39 | } -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1TCPSocketAction.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * TCPSocketAction describes an action based on opening a socket 18 | */ 19 | export class IoK8sApiCoreV1TCPSocketAction { 20 | /** 21 | * Optional: Host name to connect to, defaults to the pod IP. 22 | */ 23 | 'host'?: string; 24 | 'port': string; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "host", 31 | "baseName": "host", 32 | "type": "string" 33 | }, 34 | { 35 | "name": "port", 36 | "baseName": "port", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoK8sApiCoreV1TCPSocketAction.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1EphemeralVolumeSource.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1PersistentVolumeClaimTemplate } from './ioK8sApiCoreV1PersistentVolumeClaimTemplate'; 16 | 17 | /** 18 | * Represents an ephemeral volume that is handled by a normal storage driver. 19 | */ 20 | export class IoK8sApiCoreV1EphemeralVolumeSource { 21 | 'volumeClaimTemplate'?: IoK8sApiCoreV1PersistentVolumeClaimTemplate; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "volumeClaimTemplate", 28 | "baseName": "volumeClaimTemplate", 29 | "type": "IoK8sApiCoreV1PersistentVolumeClaimTemplate" 30 | } ]; 31 | 32 | static getAttributeTypeMap() { 33 | return IoK8sApiCoreV1EphemeralVolumeSource.attributeTypeMap; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1HTTPHeader.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * HTTPHeader describes a custom header to be used in HTTP probes 18 | */ 19 | export class IoK8sApiCoreV1HTTPHeader { 20 | /** 21 | * The header field name 22 | */ 23 | 'name': string; 24 | /** 25 | * The header field value 26 | */ 27 | 'value': string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "name", 34 | "baseName": "name", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "value", 39 | "baseName": "value", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApiCoreV1HTTPHeader.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1Int64OrString.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1Int64OrString { 17 | 'int64Val'?: string; 18 | 'strVal'?: string; 19 | 'type'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "int64Val", 26 | "baseName": "int64Val", 27 | "type": "string" 28 | }, 29 | { 30 | "name": "strVal", 31 | "baseName": "strVal", 32 | "type": "string" 33 | }, 34 | { 35 | "name": "type", 36 | "baseName": "type", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoArgoprojEventsV1alpha1Int64OrString.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowWatchEvent.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1Workflow } from './ioArgoprojWorkflowV1alpha1Workflow'; 16 | 17 | export class IoArgoprojWorkflowV1alpha1WorkflowWatchEvent { 18 | 'object'?: IoArgoprojWorkflowV1alpha1Workflow; 19 | 'type'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "object", 26 | "baseName": "object", 27 | "type": "IoArgoprojWorkflowV1alpha1Workflow" 28 | }, 29 | { 30 | "name": "type", 31 | "baseName": "type", 32 | "type": "string" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojWorkflowV1alpha1WorkflowWatchEvent.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/eventsourceCreateEventSourceRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1EventSource } from './ioArgoprojEventsV1alpha1EventSource'; 16 | 17 | export class EventsourceCreateEventSourceRequest { 18 | 'eventSource'?: IoArgoprojEventsV1alpha1EventSource; 19 | 'namespace'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "eventSource", 26 | "baseName": "eventSource", 27 | "type": "IoArgoprojEventsV1alpha1EventSource" 28 | }, 29 | { 30 | "name": "namespace", 31 | "baseName": "namespace", 32 | "type": "string" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return EventsourceCreateEventSourceRequest.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1SecureHeader.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1ValueFromSource } from './ioArgoprojEventsV1alpha1ValueFromSource'; 16 | 17 | export class IoArgoprojEventsV1alpha1SecureHeader { 18 | 'name'?: string; 19 | 'valueFrom'?: IoArgoprojEventsV1alpha1ValueFromSource; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "name", 26 | "baseName": "name", 27 | "type": "string" 28 | }, 29 | { 30 | "name": "valueFrom", 31 | "baseName": "valueFrom", 32 | "type": "IoArgoprojEventsV1alpha1ValueFromSource" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojEventsV1alpha1SecureHeader.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1RetryAffinity.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * RetryAffinity prevents running steps on the same host. 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1RetryAffinity { 20 | /** 21 | * RetryNodeAntiAffinity is a placeholder for future expansion, only empty nodeAntiAffinity is allowed. In order to prevent running steps on the same host, it uses \"kubernetes.io/hostname\". 22 | */ 23 | 'nodeAntiAffinity'?: object; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "nodeAntiAffinity", 30 | "baseName": "nodeAntiAffinity", 31 | "type": "object" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1RetryAffinity.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1SuspendTemplate.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * SuspendTemplate is a template subtype to suspend a workflow at a predetermined point in time 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1SuspendTemplate { 20 | /** 21 | * Duration is the seconds to wait before automatically resuming a template. Must be a string. Default unit is seconds. Could also be a Duration, e.g.: \"2m\", \"6h\", \"1d\" 22 | */ 23 | 'duration'?: string; 24 | 25 | static discriminator: string | undefined = undefined; 26 | 27 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 28 | { 29 | "name": "duration", 30 | "baseName": "duration", 31 | "type": "string" 32 | } ]; 33 | 34 | static getAttributeTypeMap() { 35 | return IoArgoprojWorkflowV1alpha1SuspendTemplate.attributeTypeMap; 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/streamResultOfSensorLogEntry.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { GrpcGatewayRuntimeStreamError } from './grpcGatewayRuntimeStreamError'; 16 | import { SensorLogEntry } from './sensorLogEntry'; 17 | 18 | export class StreamResultOfSensorLogEntry { 19 | 'error'?: GrpcGatewayRuntimeStreamError; 20 | 'result'?: SensorLogEntry; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "error", 27 | "baseName": "error", 28 | "type": "GrpcGatewayRuntimeStreamError" 29 | }, 30 | { 31 | "name": "result", 32 | "baseName": "result", 33 | "type": "SensorLogEntry" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return StreamResultOfSensorLogEntry.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1Capabilities.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Adds and removes POSIX capabilities from running containers. 18 | */ 19 | export class IoK8sApiCoreV1Capabilities { 20 | /** 21 | * Added capabilities 22 | */ 23 | 'add'?: Array; 24 | /** 25 | * Removed capabilities 26 | */ 27 | 'drop'?: Array; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "add", 34 | "baseName": "add", 35 | "type": "Array" 36 | }, 37 | { 38 | "name": "drop", 39 | "baseName": "drop", 40 | "type": "Array" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApiCoreV1Capabilities.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Metrics.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1Prometheus } from './ioArgoprojWorkflowV1alpha1Prometheus'; 16 | 17 | /** 18 | * Metrics are a list of metrics emitted from a Workflow/Template 19 | */ 20 | export class IoArgoprojWorkflowV1alpha1Metrics { 21 | /** 22 | * Prometheus is a list of prometheus metrics to be emitted 23 | */ 24 | 'prometheus': Array; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "prometheus", 31 | "baseName": "prometheus", 32 | "type": "Array" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojWorkflowV1alpha1Metrics.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1BasicAuth.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1SecretKeySelector } from './ioK8sApiCoreV1SecretKeySelector'; 16 | 17 | export class IoArgoprojEventsV1alpha1BasicAuth { 18 | 'password'?: IoK8sApiCoreV1SecretKeySelector; 19 | 'username'?: IoK8sApiCoreV1SecretKeySelector; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "password", 26 | "baseName": "password", 27 | "type": "IoK8sApiCoreV1SecretKeySelector" 28 | }, 29 | { 30 | "name": "username", 31 | "baseName": "username", 32 | "type": "IoK8sApiCoreV1SecretKeySelector" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojEventsV1alpha1BasicAuth.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1GitCreds.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1SecretKeySelector } from './ioK8sApiCoreV1SecretKeySelector'; 16 | 17 | export class IoArgoprojEventsV1alpha1GitCreds { 18 | 'password'?: IoK8sApiCoreV1SecretKeySelector; 19 | 'username'?: IoK8sApiCoreV1SecretKeySelector; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "password", 26 | "baseName": "password", 27 | "type": "IoK8sApiCoreV1SecretKeySelector" 28 | }, 29 | { 30 | "name": "username", 31 | "baseName": "username", 32 | "type": "IoK8sApiCoreV1SecretKeySelector" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojEventsV1alpha1GitCreds.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1WatchPathConfig.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1WatchPathConfig { 17 | 'directory'?: string; 18 | 'path'?: string; 19 | 'pathRegexp'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "directory", 26 | "baseName": "directory", 27 | "type": "string" 28 | }, 29 | { 30 | "name": "path", 31 | "baseName": "path", 32 | "type": "string" 33 | }, 34 | { 35 | "name": "pathRegexp", 36 | "baseName": "pathRegexp", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoArgoprojEventsV1alpha1WatchPathConfig.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowLintRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1Workflow } from './ioArgoprojWorkflowV1alpha1Workflow'; 16 | 17 | export class IoArgoprojWorkflowV1alpha1WorkflowLintRequest { 18 | 'namespace'?: string; 19 | 'workflow'?: IoArgoprojWorkflowV1alpha1Workflow; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "namespace", 26 | "baseName": "namespace", 27 | "type": "string" 28 | }, 29 | { 30 | "name": "workflow", 31 | "baseName": "workflow", 32 | "type": "IoArgoprojWorkflowV1alpha1Workflow" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojWorkflowV1alpha1WorkflowLintRequest.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ContinueOn.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * ContinueOn defines if a workflow should continue even if a task or step fails/errors. It can be specified if the workflow should continue when the pod errors, fails or both. 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1ContinueOn { 20 | 'error'?: boolean; 21 | 'failed'?: boolean; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "error", 28 | "baseName": "error", 29 | "type": "boolean" 30 | }, 31 | { 32 | "name": "failed", 33 | "baseName": "failed", 34 | "type": "boolean" 35 | } ]; 36 | 37 | static getAttributeTypeMap() { 38 | return IoArgoprojWorkflowV1alpha1ContinueOn.attributeTypeMap; 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1EventSource.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * EventSource contains information for an event. 18 | */ 19 | export class IoK8sApiCoreV1EventSource { 20 | /** 21 | * Component from which the event is generated. 22 | */ 23 | 'component'?: string; 24 | /** 25 | * Node name on which the event is generated. 26 | */ 27 | 'host'?: string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "component", 34 | "baseName": "component", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "host", 39 | "baseName": "host", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApiCoreV1EventSource.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Mutex.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Mutex holds Mutex configuration 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1Mutex { 20 | /** 21 | * name of the mutex 22 | */ 23 | 'name'?: string; 24 | /** 25 | * Namespace is the namespace of the mutex, default: [namespace of workflow] 26 | */ 27 | 'namespace'?: string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "name", 34 | "baseName": "name", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "namespace", 39 | "baseName": "namespace", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoArgoprojWorkflowV1alpha1Mutex.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/streamResultOfEventsourceLogEntry.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { EventsourceLogEntry } from './eventsourceLogEntry'; 16 | import { GrpcGatewayRuntimeStreamError } from './grpcGatewayRuntimeStreamError'; 17 | 18 | export class StreamResultOfEventsourceLogEntry { 19 | 'error'?: GrpcGatewayRuntimeStreamError; 20 | 'result'?: EventsourceLogEntry; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "error", 27 | "baseName": "error", 28 | "type": "GrpcGatewayRuntimeStreamError" 29 | }, 30 | { 31 | "name": "result", 32 | "baseName": "result", 33 | "type": "EventsourceLogEntry" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return StreamResultOfEventsourceLogEntry.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/streamResultOfIoK8sApiCoreV1Event.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { GrpcGatewayRuntimeStreamError } from './grpcGatewayRuntimeStreamError'; 16 | import { IoK8sApiCoreV1Event } from './ioK8sApiCoreV1Event'; 17 | 18 | export class StreamResultOfIoK8sApiCoreV1Event { 19 | 'error'?: GrpcGatewayRuntimeStreamError; 20 | 'result'?: IoK8sApiCoreV1Event; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "error", 27 | "baseName": "error", 28 | "type": "GrpcGatewayRuntimeStreamError" 29 | }, 30 | { 31 | "name": "result", 32 | "baseName": "result", 33 | "type": "IoK8sApiCoreV1Event" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return StreamResultOfIoK8sApiCoreV1Event.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/terraform-backend/src/service/router.test.ts: -------------------------------------------------------------------------------- 1 | import { getVoidLogger } from '@backstage/backend-common'; 2 | import { ConfigApi } from "@backstage/core-plugin-api" 3 | import express from 'express'; 4 | import request from 'supertest'; 5 | 6 | import { createRouter } from './router'; 7 | 8 | describe('createRouter', () => { 9 | let app: express.Express; 10 | 11 | const mockConfig: jest.Mocked = { 12 | has: jest.fn(), 13 | keys: jest.fn(), 14 | get: jest.fn(), 15 | getOptional: jest.fn(), 16 | getConfig: jest.fn(), 17 | getOptionalConfig: jest.fn(), 18 | getConfigArray: jest.fn(), 19 | getOptionalConfigArray: jest.fn(), 20 | getNumber: jest.fn(), 21 | getOptionalNumber: jest.fn(), 22 | getBoolean: jest.fn(), 23 | getOptionalBoolean: jest.fn(), 24 | getString: jest.fn(), 25 | getOptionalString: jest.fn(), 26 | getStringArray: jest.fn(), 27 | getOptionalStringArray: jest.fn(), 28 | } 29 | 30 | beforeAll(async () => { 31 | const router = await createRouter({ 32 | logger: getVoidLogger(), 33 | config: mockConfig, 34 | }); 35 | app = express().use(router); 36 | }); 37 | 38 | beforeEach(() => { 39 | jest.resetAllMocks(); 40 | }); 41 | 42 | describe('GET /health', () => { 43 | it('returns ok', async () => { 44 | const response = await request(app).get('/health'); 45 | 46 | expect(response.status).toEqual(200); 47 | expect(response.body).toEqual({ status: 'ok' }); 48 | }); 49 | }); 50 | }); 51 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1BitbucketBasicAuth.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1SecretKeySelector } from './ioK8sApiCoreV1SecretKeySelector'; 16 | 17 | export class IoArgoprojEventsV1alpha1BitbucketBasicAuth { 18 | 'password'?: IoK8sApiCoreV1SecretKeySelector; 19 | 'username'?: IoK8sApiCoreV1SecretKeySelector; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "password", 26 | "baseName": "password", 27 | "type": "IoK8sApiCoreV1SecretKeySelector" 28 | }, 29 | { 30 | "name": "username", 31 | "baseName": "username", 32 | "type": "IoK8sApiCoreV1SecretKeySelector" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojEventsV1alpha1BitbucketBasicAuth.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1KafkaConsumerGroup.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1KafkaConsumerGroup { 17 | 'groupName'?: string; 18 | 'oldest'?: boolean; 19 | 'rebalanceStrategy'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "groupName", 26 | "baseName": "groupName", 27 | "type": "string" 28 | }, 29 | { 30 | "name": "oldest", 31 | "baseName": "oldest", 32 | "type": "boolean" 33 | }, 34 | { 35 | "name": "rebalanceStrategy", 36 | "baseName": "rebalanceStrategy", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoArgoprojEventsV1alpha1KafkaConsumerGroup.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /packages/backend/src/plugins/scaffolder.ts: -------------------------------------------------------------------------------- 1 | import { ScmIntegrations } from '@backstage/integration'; 2 | import { createPublishGiteaAction } from './gitea-actions'; 3 | 4 | import { 5 | coreServices, 6 | createBackendModule, 7 | } from '@backstage/backend-plugin-api'; 8 | import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node/alpha'; 9 | import { createArgoCDApp } from './argocd'; 10 | import { getRootLogger } from '@backstage/backend-common'; 11 | import { createKubernetesApply } from './k8s-apply'; 12 | import { createSanitizeResource } from './sanitize'; 13 | import { createVerifyDependency } from './verify'; 14 | 15 | export const cnoeScaffolderActions = createBackendModule({ 16 | pluginId: 'scaffolder', 17 | moduleId: 'cnoe-actions', 18 | register(env) { 19 | env.registerInit({ 20 | deps: { 21 | scaffolder: scaffolderActionsExtensionPoint, 22 | config: coreServices.rootConfig, 23 | }, 24 | async init({ scaffolder, config }) { 25 | const integrations = ScmIntegrations.fromConfig(config); 26 | const logger = getRootLogger(); 27 | 28 | scaffolder.addActions( 29 | createPublishGiteaAction({ 30 | integrations, 31 | config, 32 | }), 33 | createArgoCDApp({ 34 | config, 35 | logger, 36 | }), 37 | createKubernetesApply(config), 38 | createSanitizeResource(), 39 | createVerifyDependency(), 40 | ); 41 | }, 42 | }); 43 | }, 44 | }); 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Header.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Header indicate a key-value request header to be used when fetching artifacts over HTTP 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1Header { 20 | /** 21 | * Name is the header name 22 | */ 23 | 'name': string; 24 | /** 25 | * Value is the literal value to use for the header 26 | */ 27 | 'value': string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "name", 34 | "baseName": "name", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "value", 39 | "baseName": "value", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoArgoprojWorkflowV1alpha1Header.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1LintCronWorkflowRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1CronWorkflow } from './ioArgoprojWorkflowV1alpha1CronWorkflow'; 16 | 17 | export class IoArgoprojWorkflowV1alpha1LintCronWorkflowRequest { 18 | 'cronWorkflow'?: IoArgoprojWorkflowV1alpha1CronWorkflow; 19 | 'namespace'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "cronWorkflow", 26 | "baseName": "cronWorkflow", 27 | "type": "IoArgoprojWorkflowV1alpha1CronWorkflow" 28 | }, 29 | { 30 | "name": "namespace", 31 | "baseName": "namespace", 32 | "type": "string" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojWorkflowV1alpha1LintCronWorkflowRequest.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/streamResultOfSensorSensorWatchEvent.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { GrpcGatewayRuntimeStreamError } from './grpcGatewayRuntimeStreamError'; 16 | import { SensorSensorWatchEvent } from './sensorSensorWatchEvent'; 17 | 18 | export class StreamResultOfSensorSensorWatchEvent { 19 | 'error'?: GrpcGatewayRuntimeStreamError; 20 | 'result'?: SensorSensorWatchEvent; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "error", 27 | "baseName": "error", 28 | "type": "GrpcGatewayRuntimeStreamError" 29 | }, 30 | { 31 | "name": "result", 32 | "baseName": "result", 33 | "type": "SensorSensorWatchEvent" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return StreamResultOfSensorSensorWatchEvent.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1Histogram.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Histogram is a Histogram prometheus metric 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1Histogram { 20 | /** 21 | * Buckets is a list of bucket divisors for the histogram 22 | */ 23 | 'buckets': Array; 24 | /** 25 | * Value is the value of the metric 26 | */ 27 | 'value': string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "buckets", 34 | "baseName": "buckets", 35 | "type": "Array" 36 | }, 37 | { 38 | "name": "value", 39 | "baseName": "value", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoArgoprojWorkflowV1alpha1Histogram.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1SemaphoreHolding.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1SemaphoreHolding { 17 | /** 18 | * Holders stores the list of current holder names in the io.argoproj.workflow.v1alpha1. 19 | */ 20 | 'holders'?: Array; 21 | /** 22 | * Semaphore stores the semaphore name. 23 | */ 24 | 'semaphore'?: string; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "holders", 31 | "baseName": "holders", 32 | "type": "Array" 33 | }, 34 | { 35 | "name": "semaphore", 36 | "baseName": "semaphore", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoArgoprojWorkflowV1alpha1SemaphoreHolding.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowResumeRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1WorkflowResumeRequest { 17 | 'name'?: string; 18 | 'namespace'?: string; 19 | 'nodeFieldSelector'?: string; 20 | 21 | static discriminator: string | undefined = undefined; 22 | 23 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 24 | { 25 | "name": "name", 26 | "baseName": "name", 27 | "type": "string" 28 | }, 29 | { 30 | "name": "namespace", 31 | "baseName": "namespace", 32 | "type": "string" 33 | }, 34 | { 35 | "name": "nodeFieldSelector", 36 | "baseName": "nodeFieldSelector", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoArgoprojWorkflowV1alpha1WorkflowResumeRequest.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1Selector.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * Selector represents conditional operation to select K8s objects. 18 | */ 19 | export class IoArgoprojEventsV1alpha1Selector { 20 | 'key'?: string; 21 | 'operation'?: string; 22 | 'value'?: string; 23 | 24 | static discriminator: string | undefined = undefined; 25 | 26 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 27 | { 28 | "name": "key", 29 | "baseName": "key", 30 | "type": "string" 31 | }, 32 | { 33 | "name": "operation", 34 | "baseName": "operation", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "value", 39 | "baseName": "value", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoArgoprojEventsV1alpha1Selector.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1GitRemoteConfig.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojEventsV1alpha1GitRemoteConfig { 17 | /** 18 | * Name of the remote to fetch from. 19 | */ 20 | 'name'?: string; 21 | /** 22 | * URLs the URLs of a remote repository. It must be non-empty. Fetch will always use the first URL, while push will use all of them. 23 | */ 24 | 'urls'?: Array; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "name", 31 | "baseName": "name", 32 | "type": "string" 33 | }, 34 | { 35 | "name": "urls", 36 | "baseName": "urls", 37 | "type": "Array" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoArgoprojEventsV1alpha1GitRemoteConfig.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1DownwardAPIProjection.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1DownwardAPIVolumeFile } from './ioK8sApiCoreV1DownwardAPIVolumeFile'; 16 | 17 | /** 18 | * Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode. 19 | */ 20 | export class IoK8sApiCoreV1DownwardAPIProjection { 21 | /** 22 | * Items is a list of DownwardAPIVolume file 23 | */ 24 | 'items'?: Array; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "items", 31 | "baseName": "items", 32 | "type": "Array" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoK8sApiCoreV1DownwardAPIProjection.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1HostAlias.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod\'s hosts file. 18 | */ 19 | export class IoK8sApiCoreV1HostAlias { 20 | /** 21 | * Hostnames for the above IP address. 22 | */ 23 | 'hostnames'?: Array; 24 | /** 25 | * IP address of the host file entry. 26 | */ 27 | 'ip'?: string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "hostnames", 34 | "baseName": "hostnames", 35 | "type": "Array" 36 | }, 37 | { 38 | "name": "ip", 39 | "baseName": "ip", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApiCoreV1HostAlias.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ContainerSetRetryStrategy.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1ContainerSetRetryStrategy { 17 | /** 18 | * Duration is the time between each retry, examples values are \"300ms\", \"1s\" or \"5m\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\". 19 | */ 20 | 'duration'?: string; 21 | 'retries': string; 22 | 23 | static discriminator: string | undefined = undefined; 24 | 25 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 26 | { 27 | "name": "duration", 28 | "baseName": "duration", 29 | "type": "string" 30 | }, 31 | { 32 | "name": "retries", 33 | "baseName": "retries", 34 | "type": "string" 35 | } ]; 36 | 37 | static getAttributeTypeMap() { 38 | return IoArgoprojWorkflowV1alpha1ContainerSetRetryStrategy.attributeTypeMap; 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /packages/app/src/apis.ts: -------------------------------------------------------------------------------- 1 | import { 2 | ScmIntegrationsApi, 3 | scmIntegrationsApiRef, 4 | ScmAuth, 5 | } from '@backstage/integration-react'; 6 | import { 7 | AnyApiFactory, ApiRef, BackstageIdentityApi, 8 | configApiRef, 9 | createApiFactory, createApiRef, discoveryApiRef, oauthRequestApiRef, OpenIdConnectApi, ProfileInfoApi, SessionApi, 10 | } from '@backstage/core-plugin-api'; 11 | import {OAuth2} from "@backstage/core-app-api"; 12 | 13 | export const keycloakOIDCAuthApiRef: ApiRef< 14 | OpenIdConnectApi & ProfileInfoApi & BackstageIdentityApi & SessionApi 15 | > = createApiRef({ 16 | id: 'auth.keycloak-oidc', 17 | }); 18 | export const apis: AnyApiFactory[] = [ 19 | createApiFactory({ 20 | api: scmIntegrationsApiRef, 21 | deps: {configApi: configApiRef}, 22 | factory: ({configApi}) => ScmIntegrationsApi.fromConfig(configApi), 23 | }), 24 | ScmAuth.createDefaultApiFactory(), 25 | createApiFactory({ 26 | api: keycloakOIDCAuthApiRef, 27 | deps: { 28 | discoveryApi: discoveryApiRef, 29 | oauthRequestApi: oauthRequestApiRef, 30 | configApi: configApiRef, 31 | }, 32 | factory: ({ discoveryApi, oauthRequestApi, configApi }) => 33 | OAuth2.create({ 34 | discoveryApi, 35 | oauthRequestApi, 36 | provider: { 37 | id: 'keycloak-oidc', 38 | title: 'Keycloak OIDC', 39 | icon: () => null, 40 | }, 41 | environment: configApi.getOptionalString('auth.environment'), 42 | defaultScopes: ['openid', 'profile', 'email', 'groups'], 43 | }), 44 | }), 45 | ]; 46 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1OAuth2EndpointParam.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * EndpointParam is for requesting optional fields that should be sent in the oauth request 18 | */ 19 | export class IoArgoprojWorkflowV1alpha1OAuth2EndpointParam { 20 | /** 21 | * Name is the header name 22 | */ 23 | 'key': string; 24 | /** 25 | * Value is the literal value to use for the header 26 | */ 27 | 'value'?: string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "key", 34 | "baseName": "key", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "value", 39 | "baseName": "value", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoArgoprojWorkflowV1alpha1OAuth2EndpointParam.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/sensorUpdateSensorRequest.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1Sensor } from './ioArgoprojEventsV1alpha1Sensor'; 16 | 17 | export class SensorUpdateSensorRequest { 18 | 'name'?: string; 19 | 'namespace'?: string; 20 | 'sensor'?: IoArgoprojEventsV1alpha1Sensor; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "name", 27 | "baseName": "name", 28 | "type": "string" 29 | }, 30 | { 31 | "name": "namespace", 32 | "baseName": "namespace", 33 | "type": "string" 34 | }, 35 | { 36 | "name": "sensor", 37 | "baseName": "sensor", 38 | "type": "IoArgoprojEventsV1alpha1Sensor" 39 | } ]; 40 | 41 | static getAttributeTypeMap() { 42 | return SensorUpdateSensorRequest.attributeTypeMap; 43 | } 44 | } 45 | 46 | -------------------------------------------------------------------------------- /plugins/terraform-backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@internal/backstage-plugin-terraform-backend", 3 | "version": "0.1.0", 4 | "main": "src/index.ts", 5 | "types": "src/index.ts", 6 | "license": "Apache-2.0", 7 | "private": true, 8 | "publishConfig": { 9 | "access": "public", 10 | "main": "dist/index.cjs.js", 11 | "types": "dist/index.d.ts" 12 | }, 13 | "backstage": { 14 | "role": "backend-plugin" 15 | }, 16 | "scripts": { 17 | "start": "backstage-cli package start", 18 | "build": "backstage-cli package build", 19 | "lint": "backstage-cli package lint", 20 | "test": "backstage-cli package test", 21 | "clean": "backstage-cli package clean", 22 | "prepack": "backstage-cli package prepack", 23 | "postpack": "backstage-cli package postpack" 24 | }, 25 | "dependencies": { 26 | "@backstage/backend-common": "^0.23.2", 27 | "@backstage/backend-defaults": "^0.4.0", 28 | "@backstage/backend-plugin-api": "^0.7.0", 29 | "@backstage/config": "^1.2.0", 30 | "@types/express": "*", 31 | "express": "^4.17.1", 32 | "express-promise-router": "^4.1.0", 33 | "node-fetch": "^2.6.7", 34 | "pako": "^2.1.0", 35 | "winston": "^3.2.1", 36 | "yn": "^4.0.0" 37 | }, 38 | "devDependencies": { 39 | "@backstage/cli": "^0.26.10", 40 | "@backstage/plugin-auth-backend": "^0.22.8", 41 | "@backstage/plugin-auth-backend-module-guest-provider": "^0.1.7", 42 | "@types/supertest": "^2.0.12", 43 | "msw": "^1.0.0", 44 | "supertest": "^6.2.4" 45 | }, 46 | "files": [ 47 | "dist" 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ArtifactRepositoryRef.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoArgoprojWorkflowV1alpha1ArtifactRepositoryRef { 17 | /** 18 | * The name of the config map. Defaults to \"artifact-repositories\". 19 | */ 20 | 'configMap'?: string; 21 | /** 22 | * The config map key. Defaults to the value of the \"workflows.argoproj.io/default-artifact-repository\" annotation. 23 | */ 24 | 'key'?: string; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "configMap", 31 | "baseName": "configMap", 32 | "type": "string" 33 | }, 34 | { 35 | "name": "key", 36 | "baseName": "key", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoArgoprojWorkflowV1alpha1ArtifactRepositoryRef.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1VolumeDevice.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * volumeDevice describes a mapping of a raw block device within a container. 18 | */ 19 | export class IoK8sApiCoreV1VolumeDevice { 20 | /** 21 | * devicePath is the path inside of the container that the device will be mapped to. 22 | */ 23 | 'devicePath': string; 24 | /** 25 | * name must match the name of a persistentVolumeClaim in the pod 26 | */ 27 | 'name': string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "devicePath", 34 | "baseName": "devicePath", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "name", 39 | "baseName": "name", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApiCoreV1VolumeDevice.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApimachineryPkgApisMetaV1GroupVersionResource.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * +protobuf.options.(gogoproto.goproto_stringer)=false 18 | */ 19 | export class IoK8sApimachineryPkgApisMetaV1GroupVersionResource { 20 | 'group'?: string; 21 | 'resource'?: string; 22 | 'version'?: string; 23 | 24 | static discriminator: string | undefined = undefined; 25 | 26 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 27 | { 28 | "name": "group", 29 | "baseName": "group", 30 | "type": "string" 31 | }, 32 | { 33 | "name": "resource", 34 | "baseName": "resource", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "version", 39 | "baseName": "version", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApimachineryPkgApisMetaV1GroupVersionResource.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1NodeSelector.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoK8sApiCoreV1NodeSelectorTerm } from './ioK8sApiCoreV1NodeSelectorTerm'; 16 | 17 | /** 18 | * A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. 19 | */ 20 | export class IoK8sApiCoreV1NodeSelector { 21 | /** 22 | * Required. A list of node selector terms. The terms are ORed. 23 | */ 24 | 'nodeSelectorTerms': Array; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "nodeSelectorTerms", 31 | "baseName": "nodeSelectorTerms", 32 | "type": "Array" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoK8sApiCoreV1NodeSelector.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ArtifactGCSpec.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1ArtifactNodeSpec } from './ioArgoprojWorkflowV1alpha1ArtifactNodeSpec'; 16 | 17 | /** 18 | * ArtifactGCSpec specifies the Artifacts that need to be deleted 19 | */ 20 | export class IoArgoprojWorkflowV1alpha1ArtifactGCSpec { 21 | /** 22 | * ArtifactsByNode maps Node name to information pertaining to Artifacts on that Node 23 | */ 24 | 'artifactsByNode'?: { [key: string]: IoArgoprojWorkflowV1alpha1ArtifactNodeSpec; }; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "artifactsByNode", 31 | "baseName": "artifactsByNode", 32 | "type": "{ [key: string]: IoArgoprojWorkflowV1alpha1ArtifactNodeSpec; }" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojWorkflowV1alpha1ArtifactGCSpec.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/streamResultOfEventsourceEventSourceWatchEvent.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { EventsourceEventSourceWatchEvent } from './eventsourceEventSourceWatchEvent'; 16 | import { GrpcGatewayRuntimeStreamError } from './grpcGatewayRuntimeStreamError'; 17 | 18 | export class StreamResultOfEventsourceEventSourceWatchEvent { 19 | 'error'?: GrpcGatewayRuntimeStreamError; 20 | 'result'?: EventsourceEventSourceWatchEvent; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "error", 27 | "baseName": "error", 28 | "type": "GrpcGatewayRuntimeStreamError" 29 | }, 30 | { 31 | "name": "result", 32 | "baseName": "result", 33 | "type": "EventsourceEventSourceWatchEvent" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return StreamResultOfEventsourceEventSourceWatchEvent.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1ObjectFieldSelector.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | /** 17 | * ObjectFieldSelector selects an APIVersioned field of an object. 18 | */ 19 | export class IoK8sApiCoreV1ObjectFieldSelector { 20 | /** 21 | * Version of the schema the FieldPath is written in terms of, defaults to \"v1\". 22 | */ 23 | 'apiVersion'?: string; 24 | /** 25 | * Path of the field to select in the specified API version. 26 | */ 27 | 'fieldPath': string; 28 | 29 | static discriminator: string | undefined = undefined; 30 | 31 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 32 | { 33 | "name": "apiVersion", 34 | "baseName": "apiVersion", 35 | "type": "string" 36 | }, 37 | { 38 | "name": "fieldPath", 39 | "baseName": "fieldPath", 40 | "type": "string" 41 | } ]; 42 | 43 | static getAttributeTypeMap() { 44 | return IoK8sApiCoreV1ObjectFieldSelector.attributeTypeMap; 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ArtifactGCStatus.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1ArtifactResultNodeStatus } from './ioArgoprojWorkflowV1alpha1ArtifactResultNodeStatus'; 16 | 17 | /** 18 | * ArtifactGCStatus describes the result of the deletion 19 | */ 20 | export class IoArgoprojWorkflowV1alpha1ArtifactGCStatus { 21 | /** 22 | * ArtifactResultsByNode maps Node name to result 23 | */ 24 | 'artifactResultsByNode'?: { [key: string]: IoArgoprojWorkflowV1alpha1ArtifactResultNodeStatus; }; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "artifactResultsByNode", 31 | "baseName": "artifactResultsByNode", 32 | "type": "{ [key: string]: IoArgoprojWorkflowV1alpha1ArtifactResultNodeStatus; }" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojWorkflowV1alpha1ArtifactGCStatus.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojEventsV1alpha1SensorList.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojEventsV1alpha1Sensor } from './ioArgoprojEventsV1alpha1Sensor'; 16 | import { IoK8sApimachineryPkgApisMetaV1ListMeta } from './ioK8sApimachineryPkgApisMetaV1ListMeta'; 17 | 18 | export class IoArgoprojEventsV1alpha1SensorList { 19 | 'items'?: Array; 20 | 'metadata'?: IoK8sApimachineryPkgApisMetaV1ListMeta; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "items", 27 | "baseName": "items", 28 | "type": "Array" 29 | }, 30 | { 31 | "name": "metadata", 32 | "baseName": "metadata", 33 | "type": "IoK8sApimachineryPkgApisMetaV1ListMeta" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return IoArgoprojEventsV1alpha1SensorList.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1ArtifactResultNodeStatus.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1ArtifactResult } from './ioArgoprojWorkflowV1alpha1ArtifactResult'; 16 | 17 | /** 18 | * ArtifactResultNodeStatus describes the result of the deletion on a given node 19 | */ 20 | export class IoArgoprojWorkflowV1alpha1ArtifactResultNodeStatus { 21 | /** 22 | * ArtifactResults maps Artifact name to result of the deletion 23 | */ 24 | 'artifactResults'?: { [key: string]: IoArgoprojWorkflowV1alpha1ArtifactResult; }; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "artifactResults", 31 | "baseName": "artifactResults", 32 | "type": "{ [key: string]: IoArgoprojWorkflowV1alpha1ArtifactResult; }" 33 | } ]; 34 | 35 | static getAttributeTypeMap() { 36 | return IoArgoprojWorkflowV1alpha1ArtifactResultNodeStatus.attributeTypeMap; 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioK8sApiCoreV1GRPCAction.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | 16 | export class IoK8sApiCoreV1GRPCAction { 17 | /** 18 | * Port number of the gRPC service. Number must be in the range 1 to 65535. 19 | */ 20 | 'port': number; 21 | /** 22 | * Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC. 23 | */ 24 | 'service'?: string; 25 | 26 | static discriminator: string | undefined = undefined; 27 | 28 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 29 | { 30 | "name": "port", 31 | "baseName": "port", 32 | "type": "number" 33 | }, 34 | { 35 | "name": "service", 36 | "baseName": "service", 37 | "type": "string" 38 | } ]; 39 | 40 | static getAttributeTypeMap() { 41 | return IoK8sApiCoreV1GRPCAction.attributeTypeMap; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/streamResultOfIoArgoprojWorkflowV1alpha1LogEntry.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { GrpcGatewayRuntimeStreamError } from './grpcGatewayRuntimeStreamError'; 16 | import { IoArgoprojWorkflowV1alpha1LogEntry } from './ioArgoprojWorkflowV1alpha1LogEntry'; 17 | 18 | export class StreamResultOfIoArgoprojWorkflowV1alpha1LogEntry { 19 | 'error'?: GrpcGatewayRuntimeStreamError; 20 | 'result'?: IoArgoprojWorkflowV1alpha1LogEntry; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "error", 27 | "baseName": "error", 28 | "type": "GrpcGatewayRuntimeStreamError" 29 | }, 30 | { 31 | "name": "result", 32 | "baseName": "result", 33 | "type": "IoArgoprojWorkflowV1alpha1LogEntry" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return StreamResultOfIoArgoprojWorkflowV1alpha1LogEntry.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/cnoe-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@internal/plugin-cnoe-ui", 3 | "version": "0.1.0", 4 | "main": "src/index.ts", 5 | "types": "src/index.ts", 6 | "license": "Apache-2.0", 7 | "private": true, 8 | "publishConfig": { 9 | "access": "public", 10 | "main": "dist/index.esm.js", 11 | "types": "dist/index.d.ts" 12 | }, 13 | "backstage": { 14 | "role": "frontend-plugin" 15 | }, 16 | "sideEffects": false, 17 | "scripts": { 18 | "start": "backstage-cli package start", 19 | "build": "backstage-cli package build", 20 | "lint": "backstage-cli package lint", 21 | "test": "backstage-cli package test", 22 | "clean": "backstage-cli package clean", 23 | "prepack": "backstage-cli package prepack", 24 | "postpack": "backstage-cli package postpack" 25 | }, 26 | "dependencies": { 27 | "@backstage/core-components": "^0.14.8", 28 | "@backstage/core-plugin-api": "^1.9.3", 29 | "@backstage/theme": "^0.5.6", 30 | "@material-ui/core": "^4.12.2", 31 | "@material-ui/icons": "^4.9.1", 32 | "@material-ui/lab": "^4.0.0-alpha.61", 33 | "react-use": "^17.2.4" 34 | }, 35 | "peerDependencies": { 36 | "react": "^17.0.0 || ^18.0.2" 37 | }, 38 | "devDependencies": { 39 | "@backstage/cli": "^0.26.10", 40 | "@backstage/core-app-api": "^1.13.0", 41 | "@backstage/dev-utils": "^1.0.34", 42 | "@backstage/test-utils": "^1.5.7", 43 | "@testing-library/jest-dom": "^5.10.1", 44 | "@testing-library/react": "^12.1.3", 45 | "@testing-library/user-event": "^14.0.0", 46 | "msw": "^1.0.0" 47 | }, 48 | "files": [ 49 | "dist" 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /plugins/argo-workflows/src/api/generated/model/ioArgoprojWorkflowV1alpha1WorkflowEventBindingSpec.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | /** 3 | * Argo Workflows API 4 | * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/ 5 | * 6 | * The version of the OpenAPI document: VERSION 7 | * 8 | * 9 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 10 | * https://openapi-generator.tech 11 | * Do not edit the class manually. 12 | */ 13 | 14 | import { RequestFile } from './models'; 15 | import { IoArgoprojWorkflowV1alpha1Event } from './ioArgoprojWorkflowV1alpha1Event'; 16 | import { IoArgoprojWorkflowV1alpha1Submit } from './ioArgoprojWorkflowV1alpha1Submit'; 17 | 18 | export class IoArgoprojWorkflowV1alpha1WorkflowEventBindingSpec { 19 | 'event': IoArgoprojWorkflowV1alpha1Event; 20 | 'submit'?: IoArgoprojWorkflowV1alpha1Submit; 21 | 22 | static discriminator: string | undefined = undefined; 23 | 24 | static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ 25 | { 26 | "name": "event", 27 | "baseName": "event", 28 | "type": "IoArgoprojWorkflowV1alpha1Event" 29 | }, 30 | { 31 | "name": "submit", 32 | "baseName": "submit", 33 | "type": "IoArgoprojWorkflowV1alpha1Submit" 34 | } ]; 35 | 36 | static getAttributeTypeMap() { 37 | return IoArgoprojWorkflowV1alpha1WorkflowEventBindingSpec.attributeTypeMap; 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /plugins/terraform/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@internal/plugin-terraform", 3 | "version": "0.1.0", 4 | "main": "src/index.ts", 5 | "types": "src/index.ts", 6 | "license": "Apache-2.0", 7 | "private": true, 8 | "publishConfig": { 9 | "access": "public", 10 | "main": "dist/index.esm.js", 11 | "types": "dist/index.d.ts" 12 | }, 13 | "backstage": { 14 | "role": "frontend-plugin" 15 | }, 16 | "sideEffects": false, 17 | "scripts": { 18 | "start": "backstage-cli package start", 19 | "build": "backstage-cli package build", 20 | "lint": "backstage-cli package lint", 21 | "test": "backstage-cli package test", 22 | "clean": "backstage-cli package clean", 23 | "prepack": "backstage-cli package prepack", 24 | "postpack": "backstage-cli package postpack" 25 | }, 26 | "dependencies": { 27 | "@backstage/core-components": "^0.14.8", 28 | "@backstage/core-plugin-api": "^1.9.3", 29 | "@backstage/theme": "^0.5.6", 30 | "@material-ui/core": "^4.9.13", 31 | "@material-ui/icons": "^4.9.1", 32 | "@material-ui/lab": "^4.0.0-alpha.61", 33 | "react-use": "^17.2.4" 34 | }, 35 | "peerDependencies": { 36 | "react": "^16.13.1 || ^17.0.0" 37 | }, 38 | "devDependencies": { 39 | "@backstage/cli": "^0.26.10", 40 | "@backstage/core-app-api": "^1.13.0", 41 | "@backstage/dev-utils": "^1.0.34", 42 | "@backstage/test-utils": "^1.5.7", 43 | "@testing-library/jest-dom": "^5.10.1", 44 | "@testing-library/react": "^12.1.3", 45 | "@testing-library/user-event": "^14.0.0", 46 | "msw": "^1.0.0" 47 | }, 48 | "files": [ 49 | "dist" 50 | ] 51 | } 52 | --------------------------------------------------------------------------------