Skip to content
This repository has been archived by the owner on Feb 9, 2024. It is now read-only.

define a playbook to be referenced by other ansible based GPTs #133

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
${{values.playbook}}
cooktheryan marked this conversation as resolved.
Show resolved Hide resolved
109 changes: 109 additions & 0 deletions scaffolder-templates/ansible-playbook/template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: ansible-playbook
title: Ansible Playbook
description: Upload an Ansible Playbook to Git
tags:
- recommended
- aap
spec:
owner: janus-authors
system: janus-idp
type: service
parameters:
- title: Provide information about the GitHub location
required:
- githubOrg
- repoName
- owner
- system
properties:
githubOrg:
title: GitHub Organization
type: string
owner:
Copy link
Member

Choose a reason for hiding this comment

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

this parameter can be removed, it is not used anymore

title: Owner
type: string
description: Owner of the component
repoName:
title: Repository Name
type: string
system:
title: System
type: string
ui:field: EntityPicker
ui:options:
catalogFilter:
kind:
- System
- title: Ansible Playbook definition
required:
- playbook
- playbookName
- description
properties:
playbookName:
title: Playbook Name
type: string
description: Provide a name for the Ansible Playbook
playbook:
title: Playbook
type: string
description: Ansible Playbook definition
ui:widget: textarea
ui:options:
rows: 15
description:
title: Description
type: string
description: Description of the Ansible Playbook
steps:
- id: template
name: Generating the source code component
action: fetch:template
input:
url: ./skeleton
targetPath: playbooks/
values:
component_id: ${{ parameters.playbookName }}
name: ${{ parameters.playbookName }}
playbook: ${{ parameters.playbook }}
playbookName: ${{ parameters.playbookName }}

- id: catalogTemplate
name: Generating the Catalog Info Component
action: fetch:template
input:
url: ../../scaffolder-skeletons/catalog-info-skeleton/
values:
githubOrg: ${{ parameters.githubOrg }}
repoName: ${{ parameters.repoName }}
owner: ${{ parameters.owner }}
applicationType: api
description: ${{ parameters.description }}

- id: publish
name: Publishing to Source Code Repository
action: publish:github:pull-request
input:
allowedHosts: ['github.com']
title: ${{ parameters.playbookName }}
description: ${{ parameters.description }}
repoUrl: github.com?owner=${{ parameters.githubOrg }}&repo=${{ parameters.repoName }}
branchName: ${{ parameters.playbookName }}

- id: register
name: Registering the Catalog Info Component
action: catalog:register
input:
repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}
Copy link
Member

Choose a reason for hiding this comment

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

This is not going to work. There is no repoContentsUrl on the output of github:pull-request.

catalogInfoPath: /catalog-info.yaml

output:
links:
- title: Source Code Repository
url: ${{ steps.publish.output.remoteUrl }}
- title: Open the Catalog Info Component
icon: catalog
entityRef: ${{ steps.register.output.entityRef }}
cooktheryan marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions showcase-templates.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ spec:
- https://github.com/janus-idp/software-templates/blob/main/scaffolder-templates/quarkus-backend-template/template.yaml
- https://github.com/janus-idp/software-templates/blob/main/scaffolder-templates/argocd-template/template.yaml
- https://github.com/janus-idp/software-templates/blob/main/scaffolder-templates/ansible-job/template.yaml
- https://github.com/janus-idp/software-templates/blob/main/scaffolder-templates/ansible-playbook/template.yaml