Skip to content

Commit 91d6fda

Browse files
committed
convert to markdown
1 parent b234409 commit 91d6fda

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+3814
-4092
lines changed

.github/CONTRIBUTING.md

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,23 @@
1-
# Contribute to the project
1+
# Contributing to the project
22

33
Contributions and issues are most welcome! All issues and pull requests are
4-
handled through [GitHub](https://github.com/epics-containers/epics-containers.github.io/issues). Also, please check for any existing issues before
4+
handled through [GitHub]. Also, please check for any existing issues before
55
filing a new one. If you have a great idea but it involves big changes, please
66
file a ticket before making a pull request! We want to make sure you don't spend
77
your time coding something that might not fit the scope of the project.
88

99
## Issue or Discussion?
1010

11-
Github also offers [discussions](https://github.com/epics-containers/epics-containers.github.io/discussions) as a place to ask questions and share ideas. If
11+
Github also offers [discussions] as a place to ask questions and share ideas. If
1212
your issue is open ended and it is not obvious when it can be "closed", please
1313
raise it as a discussion instead.
1414

15-
## Code Coverage
15+
## Developer guide
1616

17-
While 100% code coverage does not make a library bug-free, it significantly
18-
reduces the number of easily caught bugs! Please make sure coverage remains the
19-
same or is improved by a pull request!
17+
The [Developer Guide] contains information on setting up a development
18+
environment, building docs and what standards the documentation
19+
should follow.
2020

21-
## Developer Information
22-
23-
It is recommended that developers use a [vscode devcontainer](https://code.visualstudio.com/docs/devcontainers/containers). This repository contains configuration to set up a containerized development environment that suits its own needs.
24-
25-
This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects.
26-
27-
For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/1.3.0/how-to.html).
21+
[developer guide]: https://epics-containers.github.io/main/developer/how-to/contribute.html
22+
[discussions]: https://github.com/epics-containers/epics-containers.github.io/discussions
23+
[github]: https://github.com/epics-containers/epics-containers.github.io/issues

.github/CONTRIBUTING.rst

Lines changed: 0 additions & 29 deletions
This file was deleted.

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ Useful Links
1616

1717
| Item | Link
1818
| -------------- | ---------------------
19-
| Documentation | https://epics-containers.github.io
20-
| Wiki | https://github.com/epics-containers/epics-containers.github.io/wiki
21-
| Issues | https://github.com/epics-containers/epics-containers.github.io/issues
22-
| Docs Source | https://github.com/epics-containers/epics-containers.github.io
23-
| Organization | https://github.com/epics-containers
19+
| Documentation | <https://epics-containers.github.io>
20+
| Wiki | <https://github.com/epics-containers/epics-containers.github.io/wiki>
21+
| Issues | <https://github.com/epics-containers/epics-containers.github.io/issues>
22+
| Docs Source | <https://github.com/epics-containers/epics-containers.github.io>
23+
| Organization | <https://github.com/epics-containers>
2424

2525

2626

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# 3. Use of substitution files to generate EPICS Databases
2+
3+
Date: 2023-11-30
4+
5+
## Status
6+
7+
Accepted
8+
9+
## Context
10+
11+
There are two proposals for how EPICS Databases should be generated:
12+
13+
1. At IOC startup `ibek` should generate a substitution file that describes the
14+
required Databases.
15+
16+
The IOC instance yaml combined with the definitions from support module yaml
17+
controls what the generated substitution file will look like.
18+
19+
`ibek` will then execute `msi` to generate the Databases from the
20+
substitution file.
21+
22+
2. The dbLoadRecord calls in the startup script will pass all macro substitutions
23+
in-line. Removing the need for a substitution file.
24+
25+
## Decision
26+
27+
Proposal 1 is accepted.
28+
29+
Some template files such as those in the `pmac` support module use the
30+
following pattern:
31+
32+
```
33+
substitute "P=$(PMAC):, M=CS$(CS):M1, ADDR=1, DESC=CS Motor A"
34+
include "pmacDirectMotor.template"
35+
```
36+
37+
This pattern is supported by msi but not by the EPICS dbLoadRecord command which
38+
does not recognise the `substitute` command.
39+
40+
## Consequences
41+
42+
An extra file `ioc.subst` is seen in the runtime directory. In reality this
43+
is easier to read than a full Database file. So can be useful for debugging.
44+
45+
Finally those developers who are unable to use `ibek yaml` for some reason can
46+
supply their own substitution file and ibek will expand it at runtime. This is
47+
much more compact that supplying a full Database file and important due to the
48+
1MB limit on K8S ConfigMaps.

docs/explanations/decisions/0003-use-substitution-files.rst

Lines changed: 0 additions & 55 deletions
This file was deleted.
Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,23 @@
1-
4. How to configure autosave for IOCs
2-
=====================================
1+
# 4. How to configure autosave for IOCs
32

43
Date: 2023-11-30
54

6-
Status
7-
------
5+
## Status
86

97
Accepted
108

11-
Context
12-
-------
9+
## Context
1310

1411
There is a choice of supplying the list of PVs to autosave by:
1512

1613
- adding info tags to the Database Templates
1714
- supplying a raw req file with list of PVs to autosave
1815

19-
Decision
20-
--------
16+
## Decision
2117

2218
We will go with req files for the following reasons:
2319

24-
- https://epics.anl.gov/tech-talk/2019/msg01600.php
20+
- <https://epics.anl.gov/tech-talk/2019/msg01600.php>
2521
- adding info tags would require upstream changes to most support modules
2622
- default req files are already supplied in many support modules
2723
- req files are in common use and many facilities may already have their own
@@ -38,8 +34,6 @@ Then override files can exist at the beamline level and / or at the IOC
3834
instance level. These will simply take the form of a req file with the same
3935
name as the one it is overriding.
4036

41-
Consequences
42-
------------
37+
## Consequences
4338

4439
Everything is nice and simple.
45-
Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
1-
5. Use Python for scripting inside and outside containers
2-
=========================================================
1+
# 5. Use Python for scripting inside and outside containers
32

43
Date: 2022-11-30
54

6-
Status
7-
------
5+
## Status
86

97
Accepted
108

11-
Context
12-
-------
9+
## Context
1310

14-
Inside the container, we use the ``ibek`` tool for scripting. Outside we
15-
use ``ec`` from ``epics-containers-cli``.
11+
Inside the container, we use the `ibek` tool for scripting. Outside we
12+
use `ec` from `epics-containers-cli`.
1613

1714
Much of what these tools do is
18-
call command line tools like ``docker``, ``helm``, ``kubectl``, compilers,
15+
call command line tools like `docker`, `helm`, `kubectl`, compilers,
1916
etc. This seems like a natural fit for bash scripts.
2017

2118
These features were originally implemented in bash but were converted to
@@ -33,12 +30,10 @@ python for the following reasons:
3330
- because the packages can be pip installed they can be used in CI and inside
3431
multiple containers without having to copy the scripts around
3532

36-
Decision
37-
--------
33+
## Decision
3834

3935
We always prefer Python and keep bash scripts to a minimum
4036

41-
Consequences
42-
------------
37+
## Consequences
4338

4439
Scripting is much easier to maintain and is more reliable.
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
About the documentation
2-
-----------------------
1+
# About the documentation
32

4-
:material-regular:`format_quote;2em`
5-
6-
The Grand Unified Theory of Documentation
7-
8-
-- David Laing
3+
> {material-regular}`format_quote;2em`
4+
>
5+
> The Grand Unified Theory of Documentation
6+
>
7+
> <p class="attribution">-David Laing</p>
98
109
There is a secret that needs to be understood in order to write good software
1110
documentation: there isn't one thing called *documentation*, there are four.
@@ -15,4 +14,4 @@ They represent four different purposes or functions, and require four different
1514
approaches to their creation. Understanding the implications of this will help
1615
improve most documentation - often immensely.
1716

18-
`More information on this topic. <https://documentation.divio.com>`_
17+
[More information on this topic.](https://documentation.divio.com)

0 commit comments

Comments
 (0)