---
swift_services:
  swift-proxy-server:
    group: swift-proxy-server
    enabled: true
    haproxy:
      swift_api:
        enabled: "{{ enable_swift }}"
        mode: "http"
        external: false
        port: "{{ swift_proxy_server_listen_port }}"
      swift_api_external:
        enabled: "{{ enable_swift }}"
        mode: "http"
        external: true
        port: "{{ swift_proxy_server_listen_port }}"

####################
# Docker
####################
swift_tag: "{{ openstack_tag }}"

swift_proxy_server_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/swift-proxy-server"
swift_proxy_server_tag: "{{ swift_tag }}"
swift_proxy_server_image_full: "{{ swift_proxy_server_image }}:{{ swift_proxy_server_tag }}"

swift_account_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/swift-account"
swift_account_tag: "{{ swift_tag }}"
swift_account_image_full: "{{ swift_account_image }}:{{ swift_account_tag }}"

swift_container_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/swift-container"
swift_container_tag: "{{ swift_tag }}"
swift_container_image_full: "{{ swift_container_image }}:{{ swift_container_tag }}"

swift_object_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/swift-object"
swift_object_tag: "{{ swift_tag }}"
swift_object_image_full: "{{ swift_object_image }}:{{ swift_object_tag }}"

swift_object_expirer_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/swift-object-expirer"
swift_object_expirer_tag: "{{ swift_tag }}"
swift_object_expirer_image_full: "{{ swift_object_expirer_image }}:{{ swift_object_expirer_tag }}"

swift_rsyncd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/swift-rsyncd"
swift_rsyncd_tag: "{{ swift_tag }}"
swift_rsyncd_image_full: "{{ swift_rsyncd_image }}:{{ swift_rsyncd_tag }}"

swift_log_level: "{{ 'DEBUG' if openstack_logging_debug | bool else 'INFO' }}"

####################
# OpenStack
####################
swift_logging_debug: "{{ openstack_logging_debug }}"

swift_keystone_user: "swift"
swift_admin_tenant_name: "admin"

swift_devices_mount_point: "/srv/node"
swift_devices_match_mode: "strict"
swift_devices_name: "KOLLA_SWIFT_DATA"
# For S3 API we need to defer the auth decision to allow s3api and s3token
# middlewares to process requests using EC2 credentials.
swift_delay_auth_decision: "{{ enable_swift_s3api | bool }}"

# Boolean, true if there is a dedicated replication network.
swift_has_replication_network: "{{ swift_storage_interface != swift_replication_interface }}"

openstack_swift_auth: "{{ openstack_auth }}"

syslog_server: "{{ api_interface_address }}"
syslog_swift_facility: "local0"

swift_enable_rolling_upgrade: "yes"

swift_extra_ring_files: []

swift_account_workers: "{{ openstack_service_workers }}"
swift_container_workers: "{{ openstack_service_workers }}"
swift_object_workers: "{{ openstack_service_workers }}"
swift_proxy_server_workers: "{{ openstack_service_workers }}"

####################
# Keystone
####################
swift_ks_services:
  - name: "swift"
    type: "object-store"
    description: "Openstack Object Storage"
    endpoints:
      - {'interface': 'internal', 'url': '{{ swift_internal_endpoint }}'}
      - {'interface': 'public', 'url': '{{ swift_public_endpoint }}'}

swift_ks_users:
  - project: "service"
    user: "{{ swift_keystone_user }}"
    password: "{{ swift_keystone_password }}"
    role: "admin"


# FIXME(yoctozepto): These are copied from service-images-pull role.
# Remove when the Swift role is finally migrated to new style.
service_images_pull_retries: 3
service_images_pull_delay: 5
