-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsnapcraft.yaml
126 lines (107 loc) · 3.04 KB
/
snapcraft.yaml
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
name: semaphore
base: core20
version: 2.10.22
license: MIT
summary: Modern UI for Ansible
architectures:
- build-on: amd64
- build-on: arm64
description: |
Ansible Semaphore is beautiful web interface for running Ansible playbooks.
If your project has grown and deploying from the terminal is no longer for you then Ansible Semaphore is what you need.
grade: stable
confinement: strict
apps:
semaphored:
command: bin/snapcraft-preload $SNAP/semaphored
environment:
SNAPCRAFT_PRELOAD_REDIRECT_ONLY_SHM: 1
daemon: simple
plugs:
- network-bind
- network
- ssh-keys
- mount-observe
semaphore:
command: bin/snapcraft-preload $SNAP/semaphore
environment:
SEMAPHORE_CONFIG_PATH: $SNAP_USER_COMMON/config.json
SNAPCRAFT_PRELOAD_REDIRECT_ONLY_SHM: 1
plugs:
- network-bind
- network
- ssh-keys
- mount-observe
parts:
snapcraft-preload:
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=
source: https://github.com/sergiusens/snapcraft-preload.git
build-packages:
- on amd64:
- gcc-multilib
- g++-multilib
stage-packages:
- on amd64:
- lib32stdc++6
semaphore:
plugin: dump
source:
- on arm64: https://github.com/semaphoreui/semaphore/releases/download/v2.10.22/semaphore_2.10.22_linux_arm64.deb
- else:
- on amd64: https://github.com/semaphoreui/semaphore/releases/download/v2.10.22/semaphore_2.10.22_linux_amd64.deb
- else fail
source-type: deb
opentofu:
plugin: dump
source:
- on arm64: https://github.com/opentofu/opentofu/releases/download/v1.7.2/tofu_1.7.2_arm64.deb
- else:
- on amd64: https://github.com/opentofu/opentofu/releases/download/v1.7.2/tofu_1.7.2_amd64.deb
- else fail
source-type: deb
semaphored:
plugin: nil
source: ./bin
source-type: local
override-build: |
chmod +x semaphored
cp semaphored $SNAPCRAFT_PART_INSTALL/semaphored
chmod +x semaphore
cp semaphore $SNAPCRAFT_PART_INSTALL/semaphore
stage-packages:
- openssh-client
- sshpass
- rsync
terraform:
plugin: nil
source:
- on amd64: https://releases.hashicorp.com/terraform/1.8.5/terraform_1.8.5_linux_amd64.zip
- on arm64: https://releases.hashicorp.com/terraform/1.8.5/terraform_1.8.5_linux_arm64.zip
source-type: zip
override-build: |
mkdir -p $SNAPCRAFT_PART_INSTALL/bin
cp terraform $SNAPCRAFT_PART_INSTALL/bin/
ansible:
plugin: python
source: .
build-packages:
- python3-virtualenv
- python3-venv
- python3-dev
stage-packages:
- python3
- python3-venv
- python3-virtualenv
python-packages:
- setuptools
override-build: |
virtualenv ansible_env
export PATH=ansible_env/bin:$PATH
CRYPTOGRAPHY_DONT_BUILD_RUST=1
pip3 install --upgrade pip
pip3 install setuptools_rust wheel setuptools botocore boto3
pip3 install ansible
tar cfz ansible_env.tar.gz ansible_env
cp ansible_env.tar.gz $SNAPCRAFT_PART_INSTALL