import EpinioApplicationModel from './models/applications'; import EpinioCatalogServiceModel from './models/catalogservices'; import EpinioConfigurationModel from './models/configurations'; import EpinioServiceModel from './models/services'; import EpinioAppChartModel from './models/appcharts'; export const EPINIO_PRODUCT_NAME = 'epinio'; export const EPINIO_MGMT_STORE = 'epiniomgmt'; // // An endpoint with this name is automatically created by the standalone backend export const EPINIO_STANDALONE_CLUSTER_NAME = 'default'; export const EPINIO_TYPES = { // From API APP: 'applications', APP_CHARTS: 'appcharts', NAMESPACE: 'namespaces', CONFIGURATION: 'configurations', CATALOG_SERVICE: 'catalogservices', SERVICE_INSTANCE: 'services', // Internal DASHBOARD: 'dashboard', INSTANCE: 'instance', APP_ACTION: 'application-action', APP_INSTANCE: 'application-instance', }; // // https://github.com/epinio/epinio/blob/7eb93b6dc735f8a6db26b8a242ae62a34877014c/pkg/api/core/v1/models/models.go#L96 export const APPLICATION_MANIFEST_SOURCE_TYPE = { NONE: 0, PATH: 1, GIT: 2, CONTAINER: 3, GIT_HUB: 4, }; export const APPLICATION_SOURCE_TYPE = { CONTAINER_URL: 'container_url', ARCHIVE: 'archive', FOLDER: 'folder', GIT_URL: 'git_url', GIT_HUB: 'git_hub', }; export const APPLICATION_ACTION_STATE = { SUCCESS: 'success', RUNNING: 'running', FAIL: 'fail', PENDING: 'pending', }; export const APPLICATION_ENV_VAR = 'EPINIO_APP_DATA'; export interface EPINIO_APP_ENV_VAR_GITHUB { usernameOrOrg: string, repo: string, branch: string, } // -------------------------------------- // Temporary code until models are typed interface EpinioMeta { name: string, namespace?: string, createdAt: string, } interface EpinioMetaProperty { metadata: { name: string, namespace?: string creationTimestamp: string, } } export interface EpinioApplicationResource { configuration: { instances: number, configurations: string[], appchart?: string, environment: Map, routes: string[] }, image_url: string // eslint-disable-line camelcase meta: EpinioMeta origin: { Kind: number, git?: { repository: string } } stage_id: string // eslint-disable-line camelcase status: string statusmessage: string } export type EpinioApplication = EpinioApplicationResource & EpinioApplicationModel & EpinioMetaProperty; export interface EpinioApplicationChartResource { meta: EpinioMeta, description: string, helm_chart: string, // eslint-disable-line camelcase short_description: string, // eslint-disable-line camelcase } export type EpinioAppChart = EpinioApplicationChartResource & EpinioAppChartModel & EpinioMetaProperty; export interface EpinioHelmRepoResource { name: string, url: string, } export interface EpinioCatalogServiceResource { name: string, description: string, short_description: string, // eslint-disable-line camelcase chart: string, chartVersion: string, appVersion: string, helm_repo: EpinioHelmRepoResource, // eslint-disable-line camelcase values: string, } export type EpinioCatalogService = EpinioCatalogServiceResource & EpinioCatalogServiceModel & EpinioMetaProperty; export interface EpinioConfigurationResource { meta: EpinioMeta configuration: { user: string, details: Map, boundapps: string[], } } export type EpinioConfiguration = EpinioConfigurationResource & EpinioConfigurationModel & EpinioMetaProperty; export interface EpinioServiceResource { meta: EpinioMeta boundapps: string[], catalog_service: string, // eslint-disable-line camelcase catalog_service_version: string, // eslint-disable-line camelcase status: string, } export type EpinioService = EpinioServiceResource & EpinioServiceModel & EpinioMetaProperty; export interface EpinioInfo { default_builder_image: string, // eslint-disable-line camelcase kube_version: string, // eslint-disable-line camelcase platform: string, // eslint-disable-line camelcase version: string, // eslint-disable-line camelcase }