summaryrefslogtreecommitdiffstats
path: root/datafile-app-server/dpo/blueprints/k8s-datafile.yaml
blob: 0e668b10adc9b0867465ead7f7826df3b26cfd15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# -*- indent-tabs-mode: nil -*- # vi: set expandtab:
#
# ============LICENSE_START====================================================
# =============================================================================
# Copyright (c) 2018-2019 AT&T Intellectual Property, 2019 Nordix Foundation. All rights reserved.
# =============================================================================
# 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.
# ============LICENSE_END======================================================

tosca_definitions_version: cloudify_dsl_1_3

imports:
  - "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml"
  - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.13/k8splugin_types.yaml"
  - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml"

inputs:
  dmaap_mr_host:
    type: string
    description: dmaap messagerouter host
    default: message-router.onap.svc.cluster.local
  dmaap_mr_port:
    type: integer
    description: dmaap messagerouter port
    default: 3905
  dmaap_mr_protocol:
    type: string
    description: dmaap messagerouter protocol
    default: "https"
  tag_version:
    type: string
    description: DFC image tag/version
    default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.2.0"
  replicas:
    type: integer
    description: number of instances
    default: 1
  secureEnableCert:
    type: boolean
    description: enable certificate base connection with PNF and DMaap
    default: false
  feedName:
    type: string
    description: feed name for dmaap producerconfiguration
    default: "bulk_pm_feed"
  feedDescription:
    type: string
    default: "Feed for Bulk PM files"

node_templates:
  bulk_pm_feed:
    type: ccsdk.nodes.Feed
    properties:
      feed_name: { get_input: feedName }
      feed_description: { get_input: feedDescription }

  datafile-collector:
    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap

    relationships:
      - type: ccsdk.relationships.publish_files
        target: bulk_pm_feed

    interfaces:
      cloudify.interfaces.lifecycle:
        start:
          inputs:
            ports:
              - concat: ["8100:0"]
              - concat: ["8433:0"]

    properties:
      service_component_type: 'dcae-datafile'
      application_config:
        dmaap.ftpesConfig.keyCert: "/opt/app/datafile/config/dfc.jks"
        dmaap.ftpesConfig.keyPassword: "secret"
        dmaap.ftpesConfig.trustedCa: "/opt/app/datafile/config/ftp.jks"
        dmaap.ftpesConfig.trustedCaPassword: "secret"
        dmaap.security.trustStorePath: "/opt/app/datafile/etc/cert/trust.jks"
        dmaap.security.trustStorePasswordPath: "/opt/app/datafile/etc/cert/trust.pass"
        dmaap.security.keyStorePath: "/opt/app/datafile/etc/cert/key.p12"
        dmaap.security.keyStorePasswordPath: "/opt/app/datafile/etc/cert/key.pass"
        dmaap.security.enableDmaapCertAuth: { get_input: secureEnableCert }
        streams_publishes:
          PM_MEAS_FILES:
            dmaap_info: <<bulk_pm_feed>>
            type: data_router
        streams_subscribes:
          dmaap_subscriber:
            type:
              "message_router"
            dmaap_info:
              topic_url:
                { concat: [{ get_input: dmaap_mr_protocol },"://",{ get_input: dmaap_mr_host },
                           ":",{ get_input: dmaap_mr_port },"/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12"]}
      streams_publishes:
        - name: bulk_pm_feed
          type: data_router
          location: "loc00"
      docker_config:
        healthcheck:
          endpoint: /heartbeat
          interval: 15s
          timeout: 1s
          type: http
      image:
        get_input: tag_version
      replicas: {get_input: replicas}
      log_info:
        log_directory: "/var/log/ONAP"
      tls_info:
        cert_directory: '/opt/app/datafile/etc/cert/'
        use_tls: true