You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Adds the `Latest release` shield/badge to the top of the README
- Cleans up references to the old Dev Guide url
- Updates `Cloud Native` references to `Cloud-Native`
- Adds information on the development process and the automated workflows
- Removes the workflow badge from the .tile/docs/README.md
This repository contains infrastructure as code (IasC) scripting to create an IBM Garage Clout Native Toolkit development environment ready for cloud-native application development with IBM Cloud Kubernetes Service or Red Hat OpenShift.
7
+
This repository contains infrastructure as code (IasC) scripting to create an IBM Garage Clout Native Toolkit
8
+
development environment ready for cloud-native application development with IBM Cloud Kubernetes Service or
9
+
Red Hat OpenShift.
5
10
6
11
### Overview
7
12
8
-
Iteration Zero creates an IBM Garage Cloud Native Toolkit environment in IBM Cloud, complete with tools and services needed for continious delivery of typical cloud-native applications to a [IBM Cloud Kubernetes Service](https://cloud.ibm.com/docs/containers) or [Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/openshift) cluster. Typically a squad lead or lead developer would create this environment after the initial inception workshop has completed and the development team is ready to write code.
13
+
Iteration Zero creates an IBM Garage Cloud-Native Toolkit environment in IBM Cloud, complete with tools and services
14
+
needed for continious delivery of typical cloud-native applications to a
15
+
[IBM Cloud Kubernetes Service](https://cloud.ibm.com/docs/containers) or
16
+
[Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/openshift) cluster. Typically, a squad lead or
17
+
Site Reliability Engineer (SRE) would create this environment after the toolchain has been decided upon (often during
18
+
the Inception workshop) and before development team is ready to write code (when Iteration One has started).
9
19
10
-
The objective of this environment is to reduce the amount of time and effort a team needs to spend creating and configuring their Kubernetes or OpenShift development environments. Rather than the team having to reinvent the wheel deciding how to set up a continious development environment and perform the manual effort to create, install, and configure the cluster, tools, and services, these infrastructure as code (IasC) scripts automate the process to consistently create an environment as needed that embodies these best practices. The scripts are modular so tools can be easily disabled or added. This combindation of tools are proven in the industry to deliver real value for modern cloud-native development.
20
+
The objective of this environment is to reduce the amount of time and effort a team needs to spend creating and
21
+
configuring their Kubernetes or OpenShift development environments. Rather than the team having to re-invent the wheel
22
+
deciding how to set up a DevOps environment and performing the manual effort to create, install, and configure the cluster,
23
+
tools, and services, these Infrastructure-as-Code (IasC) scripts automate the process to consistently create an
24
+
environment as needed that embodies these best practices. The scripts are modular so tools can be easily added or removed.
25
+
This combination of tools have been proven in the industry to deliver real value for modern cloud-native development.
11
26
12
-
The Red Hat [Open Innovation Labs](https://github.com/rht-labs/labs-ci-cd) has a very similar approach to how they deliver success with OpenShift.
27
+
The Red Hat [Open Innovation Labs](https://github.com/rht-labs/labs-ci-cd) has a very similar approach to how they
28
+
deliver success with OpenShift.
13
29
14
-
You can jump straight to the [Developers Guide](https://ibm-garage-cloud.github.io/ibm-garage-developer-guide/) if you want more detail on how the Cloud Native Toolkit fits into the end-to-end development story.
30
+
You can jump straight to the [Developers Guide](https://cloudnativetoolkit.dev/) if you
31
+
want more detail on how the Cloud-Native Toolkit fits into the end-to-end development story.
15
32
16
33
This repo contains Terraform resources that will create an environment containing the following development tools:
34
+
17
35
- IBM Container Service cluster (3 nodes) for Kubernetes or OpenShift
18
-
- Namespaces for *dev*, *test*, *staging*, and *tools*
@@ -67,15 +91,18 @@ This diagram illustrates the components in a Cloud Native Toolkit environment:
67
91
68
92
## Developer Guide
69
93
70
-
[Developer Guide](https://ibm-garage-cloud.github.io/ibm-garage-developer-guide/) explains how to use the Cloud Native Toolkit environment.
71
-
Use it to deep dive into how to use these tools and programming models to make yourself productive with Kubernetes and OpenShift on the IBM Cloud.
94
+
[Developer Guide](https://cloudnativetoolkit.dev/) explains how to use the Cloud-Native Toolkit environment.
95
+
Use it to deep dive into how to use these tools and programming models to make yourself productive with Kubernetes and
96
+
OpenShift on the IBM Cloud.
72
97
73
98
### Install and Configure
74
99
75
-
Start with the [installation instructions](https://ibm-garage-cloud.github.io/ibm-garage-developer-guide/getting-started/overview) for creating the Cloud Native Toolkit environment. It contains the instructions for how to setup and run the Terraform Infrastructure as Code scripts in this repo.
100
+
Start with the [installation instructions](https://cloudnativetoolkit.dev/getting-started/overview) for creating the
101
+
Cloud-Native Toolkit environment. It contains the instructions for how to setup and run the Terraform Infrastructure as Code scripts in this repo.
76
102
77
103
You can install this collection of CNCF DevSecOps tools using the [IBM Cloud Private Catalog feature](https://cloud.ibm.com/docs/account?topic=account-manage-catalog) more information on
78
-
how to configure a IBM Cloud Private Catalog tile and complete an install can be found in this [README](.tile/docs/README.md) or documentation in the [Developer Guide](https://cloudnativetoolkit.dev/admin/installation-private-catalog)
104
+
how to configure an IBM Cloud Private Catalog tile and complete an installation can be found in this
105
+
[README](.tile/docs/README.md) or documentation in the [Developer Guide](https://cloudnativetoolkit.dev/admin/installation-private-catalog)
79
106
80
107
### Developer Dashboard
81
108
@@ -84,12 +111,98 @@ explains how to open the dashbard for using the Cloud Developer Tools environmen
84
111
85
112
### Destroying
86
113
87
-
The scripts that created the Cloud Developer Tools environment can also be used to destroy it. See [destroy](https://ibm-garage-cloud.github.io/ibm-garage-developer-guide/getting-started/destroying/) for instructions.
114
+
The scripts that created the Cloud Developer Tools environment can also be used to destroy it. See
115
+
[destroy](https://cloudnativetoolkit.dev/getting-started/destroying/) for instructions.
116
+
117
+
## Development
118
+
119
+
### Process
120
+
121
+
#### Create a pull request
122
+
123
+
When a pull request is created, there are a couple of categories of labels that can be used to influence the workflow
124
+
behavior.
125
+
126
+
*Verification process*
127
+
128
+
*`skip ci` - Indicates that the validation process should be skipped for the PR. This should be used sparingly but is
129
+
particularly appropriate if the change impacts a file that is inconsequential to the terraform installation process, like
130
+
the README or a shell script. The intent of this label is to speed up the process and save resources for the entire
131
+
verification process.
132
+
133
+
*Change type*
134
+
135
+
The change type labels (`feature`, `bug`, `chore`) tell the component that generates the change log what type of change
136
+
the pull request represents.
137
+
138
+
*`feature` - The change introduces a new feature or enhancement for the repository
139
+
*`bug` - The change provides a fix to existing code in the repository
140
+
*`chore` - The change represents maintenance performed on the repository
141
+
142
+
*Release type*
143
+
144
+
The release type labels (`major`, `minor`, `patch`) tell the component that generates the release how to increment the
145
+
version number
146
+
147
+
*`major` - The change should be part of a new `major` release (e.g. 2.0.0)
148
+
*`minor` - The change should be part of a new `minor` release (e.g. x.2.0)
149
+
*`patch` - The change should be part of a new `patch` release (e.g. x.y.3)
150
+
151
+
#### Squash and merge the pull request
152
+
153
+
When the pull request is validated and reviewed, squash and merge the pull request
154
+
155
+
#### Publish the release
156
+
157
+
Each change will create or contribute to a draft release on the repository. When it is time to publish the release, edit
158
+
the draft release in GitHub and click the `Publish` button. That will make the release visible outside of the development
159
+
team and trigger the `Publish assets` workflow.
160
+
161
+
### Automated workflows
162
+
163
+
The repository uses GitHub Actions to automate the steps to validate, release, and publish the assets.
164
+
165
+
#### Verify PR
166
+
167
+
When a pull request is created or a change is pushed to an existing PR, the
Publishing a new release will trigger the [Publish assets](https://github.com/ibm-garage-cloud/ibm-garage-iteration-zero/actions?query=workflow%3A%22Publish+assets%22)
189
+
workflow. The workflow generates any assets that should be published with the release (currently the IBM Private Catalog tile assets)
The upstream terraform module repositories have been configured to trigger a `repository_dispatch` event when a new
197
+
release of the module has been published. An incoming `repository_dispatch` event triggers the [Create PR](https://github.com/ibm-garage-cloud/ibm-garage-iteration-zero/actions?query=workflow%3A%22Create+PR%22)
198
+
workflow to update the version of each module in the repository and create a Pull Request if there are any changes.
We are working to make Kubernetes and OpenShift development as easy as possible this toolkit adds what feels like a PaaS layer to a Kubernetes environment, any feedback on the use of the project will be most welcome.
204
+
We are working to make Kubernetes and OpenShift development as easy as possible this toolkit adds what feels like a
205
+
PaaS layer to a Kubernetes environment, any feedback on the use of the project will be most welcome.
0 commit comments