-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BlueOS-devel] document extension creation process #147
[BlueOS-devel] document extension creation process #147
Conversation
acaa15f
to
4b937e9
Compare
Current state (updated 13/April): BlueOS-1.2-extensions-docs.mht.zip I've exported just the extensions page. It should be openable in Chrome, but note that some of the hyperlinks won't work (because relative links to content that doesn't exist aren't possible). |
fcd6f4f
to
e1d7785
Compare
Marking this as ready for review, because the remaining points are non-essential and can be left for later PRs - good to make the current docs available ASAP so people can use them. |
e1d7785
to
edde0d9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor notes.
1. Make improvements | ||
1. Upload a new version | ||
1. Repeat from step 6. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should add bluerobotics/BlueOS#1219 into this ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Documentation should never be ahead of the available features.
Once the feature is available then it definitely should be documented though :-)
development/extensions/index.md
Outdated
#### Iterating | ||
|
||
Most programming projects are never fully "complete", so it is expected that Extensions will be modified and improved over time. Extension approval only needs to occur when the Extension is first added to the store, so updated releases should become available within 24 hours from when the new version is uploaded to Docker Hub. | ||
|
||
The expected iteration process is: | ||
|
||
1. Make improvements | ||
1. Build the updated Docker Images and upload them to Docker Hub | ||
- Should be tagged with a SemVer compliant tag that’s higher than the previous release | ||
- E.g. v1.0.0 → v1.0.1 | ||
1. Confirm the new version is available through the BlueOS Extensions Manager | ||
1. Install and test it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That should be a release cycle and not a development one.
At the moment, I believe that we don't have a friend way of doing such thing. The user would need to run their docker manually from the raspberry and upload custom tags (that are not semver) to test it. The reason behind this is that any semver tag will be available on the store currently, but I believe that is not the case once we move to blueos.cloud / bazaar. @voorloopnul ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Releases are part of the application development, although I do agree that "Release Cycle" is a good name for this part.
On the "friendly development cycle" side of things, I think that will require a combination of:
- Extension manager: allow manually uploading a docker image BlueOS#1614
- Custom tag upload and installation through the extensions manager
- Locally modifying existing containers, giving them a custom tag, and doing offline registration of the generated image, as Willian and I are working on documenting in 908c4e2 (which is in this PR, but currently not shown in the built docs because the instructions are incomplete)
aedf618
to
908c4e2
Compare
} | ||
"HostConfig": {\ | ||
"Binds":[\ | ||
"/usr/blueos/extensions/data-logger:/app",\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"/usr/blueos/extensions/data-logger:/app",\ | |
"/usr/blueos/userdata/extensions/data-logger:/app",\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This suggestion doesn't match the current implementation, which follows the decision we made, and is what I've documented.
If you think the extensions
folder should instead be inside userdata
then you'll have to raise that as a discussion point, but given extensions can have their own logs and the like then I don't think it really fits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good. we can improve the docker debugging stuff in another pr
"HostConfig": {\ | ||
"Privileged": true,\ | ||
"Binds":[\ | ||
"/usr/blueos/extensions/data-logger:/app",\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"/usr/blueos/extensions/data-logger:/app",\ | |
"/usr/blueos/userdata/extensions/data-logger:/app",\ |
908c4e2
to
f20526c
Compare
New in 1.2
)Relevant to bluerobotics/BlueOS-docs#8 (closes if all points complete)