|
604 | 604 | "type": "string", |
605 | 605 | "description": "Target platform to run on, e.g., 'linux/amd64', 'linux/arm64', or 'windows/amd64'." |
606 | 606 | }, |
607 | | - "ports": { |
608 | | - "type": "array", |
609 | | - "description": "Expose container ports. Short format ([HOST:]CONTAINER[/PROTOCOL]).", |
610 | | - "items": { |
611 | | - "oneOf": [ |
612 | | - {"type": "number"}, |
613 | | - {"type": "string"}, |
614 | | - { |
615 | | - "type": "object", |
616 | | - "properties": { |
617 | | - "name": { |
618 | | - "type": "string", |
619 | | - "description": "A human-readable name for this port mapping." |
620 | | - }, |
621 | | - "mode": { |
622 | | - "type": "string", |
623 | | - "description": "The port binding mode, either 'host' for publishing a host port or 'ingress' for load balancing." |
624 | | - }, |
625 | | - "host_ip": { |
626 | | - "type": "string", |
627 | | - "description": "The host IP to bind to." |
628 | | - }, |
629 | | - "target": { |
630 | | - "type": ["integer", "string"], |
631 | | - "description": "The port inside the container." |
632 | | - }, |
633 | | - "published": { |
634 | | - "type": ["string", "integer"], |
635 | | - "description": "The publicly exposed port." |
636 | | - }, |
637 | | - "protocol": { |
638 | | - "type": "string", |
639 | | - "description": "The port protocol (tcp or udp)." |
640 | | - }, |
641 | | - "app_protocol": { |
642 | | - "type": "string", |
643 | | - "description": "Application protocol to use with the port (e.g., http, https, mysql)." |
644 | | - } |
645 | | - }, |
646 | | - "additionalProperties": false, |
647 | | - "patternProperties": {"^x-": {}} |
648 | | - } |
649 | | - ] |
650 | | - }, |
651 | | - "uniqueItems": true |
652 | | - }, |
| 607 | + "ports": {"$ref": "#/definitions/ports"}, |
653 | 608 | "post_start": { |
654 | 609 | "type": "array", |
655 | 610 | "items": {"$ref": "#/definitions/service_hook"}, |
|
929 | 884 | "type": ["object", "null"], |
930 | 885 | "description": "Development configuration for the service, used for development workflows.", |
931 | 886 | "properties": { |
| 887 | + "command": { |
| 888 | + "$ref": "#/definitions/command", |
| 889 | + "description": "Command to execute in development mode." |
| 890 | + }, |
| 891 | + "ports": { |
| 892 | + "$ref": "#/definitions/ports", |
| 893 | + "description": "Additional ports to expose in development mode. Short format ([HOST:]CONTAINER[/PROTOCOL])." |
| 894 | + }, |
932 | 895 | "watch": { |
933 | 896 | "type": "array", |
934 | 897 | "description": "Configure watch mode for the service, which monitors file changes and performs actions in response.", |
|
1589 | 1552 | "required": ["command"] |
1590 | 1553 | }, |
1591 | 1554 |
|
| 1555 | + "ports": { |
| 1556 | + "type": "array", |
| 1557 | + "description": "Expose container ports. Short format ([HOST:]CONTAINER[/PROTOCOL]).", |
| 1558 | + "items": { |
| 1559 | + "oneOf": [ |
| 1560 | + {"type": "number"}, |
| 1561 | + {"type": "string"}, |
| 1562 | + { |
| 1563 | + "type": "object", |
| 1564 | + "properties": { |
| 1565 | + "name": { |
| 1566 | + "type": "string", |
| 1567 | + "description": "A human-readable name for this port mapping." |
| 1568 | + }, |
| 1569 | + "mode": { |
| 1570 | + "type": "string", |
| 1571 | + "description": "The port binding mode, either 'host' for publishing a host port or 'ingress' for load balancing." |
| 1572 | + }, |
| 1573 | + "host_ip": { |
| 1574 | + "type": "string", |
| 1575 | + "description": "The host IP to bind to." |
| 1576 | + }, |
| 1577 | + "target": { |
| 1578 | + "type": ["integer", "string"], |
| 1579 | + "description": "The port inside the container." |
| 1580 | + }, |
| 1581 | + "published": { |
| 1582 | + "type": ["string", "integer"], |
| 1583 | + "description": "The publicly exposed port." |
| 1584 | + }, |
| 1585 | + "protocol": { |
| 1586 | + "type": "string", |
| 1587 | + "description": "The port protocol (tcp or udp)." |
| 1588 | + }, |
| 1589 | + "app_protocol": { |
| 1590 | + "type": "string", |
| 1591 | + "description": "Application protocol to use with the port (e.g., http, https, mysql)." |
| 1592 | + } |
| 1593 | + }, |
| 1594 | + "additionalProperties": false, |
| 1595 | + "patternProperties": {"^x-": {}} |
| 1596 | + } |
| 1597 | + ] |
| 1598 | + }, |
| 1599 | + "uniqueItems": true |
| 1600 | + }, |
| 1601 | + |
1592 | 1602 | "env_file": { |
1593 | 1603 | "oneOf": [ |
1594 | 1604 | { |
|
0 commit comments