first commit

This commit is contained in:
Alfredo Oliviero 2024-08-05 12:43:45 +02:00
commit eb8c6f1214
8 changed files with 287 additions and 0 deletions

12
.env Normal file
View File

@ -0,0 +1,12 @@
CASSANDRA_CLUSTER_NAME=TestCluster
CASSANDRA_SEEDS=cassandra1,cassandra2,cassandra3
CASSANDRA_NUM_TOKENS=256
KEYSPACE=dev_keyspace_1
DUMP_DIR=/dump
CASSANDRA_DC=DC1
CASSANDRA_RACK=RAC1

191
.gitignore vendored Normal file
View File

@ -0,0 +1,191 @@
logs
keys
# Created by https://www.toptal.com/developers/gitignore/api/java,macos,visualstudiocode,linux,windows,eclipse
# Edit at https://www.toptal.com/developers/gitignore?templates=java,macos,visualstudiocode,linux,windows,eclipse
### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
### Eclipse Patch ###
# Spring Boot Tooling
.sts4-cache/
### Java ###
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### macOS Patch ###
# iCloud generated files
*.icloud
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk

6
.gitmodules vendored Normal file
View File

@ -0,0 +1,6 @@
[submodule "socialservice"]
path = socialservice
url = gitea@code-repo.d4science.org:alfredo.oliviero/dockerizing_socialnetworkinglibraryws.git
[submodule "cassandra"]
path = cassandra
url = gitea@code-repo.d4science.org:alfredo.oliviero/dockerizing_cassandra.git

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"java.compile.nullAnalysis.mode": "automatic"
}

32
README.md Normal file
View File

@ -0,0 +1,32 @@
# Docker Cassandra Social
## subprojects:
* [cassandra](./cassandra/README.md)
* [socialservice](./socialservice/README.md)
### cassandra
[cassandra](./cassandra/README.md) is the dockerization of the cassandra infrastructure
it contains the script for dumping the devel environment, and the [Dockerfile](./cassandra/Dockerfile) and [Docker compose](./cassandra/compose.yaml) files to build and start the composed instance with the dumped schema and data
### socialservice
[socialservice](./socialservice/README.md) is the dockerization of the socialservice infrastructure
it contains the script for dumping the devel environment, and the [Dockerfile](./socialservice/Dockerfile) and [Docker compose](./socialservice/compose.yaml) files to build and start the composed instance with the dumped schema and data
## DOCKER instructions
you can start the 2 services individually entering in the folder and starting the docker compose instance, or start the common compose in the base folder.
start common composer:
`docker compose up --build`
force recreate docker image
`docker compose build --no-cache`
check status:
`docker exec -it cassandra-1 nodetool status`
`docker exec -it cassandra-2 nodetool status`
`docker exec -it cassandra-3 nodetool status`
`docker exec -it social nodetool status`

1
cassandra Submodule

@ -0,0 +1 @@
Subproject commit 814b03059b7b30d87c24f7353386a7fa7121813d

41
compose.yml Normal file
View File

@ -0,0 +1,41 @@
version: '3.8'
services:
cassandra1:
extends:
file: ./cassandra/compose.yml
service: cassandra1
networks:
- app-network
cassandra2:
extends:
file: ./cassandra/compose.yml
service: cassandra2
networks:
- app-network
cassandra3:
extends:
file: ./cassandra/compose.yml
service: cassandra3
networks:
- app-network
tomcat:
extends:
file: ./socialservice/compose.yml
service: tomcat
depends_on:
cassandra1:
condition: service_healthy
cassandra2:
condition: service_healthy
cassandra3:
condition: service_healthy
networks:
- app-network
networks:
app-network:
driver: bridge

1
socialservice Submodule

@ -0,0 +1 @@
Subproject commit 3c50bfa984c8dfb42ab7ec06989eb0b2a8382f87