blob: 0d75c78b909b37ea8cd3c1dddec365b30c70fe7a [file] [log] [blame]
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
tosca_definitions_version: tosca_simple_yaml_1_0
description: Setup the CDN on the pod
imports:
- custom_types/xos.yaml
topology_template:
node_templates:
Private:
type: tosca.nodes.NetworkTemplate
management:
type: tosca.nodes.network.Network.XOS
properties:
no-create: true
no-delete: true
no-update: true
# cdn-public:
# type: tosca.nodes.network.Network
# properties:
# ip_version: 4
# cidr: 207.141.192.128/28
# requirements:
# - network_template:
# node: Private
# relationship: tosca.relationships.UsesNetworkTemplate
# - owner:
# node: mysite_cdn
# relationship: tosca.relationships.MemberOfSlice
# - connection:
# node: mysite_cdn
# relationship: tosca.relationships.ConnectsToSlice
mysite:
type: tosca.nodes.Site
public:
type: tosca.nodes.network.Network.XOS
properties:
no-create: true
no-delete: true
no-update: true
service#cdn:
type: tosca.nodes.Service
properties:
public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
private_key_fn: /opt/xos/services/cdn/keys/amc_id_rsa
artifacts:
pubkey: /opt/cord_profile/key_import/cdnnode_id_rsa.pub
mysite_cdn_control:
description: This slice holds the controller for the CDN
type: tosca.nodes.Slice
properties:
network: noauto
requirements:
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
- public:
node: public
relationship: tosca.relationships.ConnectsToNetwork
- cdn_service:
node: service#cdn
relationship: tosca.relationships.MemberOfService
mysite_cdn_nodes:
description: This slice holds the hypercache/rr nodes for the CDN
type: tosca.nodes.Slice
properties:
network: noauto
requirements:
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
- public:
node: public
relationship: tosca.relationships.ConnectsToNetwork
- cdn_service:
node: service#cdn
relationship: tosca.relationships.MemberOfService
mysite_cdn_cli:
description: This slice holds the hypercache/rr nodes for the CDN
type: tosca.nodes.Slice
properties:
network: noauto
requirements:
- site:
node: mysite
relationship: tosca.relationships.MemberOfSite
- management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
- public:
node: public
relationship: tosca.relationships.ConnectsToNetwork
- cdn_service:
node: service#cdn
relationship: tosca.relationships.MemberOfService