Skip to content

Commit 32f870f

Browse files
committed
initial commit
1 parent 326a21f commit 32f870f

File tree

7 files changed

+153
-1
lines changed

7 files changed

+153
-1
lines changed

Dockerfile

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
FROM ansibleplaybookbundle/apb-base
2+
3+
LABEL "com.redhat.apb.spec"=\
4+
"dmVyc2lvbjogMS4wCm5hbWU6IHZuYy1kZXNrdG9wLWFwYgpkZXNjcmlwdGlvbjogVGhpcyBpcyBh\
5+
IHNhbXBsZSBhcHBsaWNhdGlvbiBnZW5lcmF0ZWQgYnkgYXBiIGluaXQKYmluZGFibGU6IEZhbHNl\
6+
CmFzeW5jOiBvcHRpb25hbAptZXRhZGF0YToKICBkaXNwbGF5TmFtZTogIlZOQyBEZXNrdG9wIChB\
7+
UEIpIgogIGRlcGVuZGVuY2llczoKICAtIGRvY2tlci5pby9hbnNpYmxlcGxheWJvb2tidW5kbGUv\
8+
dm5jLWRlc2t0b3A6ZjI4CiAgLSBkb2NrZXIuaW8vYW5zaWJsZXBsYXlib29rYnVuZGxlL3ZuYy1k\
9+
ZXNrdG9wOmYyNwpwbGFuczoKICAtIG5hbWU6IGYyOAogICAgZGVzY3JpcHRpb246IFJ1biBhIGRl\
10+
c2t0b3Agb2YgeW91ciBjaG9pY2Ugb24gRmVkb3JhIDI4CiAgICBmcmVlOiBUcnVlCiAgICBtZXRh\
11+
ZGF0YToge30KICAgIHBhcmFtZXRlcnM6CiAgICAtIG5hbWU6IHZuY3Bhc3MKICAgICAgdGl0bGU6\
12+
IFZOQyBQYXNzd29yZAogICAgICB0eXBlOiBzdHJpbmcKICAgICAgcmVxdWlyZWQ6IHRydWUKICAg\
13+
IC0gbmFtZTogZGUKICAgICAgdGl0bGU6IERlc2t0b3AgRW52aXJvbm1lbnQKICAgICAgdHlwZTog\
14+
ZW51bQogICAgICBlbnVtOiBbJ0Npbm5hbW9uJywgJ2Z2d20nLCAnaTMnLCAnS0RFJywgJ0xYREUn\
15+
LCAnTFhRdCcsICdNQVRFJywgJ1N1Z2FyJywgJ3R3bScsICdYZmNlJ10KICAgICAgZGVmYXVsdDog\
16+
J1hmY2UnCiAgLSBuYW1lOiBmMjcKICAgIGRlc2NyaXB0aW9uOiBSdW4gYSBEZXNrdG9wIG9mIHlv\
17+
dXIgY2hvaWNlIG9uIEZlZG9yYSAyNyAKICAgIGZyZWU6IFRydWUKICAgIG1ldGFkYXRhOiB7fQog\
18+
ICAgcGFyYW1ldGVyczogCiAgICAtIG5hbWU6IHZuY3Bhc3MKICAgICAgdGl0bGU6IFZOQyBQYXNz\
19+
d29yZAogICAgICB0eXBlOiBzdHJpbmcKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIC0gbmFtZTog\
20+
ZGUKICAgICAgdGl0bGU6IERlc2t0b3AgRW52aXJvbm1lbnQKICAgICAgdHlwZTogZW51bQogICAg\
21+
ICBlbnVtOiBbJ0Npbm5hbW9uJywgJ2Z2d20nLCAnaTMnLCAnS0RFJywgJ0xYREUnLCAnTFhRdCcs\
22+
ICdNQVRFJywgJ1N1Z2FyJywgJ3R3bScsICdYZmNlJ10KICAgICAgZGVmYXVsdDogJ1hmY2UnCgo="
23+
24+
25+
COPY playbooks /opt/apb/actions
26+
COPY roles /opt/ansible/roles
27+
RUN chmod -R g=u /opt/{ansible,apb}
28+
USER apb

Makefile

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
DOCKERHOST = docker.io
2+
DOCKERORG = vnc-desktop-apb
3+
IMAGENAME = vnc-desktop
4+
TAG = latest
5+
USER=$(shell id -u)
6+
PWD=$(shell pwd)
7+
build_and_push: apb_build docker_push apb_push
8+
9+
.PHONY: apb_build
10+
apb_build:
11+
docker run --rm --privileged -v $(PWD):/mnt:z -v $(HOME)/.kube:/.kube -v /var/run/docker.sock:/var/run/docker.sock -u $(USER) docker.io/ansibleplaybookbundle/apb-tools:latest prepare
12+
docker build -t $(DOCKERHOST)/$(DOCKERORG)/$(IMAGENAME):$(TAG) .
13+
14+
.PHONY: docker_push
15+
docker_push:
16+
docker push $(DOCKERHOST)/$(DOCKERORG)/$(IMAGENAME):$(TAG)
17+
18+
.PHONY: apb_push
19+
apb_push:
20+
docker run --rm --privileged -v $(PWD):/mnt:z -v $(HOME)/.kube:/.kube -v /var/run/docker.sock:/var/run/docker.sock -u $(USER) docker.io/ansibleplaybookbundle/apb-tools:latest push

README.md

-1
This file was deleted.

apb.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
version: 1.0
2+
name: vnc-desktop-apb
3+
description: This is a sample application generated by apb init
4+
bindable: False
5+
async: optional
6+
metadata:
7+
displayName: "VNC Desktop (APB)"
8+
dependencies:
9+
- docker.io/ansibleplaybookbundle/vnc-desktop:f28
10+
- docker.io/ansibleplaybookbundle/vnc-desktop:f27
11+
plans:
12+
- name: f28
13+
description: Run a desktop of your choice on Fedora 28
14+
free: True
15+
metadata: {}
16+
parameters:
17+
- name: vncpass
18+
title: VNC Password
19+
type: string
20+
required: true
21+
- name: de
22+
title: Desktop Environment
23+
type: enum
24+
enum: ['Cinnamon', 'fvwm', 'i3', 'KDE', 'LXDE', 'LXQt', 'MATE', 'Sugar', 'twm', 'Xfce']
25+
default: 'Xfce'
26+
- name: f27
27+
description: Run a Desktop of your choice on Fedora 27
28+
free: True
29+
metadata: {}
30+
parameters:
31+
- name: vncpass
32+
title: VNC Password
33+
type: string
34+
required: true
35+
- name: de
36+
title: Desktop Environment
37+
type: enum
38+
enum: ['Cinnamon', 'fvwm', 'i3', 'KDE', 'LXDE', 'LXQt', 'MATE', 'Sugar', 'twm', 'Xfce']
39+
default: 'Xfce'
40+

playbooks/deprovision.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
- name: vnc-desktop-apb playbook to deprovision the application
2+
hosts: localhost
3+
vars:
4+
state: absent
5+
gather_facts: false
6+
connection: local
7+
roles:
8+
- role: ansible.kubernetes-modules
9+
install_python_requirements: no
10+
- role: ansibleplaybookbundle.asb-modules
11+
- role: vnc-desktop-apb
12+
playbook_debug: false

playbooks/provision.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
- name: vnc-desktop-apb playbook to provision the application
2+
hosts: localhost
3+
vars:
4+
state: present
5+
gather_facts: false
6+
connection: local
7+
roles:
8+
- role: ansible.kubernetes-modules
9+
install_python_requirements: no
10+
- role: ansibleplaybookbundle.asb-modules
11+
- role: vnc-desktop-apb
12+
playbook_debug: false

roles/vnc-desktop-apb/tasks/main.yml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
- name: process deployment config
2+
openshift_v1_deployment_config:
3+
name: vnc-desktop
4+
state: '{{ state }}'
5+
namespace: '{{ namespace }}'
6+
labels:
7+
app: vnc-desktop
8+
service: vnc-desktop
9+
replicas: 1
10+
selector:
11+
app: vnc-desktop
12+
service: vnc-desktop
13+
spec_template_metadata_labels:
14+
app: vnc-desktop
15+
service: vnc-desktop
16+
containers:
17+
- env:
18+
- name: VNCPASS
19+
value: "{{ vncpass }}"
20+
- name: DE
21+
value: "{{ de }}"
22+
image: docker.io/ansibleplaybookbundle/vnc-desktop:{{ _apb_plan_id }}
23+
name: vnc-desktop
24+
ports:
25+
- container_port: 5901
26+
protocol: TCP
27+
28+
- name: process vnc-desktop service
29+
k8s_v1_service:
30+
name: vnc-desktop
31+
namespace: '{{ namespace }}'
32+
labels:
33+
app: vnc-desktop
34+
service: vnc-desktop
35+
selector:
36+
app: vnc-desktop
37+
service: vnc-desktop
38+
ports:
39+
- name: vnc
40+
port: 5901
41+
target_port: 5901

0 commit comments

Comments
 (0)