Skip to content
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

Create Dockerfile #217

Closed
wants to merge 1 commit into from
Closed

Create Dockerfile #217

wants to merge 1 commit into from

Conversation

faddat
Copy link
Contributor

@faddat faddat commented Jul 12, 2020

beginnings of a Coinbase Rosetta compliant Dockerfile, which covers the "build node from source and run it" part.

PR Details

This is a dockerfile that can easily be used to run V Systems nodes in the known-good configuration recommended by our team. It will only produce a known-good config image after #214 has been merged to add the changes to network and wallet configuration. #214 is not successful at suppressing #208 .

Description

Adds a build-anywhere dockerfile built to these specifications:

https://www.rosetta-api.org/docs/node_deployment.html#good-example

Related Issue

#216
#215
#210
#208
#211

Motivation and Context

Should choose a single good way to ship to the system software. After we develop this single good way to ship the V System software, we should document using it. This way, there will be no more reliability issues, and we will know how the V Systems software is being run by the users.

This Dockerfile is an example of one known good configuration for V systems node.

How Has This Been Tested

I built this with GitLab CI, and I tested it on my laptop and one of my bare metal servers and Hetzner.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Afterr we have had a conversation about the best way to deploy VSYS, I will update our default documentation to reflect it.

beginnings of a Coinbase Rosetta compliant Dockerfile, which covers the "build node from source and run it" part.
@ncying
Copy link
Member

ncying commented Jul 12, 2020

v-systems/build.sbt

Lines 84 to 103 in 77e9f87

Defaults.itSettings
configs(IntegrationTest)
inConfig(IntegrationTest)(Seq(
parallelExecution := false,
test := (test dependsOn docker).value,
testOptions += Tests.Filter(_.endsWith("Suite"))
))
dockerfile in docker := {
val configTemplate = (resourceDirectory in IntegrationTest).value / "template.conf"
val startVsys = (sourceDirectory in IntegrationTest).value / "container" / "start-vsys.sh"
new Dockerfile {
from("anapsix/alpine-java:8_server-jre")
add(assembly.value, "/opt/vsys/vsys.jar")
add(Seq(configTemplate, startVsys), "/opt/vsys/")
run("chmod", "+x", "/opt/vsys/start-vsys.sh")
entryPoint("/opt/vsys/start-vsys.sh")
}
}

is for docker build in the integral test. But we will not deliver docker to users since they will need different settings to run the node. If we still pick out the conf file, it should be the same to use the java one.

I think it is better to add some documentation about how to build/use the docker for users in Wiki rather than put some code in this repo.

@faddat
Copy link
Contributor Author

faddat commented Jul 29, 2020

OK, I figure it's best to close this PR, then.

Do we plan to support Rosetta?

@faddat faddat closed this Jul 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants