This repository contains the code and configuration to create a simple, ring-based Docker container for web applications. Build from the generated image and just add your ring handler. See the README files in the subdirectories for more information.
-
nuvla/ring
- A Docker container for simple, ring-based web applications. Available from the nuvla/ring repository on Docker Hub. -
com.sixsq.nuvla.ring/code
jar file: Jar file containing the ring server code. Available from the release maven repository maintained in AWS S3. See theproject.clj
file in the nuvla/parent repository for the URL.
To contribute code to this repository, please follow these steps:
-
Create a branch from master with a descriptive, kebab-cased name to hold all your changes.
-
Follow the developer guidelines concerning formatting, etc. when modifying the code.
-
Once the changes are ready to be reviewed, create a GitHub pull request. With the pull request, provide a description of the changes and links to any relevant issues (in this repository or others).
-
Ensure that the triggered CI checks all pass. These are triggered automatically with the results shown directly in the pull request.
-
Once the checks pass, assign the pull request to the repository coordinator (who may then assign it to someone else).
-
Interact with the reviewer to address any comments.
When the reviewer is happy with the pull request, he/she will "squash & merge" the pull request and delete the corresponding branch.
Add appropriate tests that verify the changes or additions you make to the source code.
The bulk of the code in this repository is written in Clojure.
The formatting follows the standard formatting provided by the Cursive IntelliJ plugin with all the default settings except that map entries should be aligned.
Additional, formatting guidelines, not handled by the Cursive plugin:
-
Use a new line after the
:require
and:import
keys in namespace declarations. -
Alphabetize the required namespaces. This can be automated with
lein nsorg --replace
. -
Use 2 blank lines between top-level forms.
-
Use a single blank line between a block comment and the following code.
IntelliJ (with Cursive) can format easily whole directories of source code. Do not hesitate to use this feature to keep the source code formatting standardized.
Copyright © 2019-2024, SixSq SA
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.