package io.cattle.platform.core.constants; import io.cattle.platform.core.model.Service; import io.cattle.platform.core.model.Stack; import io.cattle.platform.object.util.DataAccessor; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class ServiceConstants { public static final String KIND_SERVICE = "service"; public static final String KIND_LOAD_BALANCER_SERVICE = "loadBalancerService"; public static final String KIND_EXTERNAL_SERVICE = "externalService"; public static final String KIND_DNS_SERVICE = "dnsService"; public static final String KIND_STORAGE_DRIVER_SERVICE = "storageDriverService"; public static final String KIND_NETWORK_DRIVER_SERVICE = "networkDriverService"; public static final Set<String> SERVICE_LIKE = new HashSet<>(Arrays.asList( KIND_SERVICE, KIND_LOAD_BALANCER_SERVICE, KIND_STORAGE_DRIVER_SERVICE, KIND_NETWORK_DRIVER_SERVICE )); public static final String TYPE_STACK = "stack"; public static final String FIELD_SCALE = "scale"; public static final String FIELD_NETWORK_ID = "networkId"; public static final String FIELD_SERVICE_ID = "serviceId"; public static final String FIELD_SERVICE_IDS = "serviceIds"; public static final String FIELD_UPGRADE = "upgrade"; public static final String FIELD_LAUNCH_CONFIG = "launchConfig"; public static final String FIELD_LOG_CONFIG = "logConfig"; public static final String FIELD_TMPFS= "tmpfs"; public static final String FIELD_ULIMITS = "ulimits"; public static final String FIELD_BLKIOOPTIONS = "blkioDeviceOptions"; public static final String FIELD_LOAD_BALANCER_CONFIG = "loadBalancerConfig"; public static final String FIELD_EXTERNALIPS = "externalIpAddresses"; public static final String FIELD_LINKED_SERVICES = "linkedServices"; public static final String FIELD_SERVICE_LINKS = "serviceLinks"; public static final String FIELD_SERVICE_LINK_NAME = "name"; public static final String FIELD_NETWORK_LAUNCH_CONFIG = "networkLaunchConfig"; public static final String FIELD_SECONDARY_LAUNCH_CONFIGS = "secondaryLaunchConfigs"; public static final String FIELD_DATA_VOLUMES_LAUNCH_CONFIG = "dataVolumesFromLaunchConfigs"; public static final String FIELD_WAIT_FOR_CONSUMED_SERVICES_IDS = "waitForConsumedServicesIds"; public static final String FIELD_SERVICE_LINK = "serviceLink"; public static final String FIELD_HOSTNAME = "hostname"; public static final String FIELD_VIP = "vip"; public static final String FIELD_METADATA = "metadata"; public static final String FIELD_VERSION = "version"; public static final String FIELD_SELECTOR_CONTAINER = "selectorContainer"; public static final String FIELD_SELECTOR_LINK = "selectorLink"; public static final String FIELD_START_ON_CREATE = "startOnCreate"; public static final String FIELD_IN_SERVICE_STRATEGY = "inServiceStrategy"; public static final String FIELD_TO_SERVICE_STRATEGY = "toServiceStrategy"; public static final String FIELD_FQDN = "fqdn"; public static final String FIELD_OUTPUTS = "outputs"; public static final String FIELD_PUBLIC_ENDPOINTS = "publicEndpoints"; public static final String FIELD_RESTART = "restart"; public static final String FIELD_TOKEN = "token"; public static final String FIELD_SERVICE_RETAIN_IP = "retainIp"; public static final String STACK_FIELD_DOCKER_COMPOSE = "dockerCompose"; public static final String STACK_FIELD_RANCHER_COMPOSE = "rancherCompose"; public static final String STACK_FIELD_START_ON_CREATE = "startOnCreate"; public static final String STACK_FIELD_SERVICE_IDS = "serviceIds"; public static final String STACK_FIELD_ENVIRONMENT = "environment"; public static final String STACK_FIELD_BINDING = "binding"; public static final String STACK_FIELD_EXTERNAL_ID = "externalId"; public static final String FIELD_SET_VIP = "assignServiceIpAddress"; public static final String FIELD_SCALE_POLICY = "scalePolicy"; public static final String FIELD_DESIRED_SCALE = "desiredScale"; public static final String FIELD_CURRENT_SCALE = "currentScale"; public static final String FIELD_HEALTH_STATE = "healthState"; public static final String FIELD_LOCKED_SCALE = "lockedScale"; public static final String FIELD_STACK_ID = "stackId"; public static final String FIELD_SYSTEM = "system"; public static final String FIELD_VOLUME_TEMPLATES = "volumeTemplates"; public static final String FIELD_VOLUME_DRIVER = "driver"; public static final String FIELD_VOLUME_DRIVER_OPTS = "driverOpts"; public static final String FIELD_VOLUME_EXTERNAL = "external"; public static final String FIELD_VOLUME_PER_CONTAINER = "perContainer"; public static final String FIELD_INSTANCE_IDS = "instanceIds"; public static final String FIELD_LB_CONFIG = "lbConfig"; public static final String FIELD_STORAGE_DRIVER = "storageDriver"; public static final String FIELD_NETWORK_DRIVER = "networkDriver"; public static final String FIELD_PORT_RULES = "portRules"; public static final String FIELD_EXECUTION_COUNT = "executionCount"; public static final String FIELD_EXECUTION_PERIOD_START = "executionPeriodStart"; public static final String FIELD_INTERNAL_VOLUMES = "internalVolumes"; public static final String FIELD_VOLUME_TEMPLATE_ID = "volumeTemplateId"; public static final String FIELD_DEPLOYMENT_UNIT_ID = "deploymentUnitId"; public static final String FIELD_SERVICE_INDEX_STRATEGY = "serviceIndexStrategy"; public static final String ACTION_SERVICE_ACTIVATE = "activate"; public static final String ACTION_SERVICE_CREATE = "create"; public static final String ACTION_SERVICE_ADD_SERVICE_LINK = "addservicelink"; public static final String ACTION_SERVICE_REMOVE_SERVICE_LINK = "removeservicelink"; public static final String ACTION_STACK_ACTIVATE_SERVICES = "activateservices"; public static final String ACTION_STACK_DEACTIVATE_SERVICES = "deactivateservices"; public static final String ACTION_SERVICE_SET_SERVICE_LINKS = "setservicelinks"; public static final String ACTION_SERVICE_UPGRADE = "upgrade"; public static final String ACTION_SERVICE_ROLLBACK = "rollback"; public static final String ACTION_ADD_OUTPUTS = "addoutputs"; public static final String ACTION_SERVICE_RESTART = "restart"; public static final String ACTION_SERVICE_CERTIFICATE = "certificate"; public static final String PROCESS_SERVICE_ACTIVATE = "service." + ACTION_SERVICE_ACTIVATE; public static final String PROCESS_SERVICE_CREATE = "service." + ACTION_SERVICE_CREATE; public static final String PROCESS_STACK_ACTIVATE_SERVICES = "stack." + ACTION_STACK_ACTIVATE_SERVICES; public static final String PROCESS_STACK_DEACTIVATE_SERVICES = "stack." + ACTION_STACK_DEACTIVATE_SERVICES; public static final String PROCESS_STACK_UPGRADE = "stack.upgrade"; public static final String PROCESS_STACK_UPDATE = "stack.update"; public static final String PROCESS_STACK_REMOVE = "stack.remove"; public static final String PROCESS_SERVICE_DEACTIVATE = "service.deactivate"; public static final String PROCESS_SERVICE_REMOVE = "service.remove"; public static final String PROCESS_STACK_EXPORT_CONFIG = "stack.exportconfig"; public static final String PROCESS_STACK_FINISH_UPGRADE = "stack.finishupgrade"; public static final String PROCESS_SERVICE_ADD_SERVICE_LINK = "service." + ACTION_SERVICE_ADD_SERVICE_LINK; public static final String PROCESS_SERVICE_REMOVE_SERVICE_LINK = "service." + ACTION_SERVICE_REMOVE_SERVICE_LINK; public static final String PROCESS_SERVICE_CONSUME_MAP_CREATE = "serviceconsumemap.create"; public static final String PROCESS_SERVICE_CONSUME_MAP_REMOVE = "serviceconsumemap.remove"; public static final String PROCESS_SERVICE_CONSUME_MAP_UPDATE = "serviceconsumemap.update"; public static final String PROCESS_SERVICE_UPDATE = "service.update"; public static final String PROCESS_SERVICE_SET_SERVICE_LINKS = "service." + ACTION_SERVICE_SET_SERVICE_LINKS; public static final String PROCESS_SERVICE_EXPOSE_MAP_CREATE = "serviceexposemap.create"; public static final String PROCESS_SERVICE_EXPOSE_MAP_REMOVE = "serviceexposemap.remove"; public static final String PROCESS_SERVICE_UPGRADE = "service." + ACTION_SERVICE_UPGRADE; public static final String PROCESS_SERVICE_ROLLBACK = "service." + ACTION_SERVICE_ROLLBACK; public static final String PROCESS_SERVICE_FINISH_UPGRADE = "service.finishupgrade"; public static final String PROCESS_SERVICE_RESTART = "service." + ACTION_SERVICE_RESTART; public static final String PROCESS_SERVICE_INDEX_REMOVE = "serviceindex.remove"; public static final String PROCESS_SERVICE_CERTIFICATE = "service." + ACTION_SERVICE_CERTIFICATE; public static final String LINK_DOCKER_COMPOSE_CONFIG = "dockerComposeConfig"; public static final String LINK_RANCHER_COMPOSE_CONFIG = "rancherComposeConfig"; public static final String LINK_COMPOSE_CONFIG = "composeConfig"; public static final String LABEL_SERVICE_DEPLOYMENT_UNIT = "io.rancher.service.deployment.unit"; public static final String LABEL_STACK_NAME = "io.rancher.stack.name"; public static final String LABEL_STACK_SERVICE_NAME = "io.rancher.stack_service.name"; // LEGACY: preserving project_name public static final String LABEL_PROJECT_NAME = "io.rancher.project.name"; public static final String LABEL_PROJECT_SERVICE_NAME = "io.rancher.project_service.name"; public static final String LABEL_SERVICE_GLOBAL = "io.rancher.scheduler.global"; public static final String LABEL_SERVICE_REQUESTED_HOST_ID = "io.rancher.service.requested.host.id"; public static final String LABEL_SERVICE_LAUNCH_CONFIG = "io.rancher.service.launch.config"; public static final String LABEL_SIDEKICK = "io.rancher.sidekicks"; public static final String LABEL_LB_TARGET = "io.rancher.loadbalancer.target."; public static final String LABEL_OVERRIDE_HOSTNAME = "io.rancher.container.hostname_override"; public static final String LABEL_LB_SSL_PORTS = "io.rancher.loadbalancer.ssl.ports"; public static final String LABEL_LB_PROXY_PORTS = "io.rancher.loadbalancer.proxy-protocol.ports"; public static final String LABEL_SELECTOR_CONTAINER = "io.rancher.service.selector.container"; public static final String LABEL_SELECTOR_LINK = "io.rancher.service.selector.link"; public static final String LABEL_SERVICE_HASH = "io.rancher.service.hash"; public static final String PRIMARY_LAUNCH_CONFIG_NAME = "io.rancher.service.primary.launch.config"; public static final String STATE_UPGRADING = "upgrading"; public static final String STATE_ROLLINGBACK = "rolling-back"; public static final String STATE_CANCELING_UPGRADE = "canceling-upgrade"; public static final String STATE_CANCELED_UPGRADE = "canceled-upgrade"; public static final String STATE_UPGRADED = "upgraded"; public static final String STATE_FINISHING_UPGRADE = "finishing-upgrade"; public static final String STATE_RESTARTING = "restarting"; public static final String IMAGE_NONE = "rancher/none"; public static final String AUDIT_LOG_REMOVE_EXTRA = "Removing extra service instance"; public static final String AUDIT_LOG_REMOVE_UNHEATLHY = "Removing unhealthy service instance"; public static final String AUDIT_LOG_REMOVE_BAD = "Removing bad service instance"; public static final String AUDIT_LOG_CREATE_EXTRA = "Creating extra service instance"; public static final String SERVICE_INDEX_DU_STRATEGY = "deploymentUnitBased"; public static final String PROCESS_DATA_SERVICE_RECONCILE = "reconcileState"; public static boolean isSystem(Stack stack) { return stack.getSystem() || DataAccessor.fieldBool(stack, FIELD_SYSTEM)|| DataAccessor.fieldBool(stack, "isSystem"); } public static boolean isSystem(Service service) { return service.getSystem() || DataAccessor.fieldBool(service, FIELD_SYSTEM); } }