diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b7c1b75e..48c9632b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -68,6 +68,7 @@ repos: rev: v0.12.0 hooks: - id: markdownlint + exclude: ".*/*/app-readme.md" - repo: https://github.com/pre-commit/mirrors-eslint rev: v8.38.0 hooks: diff --git a/charts/chronicle-on-sawtooth/app-readme.md b/charts/chronicle-on-sawtooth/app-readme.md new file mode 100644 index 00000000..97817390 --- /dev/null +++ b/charts/chronicle-on-sawtooth/app-readme.md @@ -0,0 +1,14 @@ +# BTP Chronicle + +Chronicle records provenance information of any physical or digital asset on a distributed ledger. + +- Chronicle is available with Hyperledger Sawtooth as its default backing ledger. +- Chronicle is built on the established W3C PROV Ontology standard; it uses the lightweight JSON-LD linked data format, and the data query language GraphQL. +- Chronicle is easily adaptable to enable users to model, capture, and query provenance information pertinent to their industry, application and use case. + +You can find example domains and further instructions at https://examples.btp.works + +## *Important* + +*As Chronicle uses Sawtooth as its backing ledger, a minimum of 4 nodes is required for deployment.* +*This helm chart will deploy and configure a 4 node Sawtooth network on your target cluster, so less than 4 nodes will result in the deployment failing.* diff --git a/charts/chronicle-on-sawtooth/questions.yaml b/charts/chronicle-on-sawtooth/questions.yaml new file mode 100644 index 00000000..7fad4a6f --- /dev/null +++ b/charts/chronicle-on-sawtooth/questions.yaml @@ -0,0 +1,130 @@ +--- +questions: + # Chronicle + - variable: image.repository + default: "" + required: false + type: string + label: Chronicle docker repository + description: The Chronicle docker repository. This may be domain specific, see https://docs.btp.works/chronicle + group: "Chronicle Settings" + - variable: image.tag + default: "" + required: false + type: string + label: Chronicle Image tag + description: The Chronicle docker image tag. + group: "Chronicle Settings" + - variable: webUi + default: false + required: false + type: boolean + label: Enable Web UI + description: Enables the graphql playground interface for development use. + group: "Chronicle Settings" + + # Ingress Settings + - variable: ingress.enabled + default: "false" + required: false + type: boolean + label: Enable Chronicle ingress + description: Enable an ingress for the Chronicle service. + group: "Ingress Settings" + show_subquestion_if: true + subquestions: + - variable: ingress.hostname + default: "" + required: false + type: string + label: Ingress hostname + description: Primary hostname for the ingress. + group: "Ingress Settings" + - variable: ingress.path + default: "" + required: false + type: string + label: Hostname Path + description: Path for the ingress's primary hostname. + group: "Ingress Settings" + - variable: ingress.pathType + default: "" + required: false + type: string + label: Hostname PathType + description: PathType for the ingress's primary hostname. + group: "Ingress Settings" + - variable: ingress.certManager + default: "false" + required: false + type: boolean + label: Enable the acme certmanager for this ingress + description: Enable the acme certmanager for this ingress. + group: "Ingress Settings" + - variable: ingress.annotations + default: "" + required: false + type: string + label: Ingress annotations + description: Annotations for the ingress. + group: "Ingress Settings" + - variable: ingress.tls + default: false + required: false + type: boolean + label: Ingress TLS + description: Enable tls on the ingress with a secrete at hostname-tls. + group: "Ingress Settings" + + # Chronicle database settings + - variable: postgres.persistence.enabled + default: "true" + type: boolean + required: true + label: Postgres persistance + description: Allocate a PVC for the internal Postgres instance + group: "Database settings" + - variable: postgres.enabled + default: "true" + required: true + type: boolean + label: Use internal postgres database + description: Create an internal Postgres instance for Chronicle, or if not supply details of an external Postgres. + group: "Database settings" + show_subquestion_if: false + subquestions: + - variable: postgres.user + default: "postgres" + required: true + type: string + label: Postgres user + description: User for the Postgres database + group: "Database settings" + - variable: postgres.host + default: "localhost" + required: true + type: string + label: Postgres host + description: Host for the Postgres database + group: "Database settings" + - variable: postgres.database + default: "postgres" + required: true + type: string + label: Database name + description: Database name for the Postgres database + group: "Database settings" + - variable: postgres.port + default: "5432" + required: true + type: int + label: Postgres port + description: Port for the Postgres database + group: "Database settings" + - variable: postgres.password + default: "postgres" + required: true + type: password + label: Postgres password + description: Password for the Postgres database + group: "Database settings"