aboutsummaryrefslogtreecommitdiffstats
path: root/blueprints/k8s-datalake-des.yaml
blob: 674daa21e56712382aae03d2ba368349e05a3f0d (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# ============LICENSE_START====================================================
# =============================================================================
# Copyright (C) 2020 China Mobile
# Copyright (C) 2021 Wipro Limited.
# =============================================================================
# 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======================================================
#author: Kai Lu (lukai@chinamobile.com)
tosca_definitions_version: cloudify_dsl_1_3
imports:
  - "https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml"
  - plugin:k8splugin?version=>=3.4.3,<4.0.0
  - plugin:pgaas?version=1.3.0
inputs:
  service_name:
    type: string
    default: 'dcae-des'
  pg_dbName:
    type: string
    description: DB name
    default: "datalake"
  presto_address:
    type: string
    description: Presto URL
    default: "dl-presto"
  presto_port:
    type: string
    description: Presto port
    default: "9000"
  presto_username:
    type: string
    description: Presto Username
    default: "user"
  presto_password:
    description: Presto password
    type: string
    default: "test"
  image_name:
    description: des image URL.
    type: string
    default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.1
  dl_hostname:
    type: string
    description: dl default des_hostname
    default: k8s-des
  container_port:
    type: string
    description: exposed container port
    default: "1681"
  host_port:
    type: string
    description: external port
    default: "30409"
  pgaas_cluster_name:
    type: string
    description: pg cluster
    default: "dcae-pg-primary.onap"

node_templates:
  despgaas:
    type: dcae.nodes.pgaas.database
    properties:
      writerfqdn: { get_input: pgaas_cluster_name }
      name: { get_input: pg_dbName}
      use_existing: true

  datalake:
    type: dcae.nodes.ContainerizedServiceComponent
    interfaces:
      cloudify.interfaces.lifecycle:
        start:
          inputs:
            ports:
              - '1681:0'
              - concat: [{get_input: container_port},":",{get_input: host_port}]
            envs:
              PG_HOST:
               { get_attribute: [ despgaas, admin, host ] }
              PG_PORT:
                { get_attribute: [ despgaas, admin, port ] }
              PG_USER:
                { get_attribute: [ despgaas, admin, user ] }
              PG_PASSWORD:
                { get_attribute: [ despgaas, admin, password ] }
              PG_DB:
                get_input: pg_dbName
              PRESTO_HOST:
                get_input: presto_address
              PRESTO_PORT:
                get_input: presto_port
              PRESTO_USER:
                get_input: presto_username
              PRESTO_PASSWORD:
                get_input: presto_password

    properties:
      application_config:
        PG_HOST:
          { get_attribute: [ despgaas, admin, host ] }
        PG_PORT:
          { get_attribute: [ despgaas, admin, port ] }
        PG_USER:
          { get_attribute: [ despgaas, admin, user ] }
        PG_PASSWORD:
          { get_attribute: [ despgaas, admin, password ] }
        PRESTO_HOST:
          get_input: presto_address
        PRESTO_PORT:
          get_input: presto_port
        PRESTO_USER:
          get_input: presto_username
        PRESTO_PASSWORD:
          get_input: presto_password
        HOSTNAME:
          get_input: dl_hostname
      image:
          get_input: image_name
      docker_config:
        healthcheck:
          interval: 90s
          timeout: 10s
          type: http
          endpoint: /datalake/v1/exposure
      service_component_type: 'dcae-des'
      service_id: 'dcae-des'
      service_component_name_override: 'dcae-des'
    relationships:
    - type: cloudify.relationships.depends_on
      target: despgaas