Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Flowchart
USER1a [label="User: 1a",fillcolor="lightskyblue"]
USER1b [label="User: 1b",fillcolor="lightskyblue"]
USER2a [label="User: 2a",fillcolor="lightskyblue"]
USER2b [label="User: 2b",fillcolor="lightskyblue"]
USER3 [label="User: 3",fillcolor="lightskyblue"]

JOC1a [label="JOC Cockpit: dev 1a",fillcolor="lightskyblue"]
JOC1b [label="JOC Cockpit: dev 1b",fillcolor="lightskyblue"]
JOC2  [label="JOC Cockpit: test",fillcolor="lightskyblue"]
JOC3  [label="JOC Cockpit: prod",fillcolor="lightskyblue"]

DATABASE1a [shape="ellipse",label="Database: dev 1a",fillcolor="lightskyblue"]
DATABASE1b [shape="ellipse",label="Database: dev 1b",fillcolor="lightskyblue"]
DATABASE2  [shape="ellipse",label="Database: test",fillcolor="lightskyblue"]
DATABASE3  [shape="ellipse",label="Database: prod",fillcolor="lightskyblue"]

# GIT [label="Git Server",fillcolor="orange"]
REPO1REPO1ENV1 [label="Repository: dev env 1a",fillcolor="darkolivegreen1"]
REPO1ENV2 [label="Repository: dev env 1b",fillcolor="darkolivegreen1"]
REPO1ROL  [label="Repository: dev rollout",fillcolor="darkolivegreen1"]
REPO2REPO2ENV  [label="Repository: test env",fillcolor="darkolivegreen2"]
REPO2ROL  [label="Repository: test rollout",fillcolor="darkolivegreen2"]
REPO3REPO3ENV  [label="Repository: prod env",fillcolor="darkolivegreen3"]
REPO3ROL  [label="Repository: prod rollout",fillcolor="darkolivegreen3"]

# BRANCHES1R [shape="ellipse",label="Branches: env dev",fillcolor="darkolivegreen1"]
# BRANCHES1I [shape="ellipse",label="Branches: rollout dev",fillcolor="darkolivegreen1"]
# BRANCHES2R [shape="ellipse",label="Branches: env test",fillcolor="darkolivegreen2"]
# BRANCHES2I [shape="ellipse",label="Branches: rollout test",fillcolor="darkolivegreen2"]
# BRANCHES3R [shape="ellipse",label="Branches: env prod",fillcolor="darkolivegreen3"]
# BRANCHES3I [shape="ellipse",label="Branches: rollout prod",fillcolor="darkolivegreen3"]

JOC1a -> DATABASE1a
JOC1b -> DATABASE1b
JOC2 -> DATABASE2
JOC3 -> DATABASE3

JOC1a -> BRANCHES1RREPO1ENV1 [label="Commit/Push\nPull"]
JOC1a -> BRANCHES1IREPO1ROL  [label="Commit/Push\nPull"]
JOC1b -> BRANCHES1RREPO1ENV2 [label="Commit/Push\nPull"]
JOC1b -> REPO1ROL BRANCHES1I [label="Commit/Push\nPull"]
JOC2  -> REPO2ENV BRANCHES2R [label="Commit/Push\nPull"]
JOC2  -> BRANCHES2IREPO2ROL  [label="Commit/Push\nPull"]
JOC3  -> BRANCHES3R [label="Commit/Push\nPull"]
JOC3 -> BRANCHES3I REPO3ENV  [label="Commit/Push\nPull"]

BRANCHES1R -> REPO1
BRANCHES1I -> REPO1

BRANCHES2R -> REPO2
BRANCHES2I -> REPO2

BRANCHES3R -> REPO3
BRANCHES3I -> REPO3

BRANCHES1I
JOC3  -> REPO3ROL  [label="Commit/Push\nPull"]

REPO1ROL -> BRANCHES2IREPO2ROL [label=" checkout/clonecopy"]
BRANCHES2IREPO2ROL -> BRANCHES3IREPO3ROL [label=" checkout/clonecopy"]

# REPO1 -> GIT
# REPO2 -> GIT
# REPO3 -> GIT

USER1a -> JOC1a
USER1b -> JOC1b
USER2a -> JOC2
USER2b -> JOC2
USER3 -> JOC3

...

  • management
  • versioning
  • rolloutforce overwrite

Requirements

  • The JOC Cockpit database holds the configuration objects:
    • each JOC Cockpit instance is connected to its own database.
    • each Git branch Repository is connected to one or more JOC Cockpit instances, e.g. dev rollout.
  • Each Git branch makes use of an individual versionof its own versions of configuration objects.
  • Each user (client) makes use of an individual JS7 instance using JOC Cockpit and database, Controller and Agents.