|
| 1 | +--- |
| 2 | +hide: |
| 3 | + - toc |
| 4 | +--- |
| 5 | + |
1 | 6 | # devtools
|
2 | 7 |
|
3 | 8 | This repository is used to share practices, workflows and decisions affecting projects maintained by Ansible DevTools team.
|
4 | 9 |
|
5 | 10 | ## Python DevTools project dependencies
|
6 | 11 |
|
7 |
| -It should be noted that our vscode extension would either depend on `ansible-dev-tools` python package or directly use the `creator-ee` container (execution environment). |
| 12 | +It should be noted that our vscode extension would either depend on `ansible-dev-tools` python package or directly use the [execution environment container image](#container-image). |
8 | 13 |
|
9 | 14 | ```mermaid
|
10 |
| -graph LR; |
11 |
| -
|
12 |
| - classDef tsclass fill:#f90,stroke:#f90,color:#333; |
13 |
| - classDef containerclass fill:#060,stroke:#060,color:#fff; |
14 |
| - classDef thirdpartyclass fill:#9f6,stroke:#9f6,color:#333; |
15 |
| - classDef collectionclass fill:#c00,stroke:#c00,color:#fff; |
16 |
| - classDef pyclass fill:#09f,stroke:#09f,color:#fff; |
17 |
| -
|
18 |
| -
|
19 |
| -subgraph supported |
20 |
| - ansible-lint |
21 |
| - ansible-navigator |
| 15 | +%%{init: {'theme':'neutral', 'themeVariables': { 'edgeLabelBackground': 'transparent'}}}%% |
| 16 | +graph LR |
| 17 | +
|
| 18 | + lint(ansible-lint):::pyclass |
| 19 | + compat(ansible-compat):::pyclass |
| 20 | + navigator(ansible-navigator):::pyclass |
| 21 | + adt(ansible-dev-tools):::pyclass; |
| 22 | + ade(ansible-development-environment):::pyclass |
| 23 | + creator(ansible-creator):::pyclass; |
| 24 | + pytest-ansible(pytest-ansible):::pyclass |
| 25 | + tox-ansible(tox-ansible):::pyclass |
| 26 | + molecule(molecule):::pyclass |
| 27 | + community.molecule(community.molecule):::collectionclass |
| 28 | + builder(ansible-builder):::pyclass |
| 29 | + runner(ansible-runner):::pyclass |
| 30 | + image(community-ansible-dev-tools-image):::containerclass |
| 31 | + sign(ansible-sign):::pyclass |
| 32 | +
|
| 33 | + classDef tsclass fill:#f90,stroke:#f90,color:#333 |
| 34 | + classDef containerclass fill:#060,stroke:#060,color:#fff |
| 35 | + classDef collectionclass fill:#5bbdbf,stroke-width:0px |
| 36 | + classDef pyclass fill:#09f5,stroke:#09f0,color:#fff |
| 37 | + style external color:#0FF5,fill:#fff0,stroke:#0FF5 |
| 38 | + linkStyle default stroke:grey,text-decoration:none |
| 39 | +
|
| 40 | +subgraph external |
| 41 | + builder |
| 42 | + runner |
| 43 | + sign |
22 | 44 | end
|
23 | 45 |
|
24 |
| -subgraph tech-preview |
25 |
| - ansible-development-environment |
26 |
| - ansible-creator |
27 |
| - pytest-ansible |
28 |
| - tox-ansible |
29 |
| - molecule |
30 |
| -end |
31 |
| -
|
32 |
| - creator-ee:::containerclass --> ansible-dev-tools; |
33 |
| -
|
34 |
| - ansible-dev-tools --> ansible-lint; |
35 |
| - ansible-dev-tools --> ansible-navigator; |
36 |
| - ansible-dev-tools --> molecule; |
37 |
| -
|
38 |
| - ansible-lint --> ansible-compat; |
39 |
| - ansible-compat -.-> community.molecule; |
40 |
| - molecule --> ansible-compat; |
41 |
| - molecule -.-> community.molecule:::collectionclass; |
42 |
| -
|
43 |
| - ansible-navigator -.-> ansible-lint; |
44 |
| - ansible-navigator -.-> creator-ee; |
45 |
| -
|
46 |
| -
|
47 |
| - ansible-dev-tools --> ansible-development-environment; |
48 |
| - ansible-dev-tools --> ansible-creator; |
49 |
| - ansible-dev-tools --> pytest-ansible; |
50 |
| - ansible-dev-tools --> tox-ansible; |
51 |
| -
|
52 |
| - ansible-compat:::pyclass; |
53 |
| - ansible-creator:::pyclass; |
54 |
| - ansible-dev-tools:::pyclass; |
55 |
| - ansible-development-environment:::pyclass; |
56 |
| - ansible-lint:::pyclass; |
57 |
| - ansible-navigator:::pyclass; |
58 |
| - molecule:::pyclass; |
59 |
| - tox-ansible:::pyclass; |
60 |
| - pytest-ansible:::pyclass; |
61 |
| -
|
62 |
| - click ansible-development-environment "https://github.com/ansible/ansible-development-environment" |
| 46 | + adt --> lint |
| 47 | + adt --> navigator |
| 48 | + adt --> molecule |
| 49 | + adt --> ade |
| 50 | + adt --> creator |
| 51 | + adt --> sign |
| 52 | +
|
| 53 | + lint --> compat |
| 54 | + compat -. test .-> community.molecule |
| 55 | + molecule --> compat |
| 56 | + molecule -. test .-> community.molecule:::collectionclass |
| 57 | +
|
| 58 | + navigator -.-> lint |
| 59 | + navigator -.-> image |
| 60 | + navigator --> runner |
| 61 | + navigator -..-> builder |
| 62 | +
|
| 63 | + adt --> ade; |
| 64 | + adt --> creator |
| 65 | + adt --> pytest-ansible |
| 66 | + adt --> tox-ansible; |
| 67 | +
|
| 68 | + ade --> builder; |
| 69 | +
|
| 70 | + click adt "https://github.com/ansible/ansible-dev-tools" |
| 71 | + click ade "https://github.com/ansible/ansible-development-environment" |
| 72 | + click runner "https://github.com/ansible/ansible-runner" |
| 73 | + click builder "https://github.com/ansible/ansible-builder" |
63 | 74 | click community.molecule "https://github.com/ansible-collections/community.molecule"
|
64 | 75 | click molecule href "https://github.com/ansible/molecule"
|
65 |
| - click creator-ee href "https://github.com/ansible/creator-ee" |
66 |
| - click ansible-lint href "https://github.com/ansible/ansible-lint" |
67 |
| - click ansible-compat href "https://github.com/ansible/ansible-compat" |
68 |
| - click ansible-navigator href "https://github.com/ansible/ansible-navigator" |
69 |
| - click ansible-creator href "https://github.com/ansible/ansible-creator" |
| 76 | + click image href "#container-image" |
| 77 | + click ws "https://github.com/ansible/ansible-workspace-env-reference-image" |
| 78 | + click lint href "https://github.com/ansible/ansible-lint" |
| 79 | + click compat href "https://github.com/ansible/ansible-compat" |
| 80 | + click navigator href "https://github.com/ansible/ansible-navigator" |
| 81 | + click creator href "https://github.com/ansible/ansible-creator" |
70 | 82 | click tox-ansible href "https://github.com/ansible/tox-ansible"
|
71 | 83 | click pytest-ansible href "https://github.com/ansible/pytest-ansible"
|
72 |
| -``` |
73 | 84 |
|
74 |
| -Note: |
| 85 | + linkStyle 0,1,2,3,4,5,6,7,8,9 color:darkcyan |
75 | 86 |
|
76 |
| -1. [vscode-yaml](https://github.com/redhat-developer/vscode-yaml) project is not directly supported by Ansible devtools team. |
77 |
| -2. dotted lines are either test, build or optional requirements |
78 |
| -3. 📘 python, 📕 ansible collection, 📗 container |
79 |
| -4. `community.molecule` is only a test dependency of molecule core. |
| 87 | +``` |
80 | 88 |
|
81 |
| -## TypeScript Dependencies (extension) |
| 89 | +## TypeScript repositories |
82 | 90 |
|
83 | 91 | ```mermaid
|
84 |
| -graph LR; |
| 92 | +graph TB; |
85 | 93 |
|
86 | 94 | classDef tsclass fill:#f90,stroke:#f90,color:#333;
|
87 | 95 | classDef containerclass fill:#060,stroke:#060,color:#fff;
|
88 | 96 | classDef thirdpartyclass fill:#9f6,stroke:#9f6,color:#333;
|
89 | 97 |
|
90 |
| - vscode-ansible:::tsclass --> ansible-language-server; |
91 |
| - vscode-ansible:::tsclass --> vscode-yaml; |
| 98 | + ansible-backstage-plugins:::tsclass; |
| 99 | + vscode-ansible:::tsclass -- external --> vscode-yaml; |
92 | 100 | vscode-yaml:::tsclass;
|
93 |
| - ansible-language-server:::tsclass; |
94 | 101 |
|
| 102 | + click ansible-backstage-plugins "https://github.com/ansible/ansible-backstage-plugins" |
95 | 103 | click ansible-development-environment "https://github.com/ansible/ansible-development-environment"
|
96 | 104 | click community.molecule "https://github.com/ansible-collections/community.molecule"
|
97 | 105 | click creator-ee href "https://github.com/ansible/creator-ee"
|
98 |
| - click ansible-language-server href "https://github.com/ansible/ansible-language-server" |
99 | 106 | click vscode-ansible href "https://github.com/ansible/vscode-ansible"
|
100 | 107 | click vscode-yaml href "https://github.com/redhat-developer/vscode-yaml"
|
101 | 108 | ```
|
102 | 109 |
|
103 |
| -## Collections included in creator-ee |
| 110 | +## Container Image |
104 | 111 |
|
105 |
| -`creator-ee` execution environment is a development container that contains |
106 |
| -most of the most important tools used in the development and testing of collections. Still, |
107 |
| -while we bundle several collections in it, you need to be warned that **we might |
108 |
| -remove any included collection without notice** if that prevents us from |
| 112 | +`community-ansible-dev-tools-image` **execution environment** is a development |
| 113 | +**container image** that contains most of the most important tools used in the |
| 114 | +development and testing of collections. Still, while we bundle several |
| 115 | +collections in it, you need to be warned that **we might remove any included |
| 116 | +collection without notice** if that prevents us from |
109 | 117 | building the container.
|
110 | 118 |
|
111 | 119 | ```mermaid
|
112 |
| -graph LR; |
113 |
| -
|
114 |
| -creator-ee --> ansible.posix; |
115 |
| -creator-ee --> ansible.windows; |
116 |
| -creator-ee --> awx.awx; |
117 |
| -creator-ee --> containers.podman; |
118 |
| -creator-ee --> kubernetes.core; |
119 |
| -creator-ee --> redhatinsights.insights; |
120 |
| -creator-ee --> theforeman.foreman; |
121 |
| -``` |
| 120 | +graph TB; |
122 | 121 |
|
123 |
| -## Molecule ecosystem |
| 122 | +ee("community-ansible-dev-tools-image<br/><i style="color: #0FF5">fedora-minimal</i>") |
| 123 | +adt(ansible-dev-tools) |
124 | 124 |
|
125 |
| -```mermaid |
126 |
| -graph LR; |
| 125 | +ee --> adt; |
| 126 | +ee --> collections; |
| 127 | +
|
| 128 | +
|
| 129 | +subgraph collections |
| 130 | + ansible.posix |
| 131 | + ansible.windows |
| 132 | + awx.awx |
| 133 | + containers.podman |
| 134 | + kubernetes.core |
| 135 | + redhatinsights.insights |
| 136 | + theforeman.foreman |
| 137 | +end |
127 | 138 |
|
128 |
| - molecule-podman --> molecule; |
129 |
| - molecule-docker --> molecule; |
130 |
| - molecule-containers -.-> molecule-podman; |
131 |
| - molecule-containers -.-> molecule-docker; |
132 |
| - molecule-vagrant --> molecule; |
| 139 | +click adt "https://github.com/ansible/ansible-dev-tools" |
| 140 | +click ee "https://github.com/ansible/community-ansible-dev-tools-image" |
133 | 141 |
|
134 |
| - molecule-libvirt --> molecule; |
135 |
| - molecule-lxd --> molecule; |
| 142 | +``` |
136 | 143 |
|
| 144 | +## Internal |
137 | 145 |
|
138 |
| - pytest-molecule --> molecule; |
139 |
| - tox-ansible -.-> molecule; |
140 |
| - tox-ansible -.-> ansible-test; |
| 146 | +```mermaid |
| 147 | +graph TB; |
141 | 148 |
|
| 149 | +ws(ansible-workspace-env-reference-image):::containerclass |
| 150 | +click ws "https://github.com/ansible/ansible-workspace-env-reference-image" |
142 | 151 |
|
143 |
| - click molecule href "https://github.com/ansible-community/molecule" |
144 |
| - click molecule-podman href "https://github.com/ansible-community/molecule-podman" |
145 | 152 | ```
|
0 commit comments