Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LOVE 1097 - Blueprint skeleton #90

Merged
merged 7 commits into from
Jul 8, 2019
Merged

LOVE 1097 - Blueprint skeleton #90

merged 7 commits into from
Jul 8, 2019

Conversation

sffortytwo
Copy link
Contributor

@sffortytwo sffortytwo commented Jul 4, 2019

Definition of Done

This is the definition of done for (new and modified) blueprints to be accepted into the central XebiaLabs blueprints repository.

Value

This section describes how to determine whether a blueprint has enough value to be included in the central XebiaLabs blueprints repository.

  • The blueprint applies to a focused use case.
  • The blueprint uses at least one XebiaLabs product.
  • The blueprint depends on as few other products as possible. N.B.: This is part of the definition of done to keep the blueprint focused and applicable to as many users as possible. A blueprint that depends on one specific CI tool and one specific Java EE application server and one specific ticketing system can only be used by users that have all three products.
  • The blueprint can be used with content supplied by the user but also includes demo content. A blueprint that does not work with content supplied by the user is a demo or a showcase and does not help the user with their own work.

Technical

This section describes how to determine whether the blueprint has the right technical quality to be included in the central XebiaLabs blueprints repository.

  • The branch from which the PR is created is up-to-date with the development branch.
  • The blueprint contains a README.md file at the root of the blueprint folder that describes the blueprint, using the README template in the .github folder of this repository.
  • The blueprint generates a xebialabs/USAGE.md file which, at a minimum, explains how to use the blueprint after it is generated (like adding any missing steps, creating accounts, setting up Docker containers, applying the YAML using xl CLI, running release. etc.). N.B.: Do not use this document to describe how to instantiate the blueprint. It will only be available to the user after the blueprint has been instantiated.
  • If the blueprint depends on external products that can be started as a Docker container, the blueprint generates a docker/docker-compose.yml file so that it can be tested without having to manually install those products. Do not use this Docker Compose file to start XL Deploy, XL Release, Docker or Kubernetes.
  • The blueprint does not contain sensitive information such passwords, tokens, credentials or licenses.
  • The blueprint uses secret: true in the blueprint.yaml parameter definition for question that ask for sensitive information.
  • The blueprint does not contain the files xebialabs/.gitignore, xebialabs/values.xlvals and xebialabs/secrets.xlvals and does not refer to them from the files section of the blueprint.yaml file. These files will be generated when the blueprint is instantiated. To generate the xebialabs/values.xlvals file, use the saveInXlVals: true directive in the parameters section of the blueprint. To generate the xebialabs/secrets.xlvals file, use the secret: true directive .
  • The blueprint does not define parameters for trivial things like phase names, task names, folder names etc. Ask questions that add value and be opinionated where possible. For example, ask for a project name and derive folder names, task names etc from that.
  • Folder and file names must use kebab-case, for example: aws/sample-app-demo, xld-environment.yaml

Review and testing

This section describes how to determine whether the blueprint has been reviewed and tested well enough to be included in the central XebiaLabs blueprints repository.

  • Unit test is added in a __test__ folder for each blueprint. Refer the CONTRIBUTING.md file at the root of of this repository for more details.
  • The Travis CI for the PR is green
  • The blueprint has been reviewed by someone else in the team.
  • Both README and USAGE files have been reviewed by a technical writer and a product marketing manager.
  • The blueprint has been manually tested with the docker/docker-compose.yml that is generated as part of it.
  • The blueprint works on Linux, Mac and Windows.

@@ -0,0 +1,64 @@
# _BLUEPRINT_NAME_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be {{.BlueprintName | uppercase}}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using {{.BlueprintName | replace "-" " " | title}}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This turns my-amazing-blueprint into My Amazing Blueprint


## Introduction

Explain what your blueprint does
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use {{.Description}}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

kind: Blueprint

metadata:
name: Blueprint-Skeleton-Generator
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be {{.BlueprintName}}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


files:
- path: xebialabs.yaml
- path: README.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

won't be needed in the generated app I suppose

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed

@deepu105 deepu105 merged commit cf3bb91 into master Jul 8, 2019
@deepu105 deepu105 deleted the LOVE-1097 branch July 8, 2019 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants