Observability Project: Difference between revisions

Jump to navigation Jump to search
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Latest Progress==
==Latest Progress==
* 30-Apr-2024: Configuring cloudlet to use hidden password, start automatically from service daemon, automatically refresh my [https://github.com/VincentDirks/SplunkDockerCompose.git SplunkDockerCompose] repo, and keep service file during redeploys.  
* 30-Apr-2024: Configuring cloudlet to use hidden password, start automatically from service daemon, automatically refresh the local clone [https://github.com/VincentDirks/SplunkDockerCompose.git SplunkDockerCompose] repo, and keep service file during redeploys.  
* 29-Apr-2024: Setting up Splunk to run in cloudlets. Tried running Splunk image directly, but found that a docker-compose.yml file was a bit easier. At this stage I am able to run the Splunk image. I found that the cloudlets were not executing the docker compose up command, and I created a systemd daemon service for docker compose.  
* 29-Apr-2024: Setting up Splunk to run in cloudlets. Tried running Splunk image directly, but found that a docker-compose.yml file was a bit easier. At this stage I am able to run the Splunk image. I found that the cloudlets were not executing the docker compose up command, and I created a systemd daemon service for docker compose.  
* 24-Apr-2024: Learn about and setting up DNS etc. to link my new domain dirks.nz
* 24-Apr-2024: Learn about and setting up DNS etc. to link my new domain dirks.nz
Line 26: Line 26:


==Plan/Backlog==
==Plan/Backlog==
# Run a basic Express.js demo in a cloudlet node with a recent Node.js image [DONE]
# <s>Run a basic Express.js demo in a cloudlet node with a recent Node.js image</s> [DONE]
# Implement access to it from my new `dirks.nz` domain, using encryption (https)  [DONE]
# <s>Implement access to it from my new `dirks.nz` domain, using encryption (https)</s> [DONE]
# Run Splunk in cloudlets  [In progress]
# Run Splunk in cloudlets  '''[In progress]'''
# Implement a reverse proxy using library from npm (for traffic to/from above Express.js demo)  
# Implement a reverse proxy using library from npm (for traffic to/from above Express.js demo)  
# Create Splunk HEC (Http Event Collector) (check if config persists through redeploys)  
# Create Splunk HEC (Http Event Collector) (check if config persists through redeploys)  
Line 40: Line 40:
# Run the above suite in cloudlet and record results to splunk
# Run the above suite in cloudlet and record results to splunk
# Schedule the above cloudlet to run daily
# Schedule the above cloudlet to run daily
=Current Implementation=
==Express Demo Running in Cloudlets==
This step's objectives were to
# Standup a cloudlet node using an inbuilt Node.JS image
# Link it to my code repo [https://github.com/VincentDirks/node.js-in-the-cloud.git node.js-in-the-cloud]
# Access it from a subdomain of dirks.nz
# Implement encryption (https)
# Redirect calls to http to https, as well as any calls direct to the environment
The solution is accessible at https://nodejs-in-the-cloud.dirks.nz/
My code repo is [https://github.com/VincentDirks/node.js-in-the-cloud.git node.js-in-the-cloud]
A Git repo is added to the cloudlets Deployment Manager, deployed it to the Node.js container, with settings to monitor the repo for changes, so that the updates are fetched and container restarted automatically.
Created an nginx node to configure encryption and redirects
Using the cloudlets Let's Encrypt Free SSL addon to generate certs
fetch the changed nginx conf files and add to repo and update readme there to reflect
TBD


=Technologies=
=Technologies=
Line 64: Line 87:
The free license removes the auth parts and gives everyone admin access, I will investigate restricting access to it later.
The free license removes the auth parts and gives everyone admin access, I will investigate restricting access to it later.


==Language (javascript), Runtime (Node.js), Framework (Express)==
==Language (JavaScript), Runtime (Node.js), Framework (Express)==
For now, I have better knowledge, skills, experience using these than others. I recognise that there may well be better solutions out there, but for now I will favour these because it feels more comfortable.  
For now, I have better knowledge, skills, experience using these than others. I recognise that there may well be better solutions out there, but for now I will favour these because it feels more comfortable.  


Navigation menu