mirror of https://github.com/rancher/ui.git
488 lines
12 KiB
JavaScript
488 lines
12 KiB
JavaScript
const KIND_USER = 'user'; const KIND_CATALOG = 'catalog';
|
|
const KIND_SYSTEM = 'system';
|
|
const KIND_SYSTEM_CATALOG = 'system-catalog';
|
|
const KIND_LEGACY_KUBERNETES = 'kubernetes';
|
|
const KIND_KUBERNETES = 'k8s';
|
|
const KIND_INFRA = 'infra';
|
|
const KIND_NOT_ORCHESTRATION = 'cattle';
|
|
|
|
var C = {
|
|
AUTH_TYPES: {
|
|
AdminAuth: 'None',
|
|
BasicAuth: 'API Key',
|
|
HeaderAuth: 'HeaderAuth',
|
|
RegistrationToken: 'Host Registration',
|
|
TokenAccount: 'TokenAccount',
|
|
TokenAuth: 'UI Session'
|
|
},
|
|
|
|
CAPABILITY: {
|
|
NETWORK_POLICIES: 'network-policy-manager',
|
|
SECRETS: 'secrets',
|
|
},
|
|
|
|
CATALOG: {
|
|
LIBRARY_KEY: 'library',
|
|
LIBRARY_VALUE: 'https://git.rancher.io/rancher-catalog.git',
|
|
COMMUNITY_KEY: 'community',
|
|
COMMUNITY_VALUE: 'https://git.rancher.io/community-catalog.git',
|
|
DEFAULT_BRANCH: 'master',
|
|
LIBRARY_BRANCH: 'v2.0-development', // @TODO-2.0 '${RELEASE}',
|
|
COMMUNITY_BRANCH: 'v2.0-development', // @TODO-2.0 '${RELEASE}',
|
|
},
|
|
|
|
COOKIE: {
|
|
TOKEN: 'token',
|
|
PL: 'PL',
|
|
PL_RANCHER_VALUE: 'rancher',
|
|
CSRF: 'CSRF',
|
|
LANG: 'LANG',
|
|
PROJECT: 'projectId',
|
|
CLUSTER: 'clusterId',
|
|
},
|
|
|
|
EXTERNAL_ID: {
|
|
KIND_SEPARATOR: '://',
|
|
GROUP_SEPARATOR: ':',
|
|
BASE_SEPARATOR: '*',
|
|
ID_SEPARATOR: ':',
|
|
KIND_ALL: 'containers', KIND_USER: KIND_USER,
|
|
KIND_CATALOG: KIND_CATALOG,
|
|
KIND_SYSTEM: KIND_SYSTEM,
|
|
KIND_SYSTEM_CATALOG: KIND_SYSTEM_CATALOG,
|
|
KIND_LEGACY_KUBERNETES: KIND_LEGACY_KUBERNETES,
|
|
KIND_KUBERNETES: KIND_KUBERNETES,
|
|
KIND_INFRA: KIND_INFRA,
|
|
KIND_NOT_ORCHESTRATION: KIND_NOT_ORCHESTRATION,
|
|
KIND_ORCHESTRATION: [
|
|
KIND_KUBERNETES,
|
|
],
|
|
UPGRADEABLE: [
|
|
KIND_CATALOG,
|
|
KIND_SYSTEM_CATALOG
|
|
],
|
|
SYSTEM_KINDS: [
|
|
KIND_SYSTEM,
|
|
KIND_SYSTEM_CATALOG,
|
|
],
|
|
SHOW_AS_SYSTEM: [
|
|
KIND_SYSTEM,
|
|
KIND_INFRA,
|
|
KIND_NOT_ORCHESTRATION,
|
|
],
|
|
SYSTEM_CATEGORIES: [
|
|
'Rancher services'
|
|
],
|
|
CATALOG_DEFAULT_GROUP: 'library',
|
|
},
|
|
|
|
EXT_REFERENCES: {
|
|
FORUM: 'https://forums.rancher.com',
|
|
COMPANY: 'http://rancher.com',
|
|
GITHUB: 'https://github.com/rancher/rancher',
|
|
DOCS: 'http://docs.rancher.com/rancher',
|
|
SLACK: 'https://slack.rancher.io',
|
|
},
|
|
|
|
GITHUB: {
|
|
DEFAULT_HOSTNAME: 'github.com',
|
|
AUTH_PATH: '/login/oauth/authorize',
|
|
PROXY_URL: '/github/',
|
|
SCOPE: 'read:org',
|
|
},
|
|
|
|
HEADER: {
|
|
ACCOUNT_ID: 'X-Api-Account-Id',
|
|
ACTIONS: 'X-Api-Action-Links',
|
|
ACTIONS_VALUE: 'actionLinks',
|
|
CSRF: 'X-Api-Csrf',
|
|
NO_CHALLENGE: 'X-Api-No-Challenge',
|
|
NO_CHALLENGE_VALUE: 'true',
|
|
PROJECT_ID: 'X-Api-Project-Id',
|
|
RANCHER_VERSION: 'X-Rancher-Version',
|
|
},
|
|
|
|
K8S: {
|
|
BASE: 'api',
|
|
BASE_VERSION: 'api/v1',
|
|
},
|
|
|
|
KEY: {
|
|
LEFT: 37,
|
|
UP: 38,
|
|
RIGHT: 39,
|
|
DOWN: 40,
|
|
ESCAPE: 27,
|
|
CR: 13,
|
|
LF: 10,
|
|
TAB: 9,
|
|
SPACE: 32,
|
|
PAGE_UP: 33,
|
|
PAGE_DOWN: 34,
|
|
HOME: 35,
|
|
END: 36,
|
|
},
|
|
|
|
LABEL: {
|
|
SYSTEM_PREFIX: 'io.rancher.',
|
|
|
|
// Container
|
|
DNS: 'io.rancher.container.dns',
|
|
HOSTNAME_OVERRIDE: 'io.rancher.container.hostname_override',
|
|
HOSTNAME_OVERRIDE_VALUE: 'container_name',
|
|
PULL_IMAGE: 'io.rancher.container.pull_image',
|
|
PULL_IMAGE_VALUE: 'always',
|
|
REQUESTED_IP: 'io.rancher.container.requested_ip',
|
|
SERVICE_NAME: 'io.rancher.stack_service.name',
|
|
START_ONCE: 'io.rancher.container.start_once',
|
|
STACK_NAME: 'io.rancher.stack.name',
|
|
STACK_UUID: 'io.rancher.stack.uuid',
|
|
SYSTEM_TYPE: 'io.rancher.container.system',
|
|
PER_HOST_SUBNET: 'io.rancher.network.per_host_subnet.subnet',
|
|
|
|
// Catalog
|
|
CERTIFIED: 'io.rancher.certified',
|
|
CERTIFIED_PARTNER: 'partner',
|
|
CERTIFIED_RANCHER: 'rancher',
|
|
ORCHESTRATION_SUPPORTED: 'io.rancher.orchestration.supported',
|
|
|
|
// Host
|
|
AGENT_IMAGE: 'io.rancher.host.agent_image',
|
|
DOCKER_VERSION: 'io.rancher.host.docker_version',
|
|
KERNEL_VERSION: 'io.rancher.host.linux_kernel_version',
|
|
KVM: 'io.rancher.host.kvm',
|
|
SCHED_IPS: 'io.rancher.scheduler.ips',
|
|
REQUIRE_ANY: 'io.rancher.scheduler.require_any',
|
|
|
|
// Kubernetes
|
|
K8S_DASHBOARD: 'io.rancher.k8s.kubernetes-dashboard',
|
|
K8S_KUBECTL: 'io.rancher.k8s.kubectld',
|
|
K8S_TOKEN: 'io.rancher.k8s.token',
|
|
K8S_POD_NAME: 'io.kubernetes.pod.name',
|
|
K8S_POD_NAMESPACE: 'io.kubernetes.pod.namespace',
|
|
|
|
// Scheduling
|
|
AFFINITY_PREFIX: 'io.rancher.scheduler.affinity:',
|
|
SCHED_CONTAINER: 'io.rancher.scheduler.affinity:container',
|
|
SCHED_CONTAINER_LABEL: 'io.rancher.scheduler.affinity:container_label',
|
|
SCHED_GLOBAL: 'io.rancher.scheduler.global',
|
|
SCHED_HOST_LABEL: 'io.rancher.scheduler.affinity:host_label',
|
|
|
|
// Service
|
|
DEPLOYMENT_UNIT: 'io.rancher.service.deployment.unit',
|
|
HASH: 'io.rancher.service.hash',
|
|
LAUNCH_CONFIG: 'io.rancher.service.launch.config',
|
|
LAUNCH_CONFIG_PRIMARY: 'io.rancher.service.primary.launch.config',
|
|
SIDEKICK: 'io.rancher.sidekicks',
|
|
BALANCER_TARGET: 'io.rancher.lb_service.target'
|
|
},
|
|
|
|
LANGUAGE: {
|
|
DEFAULT: 'en-us',
|
|
FORMAT_RELATIVE_TIMEOUT: 1000,
|
|
DOCS: ['en'],
|
|
},
|
|
|
|
WEBSOCKET: {
|
|
SUBSCRIBE_DISCONNECTED_TIMEOUT: 30000
|
|
},
|
|
|
|
MODE: {
|
|
OSS: 'oss', // Regular community UI
|
|
CAAS: 'caas', // Container cloud UI
|
|
},
|
|
|
|
PREFS: {
|
|
ACCESS_WARNING : 'accessWarning',
|
|
BODY_BACKGROUND : 'bodyBackground',
|
|
EXPANDED_STACKS : 'expandedStacks',
|
|
FEEDBACK : 'feedback',
|
|
HOST_VIEW : 'hostView',
|
|
CONTAINER_VIEW : 'containerView',
|
|
I_HATE_SPINNERS : 'ihatespinners',
|
|
LANGUAGE : 'language',
|
|
PROJECT_DEFAULT : 'defaultProjectId',
|
|
CLUSTER_DEFAULT : 'defaultClusterId',
|
|
LAST_SCALE_MODE : 'lastScaleMode',
|
|
LAST_NAMESPACE : 'lastNamespace',
|
|
SHOW_SYSTEM : 'showSystem',
|
|
SORT_STACKS_BY : 'sortStacksBy',
|
|
TABLE_COUNT : 'tableCount',
|
|
THEME : 'theme',
|
|
},
|
|
|
|
PROJECT: {
|
|
TYPE_RANCHER: 'rancher_id',
|
|
TYPE_AZURE_USER: 'azuread_user',
|
|
TYPE_AZURE_GROUP: 'azuread_group',
|
|
TYPE_GITHUB_USER: 'github_user',
|
|
TYPE_GITHUB_TEAM: 'github_team',
|
|
TYPE_GITHUB_ORG: 'github_org',
|
|
TYPE_LDAP_USER: 'ldap_user',
|
|
TYPE_LDAP_GROUP: 'ldap_group',
|
|
TYPE_OPENLDAP_USER: 'openldap_user',
|
|
TYPE_OPENLDAP_GROUP: 'openldap_group',
|
|
TYPE_SHIBBOLETH_USER: 'shibboleth_user',
|
|
TYPE_SHIBBOLETH_GROUP: 'shibboleth_group',
|
|
|
|
PERSON: 'person',
|
|
TEAM: 'team',
|
|
ORG: 'org',
|
|
|
|
ROLE_MEMBER: 'member',
|
|
ROLE_OWNER: 'owner',
|
|
|
|
SUPPORTS_NETWORK_POLICY: [
|
|
'ipsec',
|
|
'vxlan',
|
|
]
|
|
},
|
|
|
|
PROJECT_TEMPLATE: {
|
|
DEFAULT: 'cattle',
|
|
},
|
|
|
|
RULE_VERBS: [
|
|
'create',
|
|
'read',
|
|
'update',
|
|
'delete',
|
|
'watch',
|
|
],
|
|
|
|
BASIC_POD_SECURITY_POLICIES: [
|
|
'allowPrivilegeEscalation',
|
|
'defaultAllowPrivilegeEscalation',
|
|
'hostIPC',
|
|
'hostNetwork',
|
|
'hostPID',
|
|
'privileged',
|
|
'readOnlyRootFilesystem'
|
|
],
|
|
|
|
VOLUME_POLICIES: [
|
|
'azureFile',
|
|
'azureDisk',
|
|
'flocker',
|
|
'flexVolume',
|
|
'hostPath',
|
|
'emptyDir',
|
|
'gcePersistentDisk',
|
|
'awsElasticBlockStore',
|
|
'gitRepo',
|
|
'secret',
|
|
'nfs',
|
|
'iscsi',
|
|
'glusterfs',
|
|
'persistentVolumeClaim',
|
|
'rbd',
|
|
'cinder',
|
|
'cephFS',
|
|
'downwardAPI',
|
|
'fc',
|
|
'configMap',
|
|
'vsphereVolume',
|
|
'quobyte',
|
|
'photonPersistentDisk',
|
|
'projected',
|
|
'portworxVolume',
|
|
'scaleIO',
|
|
'storageos',
|
|
'*',
|
|
],
|
|
|
|
ROLE_RULES: [
|
|
'CertificateSigningRequests',
|
|
'ClusterRoleBindings',
|
|
'ClusterRoles',
|
|
'Clusters',
|
|
'ComponentStatuses',
|
|
'ConfigMaps',
|
|
'ControllerRevisions',
|
|
'CronJobs',
|
|
'DaemonSets',
|
|
'Deployments',
|
|
'Endpoints',
|
|
'Events',
|
|
'HorizontalPodAutoscalers',
|
|
'Ingresses',
|
|
'Jobs',
|
|
'LimitRanges',
|
|
'Namespaces',
|
|
'NetworkPolicies',
|
|
'Nodes',
|
|
'PersistentVolumeClaims',
|
|
'PersistentVolumes',
|
|
'PodDisruptionBudgets',
|
|
'PodPreset',
|
|
'PodSecurityPolicies',
|
|
'PodTemplates',
|
|
'Pods',
|
|
'ReplicaSets',
|
|
'ReplicationControllers',
|
|
'ResourceQuotas',
|
|
'RoleBindings',
|
|
'Roles',
|
|
'Secrets',
|
|
'ServiceAccounts',
|
|
'Services',
|
|
'StatefulSets',
|
|
'StorageClasses',
|
|
],
|
|
|
|
// Ephemeral but same but across all browser tabs
|
|
SESSION: {
|
|
ACCOUNT_ID : 'accountId',
|
|
BACK_TO : 'backTo',
|
|
CONTAINER_ROUTE: 'containerSubRoute',
|
|
GITHUB_CACHE : 'githubCache',
|
|
GITHUB_ORGS : 'orgs',
|
|
GITHUB_TEAMS : 'teams',
|
|
IDENTITY : 'userIdentity',
|
|
IDENTITY_TYPE : 'userType',
|
|
LANGUAGE : 'language',
|
|
LOGIN_LANGUAGE : 'loginLanguage',
|
|
USER_ID : 'user',
|
|
USER_TYPE : 'userType',
|
|
},
|
|
|
|
SETTING: {
|
|
// Dots in key names do not mix well with Ember, so we use $ in their place.
|
|
DOT_CHAR: '$',
|
|
IMAGE_RANCHER: 'rancher$server$image',
|
|
VERSION_RANCHER: 'rancher$server$version',
|
|
VERSION_COMPOSE: 'rancher$compose$version',
|
|
VERSION_CLI: 'rancher$cli$version',
|
|
VERSION_CATTLE: 'cattle$version',
|
|
VERSION_MACHINE: 'docker$machine$version',
|
|
VERSION_GMS: 'go$machine$service$version',
|
|
CLI_URL: {
|
|
DARWIN: 'rancher$cli$darwin$url',
|
|
WINDOWS: 'rancher$cli$windows$url',
|
|
LINUX: 'rancher$cli$linux$url',
|
|
},
|
|
COMPOSE_URL: {
|
|
DARWIN: 'rancher$compose$darwin$url',
|
|
WINDOWS: 'rancher$compose$windows$url',
|
|
LINUX: 'rancher$compose$linux$url',
|
|
},
|
|
API_HOST: 'api$host',
|
|
CATALOG_URL: 'catalog$url',
|
|
ENGINE_URL: 'engine$install$url',
|
|
SUPPORTED_DOCKER: 'supported$docker$range',
|
|
NEWEST_DOCKER: 'newest$docker$version',
|
|
TELEMETRY: 'telemetry$opt',
|
|
AUTH_LOCAL_VALIDATE_DESC: 'api$auth$local$validate$description',
|
|
BALANCER_IMAGE: 'lb$instance$image',
|
|
FEEDBACK_FORM: 'ui$feedback$form',
|
|
SHOW_SYSTEM: 'ui$show$system',
|
|
SHOW_CUSTOM_HOST: 'ui$show$custom$host',
|
|
CLUSTER_TEMPLATE: 'default$cluster$template',
|
|
},
|
|
|
|
TABLES: {
|
|
DEFAULT_COUNT: 50
|
|
},
|
|
|
|
THEME: {
|
|
AUTO_UPDATE_TIMER : 1800000,
|
|
START_HOUR : 7,
|
|
END_HOUR : 18,
|
|
DEFAULT : 'ui-light',
|
|
},
|
|
|
|
USER: {
|
|
TYPE_NORMAL: 'user',
|
|
TYPE_ADMIN: 'admin',
|
|
BASIC_BEARER: 'x-api-bearer',
|
|
},
|
|
};
|
|
|
|
C.TOKEN_TO_SESSION_KEYS = [
|
|
C.SESSION.ACCOUNT_ID,
|
|
C.SESSION.USER_ID,
|
|
C.SESSION.USER_TYPE,
|
|
C.SESSION.GITHUB_TEAMS,
|
|
C.SESSION.GITHUB_ORGS,
|
|
C.SESSION.IDENTITY,
|
|
C.SESSION.IDENTITY_TYPE
|
|
];
|
|
|
|
C.LABELS_TO_IGNORE = [
|
|
C.LABEL.HASH,
|
|
];
|
|
|
|
C.LABEL_PREFIX_TO_IGNORE = [
|
|
'io.cattle.lifecycle.',
|
|
'beta.kubernetes.io/',
|
|
'node-role.kubernetes.io/',
|
|
'kubernetes.io/'
|
|
];
|
|
|
|
C.SYSTEM_LABELS_WITH_CONTROL = [
|
|
C.LABEL.SCHED_GLOBAL,
|
|
C.LABEL.HOSTNAME_OVERRIDE,
|
|
C.LABEL.DNS,
|
|
C.LABEL.START_ONCE,
|
|
C.LABEL.REQUESTED_IP,
|
|
C.LABEL.PULL_IMAGE,
|
|
C.LABEL.REQUIRE_ANY,
|
|
C.LABEL.SCHED_IPS,
|
|
C.LABEL.AGENT_IMAGE,
|
|
C.LABEL.DOCKER_VERSION,
|
|
C.LABEL.KERNEL_VERSION,
|
|
C.LABEL.KVM,
|
|
];
|
|
|
|
C.ACTIVEISH_STATES = [
|
|
'running',
|
|
'active',
|
|
'healthy',
|
|
'initializing',
|
|
'reinitializing',
|
|
'degraded',
|
|
'unhealthy',
|
|
'upgrading',
|
|
'upgraded',
|
|
];
|
|
|
|
C.READY_STATES = [
|
|
'healthy',
|
|
];
|
|
|
|
C.REMOVEDISH_STATES = [
|
|
'removed',
|
|
'purging',
|
|
'purged'
|
|
];
|
|
|
|
C.DISCONNECTED_STATES = [
|
|
'disconnected',
|
|
'reconnecting',
|
|
];
|
|
|
|
C.INITIALIZING_STATES = [
|
|
'initializing',
|
|
'reinitializing'
|
|
];
|
|
|
|
// This is populated by each app/components/schema/*
|
|
C.SUPPORTED_SCHEMA_INPUTS= [
|
|
'boolean',
|
|
'certificate',
|
|
'date',
|
|
'enum',
|
|
'float',
|
|
'host',
|
|
'int',
|
|
'multiline',
|
|
'password',
|
|
'service',
|
|
'string',
|
|
'masked',
|
|
'secret',
|
|
'base64',
|
|
];
|
|
|
|
export default C;
|