forked from mboldt/docs-tiledev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html.md.erb
146 lines (100 loc) · 7.79 KB
/
index.html.md.erb
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
140
141
142
143
144
145
146
---
title: Ops Manager Tile Developer Guide
owner: Services
---
<% current_page.data.title = vars.platform_name + " Tile Developer Guide" %>
This topic exists to help VMware Tanzu Partners learn the high-level process of building and publishing an Ops Manager tile on [VMware Tanzu Network](https://network.pivotal.io/).
For advanced developers with previous experience building tiles, see [Property and Template References](./property-template-references.html) and [Development Workflow Reference](./dev-workflow.html).
## <a id="tile-def"></a> What is a Tile?
Tiles are packaged software that can be integrated into <%= vars.platform_name %>. Operators can install tiles on <%= vars.platform_name %>. Developers can use these services after they are installed.
Tile developers can publish tiles on VMware Tanzu Network, where services and tiles are available for download.
###Tile Structure
Tiles are packaged as compressed files with a `.pivotal` file extension.
These compressed files require three subdirectories: `metadata`, `migrations`, and `releases`.
When you package your software with Tile Generator, it generates these subdirectories for you. You can perform different actions within each subdirectory:
<table class="nice">
<tr>
<th style="width: 20%">Directory</th>
<th>Description</th>
</tr>
<tr>
<td><code>metadata</code></td>
<td>Configure settings for your software in a YAML file.
</tr>
<tr>
<td><code>migrations</code></td>
<td>Track changes across different releases in a <code>.js</code> file. Only tiles with multiple releases use this subdirectory. Do not modify the files in this subdirectory during your first tile release. </td>
</tr>
<tr>
<td><code>releases</code></td>
<td>Deploy your service source code and other inputs for your build, such as a BOSH release. </td>
</tr>
</table>
## <a id="tile-value"></a> Why Build a Tile?
There are multiple reasons to build and publish a tile on VMware Tanzu Network. Tiles can help you:
* Find the widest possible audience for your service.
* Join a growing ecosystem that can integrate your service.
* Enable operators and app developers to interact with your service in an accessible and standardized way.
## <a id="tile-steps"></a> Building Your First Tile
There are two options for building your first tile. You can either attend partner days or develop independently. However, <%= vars.company_name %> strongly recommends attending Partner Days for hands-on guidance.
### <a id="partner-days"></a> Attending Partner Days
<iframe width="560" height="315" src="https://www.youtube.com/embed/eX2c8zXF6D4?rel=0" frameborder="0" allow="encrypted-media" allowfullscreen></iframe>
Partner Days are the single best resource to introduce you to <%= vars.platform_name %> and tile development. During these three-day workshops, VMware and Independent Software Vendor (ISV) engineers collaborate to prototype and build a software integration with <%= vars.platform_name %>.
These events streamline your development process by providing hands-on guidance, giving you a head start for publishing a tile on VMware Tanzu Network. The workshop is free for all VMware Tanzu partners.
VMware recommends any interested partner to [register for Partner Days](https://pivotal.io/event/partner-days/). If you are not a VMware Tanzu partner yet, you can [sign up for the partner program](https://pivotal.io/partners/programs/tech).
### <a id="develop-independently"></a> Developing Independently
If you want to build a tile without attending Partner Days, follow the procedure below to minimize the learning curve for tile development.
Creating a tile is a complex process and can be time consuming to complete on your own. You can message the VMware Tanzu Partners Slack channel with questions if you [register for the VMware Tanzu Partner program](https://pivotal.io/partners/programs/tech).
#### <a id="tools"></a> 1. Decide What to Build
If you use Tile Generator to package your software you also need to determine the inputs you need to build before development. Inputs for your tile also depend on the service you are providing.
Before starting tile development, see [How <%= vars.app_runtime_abbr %> and <%= vars.platform_name %> Services Work](./cf-concepts.html).
Depending on what you build, you might need to install the following tools:
- [Tile Generator](./tile-generator.html#-how-to-use): Used to package your software into a tile.
- [BOSH Command Line Interface (CLI)](https://bosh.io/docs/cli-v2/): A CLI for running BOSH commands. You need BOSH commands to run Tile Generator.
- [Cloud Foundry Command Line Interface (cf CLI)](https://github.com/cloudfoundry/cli#downloads): A CLI for deploying and managing apps on Cloud Foundry. If you are developing on Cloud Foundry, you use cf CLI when building your tile.
- [Kubernetes Command Line Tool (kubectl)](https://kubernetes.io/docs/tasks/tools/install-kubectl/): A CLI for deploying and managing apps on Kubernetes. If you are developing on Kubernetes, you use kubectl when building your tile.
- [CF Dev](https://github.com/cloudfoundry-incubator/cfdev) (optional): A lightweight <%= vars.app_runtime_full %> installation for deploying and debugging apps locally. You can use CF Dev if you want to run <%= vars.app_runtime_abbr %> on your local workstation.
#### <a id="generate"></a> 2. Generate a Tile
Tile Generator is a tool that simplifies the building process for tiles. To use Tile Generator, upload your software components, such as the service broker, buildpack, and Docker image, and the tool generates a base tile.
For information about setting up Tile Generator and building a base tile, see [Tile Generator](./tile-generator.html).
#### <a id="test"></a> 3. Test Your Tile
Before you publish your tile, you can test it manually using a Partner Integration Environment (PIE). In PIE you can see how the tile functions on an IaaS, such as Amazon Web Services (AWS) or Google Cloud Platform (GCP). You can upload, configure, and install your tile in PIE just like an operator would.
To gain access to your PIE, reach out to your contact at <%= vars.company_name %> or [register as a partner](https://partners.pivotal.io/).
If you already have access to your PIE, for information information about how to log in, see [Development Environments](./environments.html).
#### <a id="document"></a> 4. Document Your Tile
When you are ready to publish your tile, write documentation. Documentation is valuable for operators who use your tile.
For more information about how to write and publish documentation for your tile, see [Tile Documentation](./tile-documentation.html).
#### <a id="publish"></a> 5. Publish Your Tile on VMware Tanzu Network
Contact your <%= vars.company_name %> representative who can guide you through the process of uploading your tile to VMware Tanzu Network. When you upload your tile to VMware Tanzu Network, it becomes available for operators and developers to do the following:
<table class="nice">
<tr>
<th>Audience</th>
<th>Benefits</th>
</tr>
<tr>
<td>Operators</td>
<td>
<ul>
<br>
<li>Download and install your service as a tile.</li>
<li>Configure your service using a UI.</li>
<li>Update your service with a single click.</li>
</ul>
</td>
</tr>
<tr>
<td>Developers</td>
<td>
<ul>
<br>
<li>See your service on VMware Tanzu Network.</li>
<li>Select service plans to which they would like to subscribe.</li>
<li>Create instances of your service and call them from their apps.</li>
<li>Support a continuous and fast development cycle.</li>
</ul>
</td>
</tr>
</table>
For information about the release cycle for Partner tiles, see [Partner Software Release Cycle](./releases.html).
## <a id="contact"></a> Contact Us
If you want to learn more about the VMware Tanzu ISV Partner Program or request help with your integration project, see [Contact Us](./contacts.html).