From c5c7b99caa275737f8eba8307d2a0f54b84e0f40 Mon Sep 17 00:00:00 2001 From: Henrik Jess Nielsen Date: Tue, 10 Dec 2024 14:45:01 +0100 Subject: [PATCH] Initial commit --- .gitconfig | 3 + .gitea/installers/renders/README.md | 1 + .gitea/installers/renders/__init__.py | 0 .../installers/renders/project_installer.py | 61 ++++++++++++ .gitea/installers/renders/setup.py | 14 +++ .gitea/workflows/README-nomad-job.md | 88 ++++++++++++++++++ .gitea/workflows/main.yml.tmpl | 63 +++++++++++++ .gitea/workflows/nomad-job.hcl.tmpl | 60 ++++++++++++ .gitignore | 6 ++ Dockerfile | 25 +++++ README.md | 0 project-installer | Bin 0 -> 95845 bytes requirements.txt | 0 13 files changed, 321 insertions(+) create mode 100644 .gitconfig create mode 100644 .gitea/installers/renders/README.md create mode 100644 .gitea/installers/renders/__init__.py create mode 100644 .gitea/installers/renders/project_installer.py create mode 100644 .gitea/installers/renders/setup.py create mode 100644 .gitea/workflows/README-nomad-job.md create mode 100644 .gitea/workflows/main.yml.tmpl create mode 100644 .gitea/workflows/nomad-job.hcl.tmpl create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100755 project-installer create mode 100644 requirements.txt diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..6c1b572 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,3 @@ +[core] + hooksPath = .githooks + diff --git a/.gitea/installers/renders/README.md b/.gitea/installers/renders/README.md new file mode 100644 index 0000000..5e02b2f --- /dev/null +++ b/.gitea/installers/renders/README.md @@ -0,0 +1 @@ +shiv -c project-installer -o ../../../project-installer . diff --git a/.gitea/installers/renders/__init__.py b/.gitea/installers/renders/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/.gitea/installers/renders/project_installer.py b/.gitea/installers/renders/project_installer.py new file mode 100644 index 0000000..cc4b1f8 --- /dev/null +++ b/.gitea/installers/renders/project_installer.py @@ -0,0 +1,61 @@ +import os +import random +import pystache +import argparse +import re + +def render_templates(template_dir, project_name): + import pystache # Import after ensuring it's installed + + # Generate a random port number + port = random.randint(8900, 9400) + + # Mustache data (dynamic placeholders) + data = { + "PROJECT_NAME": str(project_name).lower(), + "PORT": port + } + + # Define a regex for detecting [[ ... ]] custom placeholders + pattern = re.compile(r"\[\[(.*?)\]\]") + + # Process all .tmpl files in the directory + for root, _, files in os.walk(template_dir): + for file in files: + if file.endswith(".tmpl"): + tmpl_file = os.path.join(root, file) + output_file = os.path.join(root, file.replace(".tmpl", "")) + + # Read the template file + with open(tmpl_file, 'r') as f: + template_content = f.read() + + # Replace placeholders wrapped with [[ ... ]] + def replace_placeholder(match): + key = match.group(1) + return str(data.get(key, match.group(0))) # Replace only if key exists + + rendered_content = pattern.sub(replace_placeholder, template_content) + + # Write to output file + with open(output_file, 'w') as f: + f.write(rendered_content) + print(f"Generated: {output_file}") + + +def main(): + # Parse arguments + parser = argparse.ArgumentParser(description="Render Mustache templates in a directory.") + parser.add_argument('--project-name', type=str, help='Project name (defaults to current directory name)') + parser.add_argument('--template-dir', type=str, default='.gitea/workflows', help='Template directory') + args = parser.parse_args() + + # Get the project name (current directory name if not provided) + project_name = args.project_name or os.path.basename(os.getcwd()) + + # Render templates + render_templates(args.template_dir, project_name) + +if __name__ == "__main__": + main() + diff --git a/.gitea/installers/renders/setup.py b/.gitea/installers/renders/setup.py new file mode 100644 index 0000000..67e2c1e --- /dev/null +++ b/.gitea/installers/renders/setup.py @@ -0,0 +1,14 @@ +from setuptools import setup + +setup( + name="project-installer", # Name of your package + version="0.1.0", # Version of your package + description="Project Installer Tool", # Short description + py_modules=["project_installer"], # Module(s) to include (no .py extension) + install_requires=["pystache"], # List of dependencies + entry_points={ + "console_scripts": [ + "project-installer=project_installer:main", # Entry point + ], + }, +) diff --git a/.gitea/workflows/README-nomad-job.md b/.gitea/workflows/README-nomad-job.md new file mode 100644 index 0000000..44ad95d --- /dev/null +++ b/.gitea/workflows/README-nomad-job.md @@ -0,0 +1,88 @@ + +### **Top-Level Job Configuration** +#### `job` +- **Purpose**: Defines the Nomad job. +- **Attributes**: + - `region`: Specifies the Nomad region where the job should run. [Reference: Nomad Regions](https://developer.hashicorp.com/nomad/docs/regions) + - `datacenters`: Lists the datacenters in which the job is eligible to run. [Reference: Job Placement](https://developer.hashicorp.com/nomad/docs/job-specification/datacenters) + - `type`: Defines the job type (`service` in this case). Service jobs are typically long-running. [Reference: Job Types](https://developer.hashicorp.com/nomad/docs/job-specification/job) + +--- + +### **Update Block** +#### `update` +- **Purpose**: Specifies rolling update strategy for service jobs. +- **Attributes**: + - `stagger`: Time between starting updates for each allocation. + - `max_parallel`: Number of allocations to update simultaneously. + - `progress_deadline`: Time to wait for a deployment to progress before failing. +- [Reference: Update Stanza](https://developer.hashicorp.com/nomad/docs/job-specification/update) + +--- + +### **Group Configuration** +#### `group` +- **Purpose**: Defines a group of tasks that should be placed together on the same node. +- **Attributes**: + - `count`: Number of task groups to run. +- [Reference: Task Group](https://developer.hashicorp.com/nomad/docs/job-specification/group) + +--- + +### **Network Configuration** +#### `network` +- **Purpose**: Specifies networking requirements for the task group. +- **Attributes**: + - `port`: Defines a named port mapping for the task group. + - `to`: Specifies the internal port the application listens to within the container. +- [Reference: Network Stanza](https://developer.hashicorp.com/nomad/docs/job-specification/network) + +--- + +### **Consul Integration** +#### `service` +- **Purpose**: Registers the service with Consul for discovery. +- **Attributes**: + - `provider`: Specifies the service discovery provider (`consul`). + - `name`: The name of the service in Consul. + - `port`: References the named port defined in the `network` block. + - `tags`: Metadata tags to annotate the service (e.g., for routing in Traefik). + - `check`: Defines health check parameters for the service. + - `name`: Name of the health check. + - `type`: Health check type (`tcp` in this case). + - `interval`: Frequency of the health check. + - `timeout`: Maximum duration for the health check. +- [Reference: Consul Service Stanza](https://developer.hashicorp.com/nomad/docs/job-specification/service) + +--- + +### **Task Configuration** +#### `task` +- **Purpose**: Defines a single executable unit of work. +- **Attributes**: + - `driver`: Specifies the driver (`docker` in this case). + - `config`: Driver-specific configuration. + - `image`: Docker image for the task. + - `ports`: References the named port defined in the `network` block. + - `env`: Sets environment variables for the task. + - `resources`: Specifies resource requirements for the task. + - `cpu`: CPU allocation in MHz. + - `memory`: Memory allocation in MB. +- [Reference: Task Stanza](https://developer.hashicorp.com/nomad/docs/job-specification/task) + +--- + +### **Dynamic Port Allocation** +#### `${NOMAD_PORT_}` +- **Purpose**: Refers to the dynamically allocated host port mapped to the internal container port. +- **Usage**: This is used in the `env` and `tags` sections to dynamically configure the application and Consul registration. +- [Reference: Port Variables](https://developer.hashicorp.com/nomad/docs/runtime/environment#ports) + +--- + +### **Key Takeaways** +1. This job defines a **service** that runs as a Docker container, listens on a dynamically assigned port, and registers itself in **Consul** for service discovery. +2. The `network` stanza ensures that Nomad assigns a dynamic host port, while the `${NOMAD_PORT_}` variable is used to pass this information to the container and Consul. +3. The `update` stanza ensures smooth rolling updates for the service. + +For further details and advanced configurations, refer to the [Nomad Job Specification Documentation](https://developer.hashicorp.com/nomad/docs/job-specification). \ No newline at end of file diff --git a/.gitea/workflows/main.yml.tmpl b/.gitea/workflows/main.yml.tmpl new file mode 100644 index 0000000..cce4463 --- /dev/null +++ b/.gitea/workflows/main.yml.tmpl @@ -0,0 +1,63 @@ +name: Build, Push, and Deploy to Nomad + +on: + push: + branches: + - main + +jobs: + docker-nomad: + runs-on: self-hosted + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Log in to Container Registry + run: echo ${{ secrets.password }} | docker login registry.i80.dk -u ${{ secrets.username }} --password-stdin + + - name: Build Docker Image + run: | + COMMIT_HASH=$(git rev-parse --short HEAD) + docker build -t registry.i80.dk/gitea/[[PROJECT_NAME]]:latest -t registry.i80.dk/gitea/[[PROJECT_NAME]]:${COMMIT_HASH} . + + + - name: Push Docker Image + run: | + COMMIT_HASH=$(git rev-parse --short HEAD) + echo "registry.i80.dk/gitea/[[PROJECT_NAME]]:latest" + echo "registry.i80.dk/gitea/[[PROJECT_NAME]]:${COMMIT_HASH}" + docker push registry.i80.dk/gitea/[[PROJECT_NAME]]:${COMMIT_HASH} + docker push registry.i80.dk/gitea/[[PROJECT_NAME]]:latest + + + - name: Validate Nomad Job + env: + NOMAD_ADDR: https://nomad.i80.dk + run: nomad job validate .gitea/workflows/nomad-job.hcl + + - name: Stop old deployment + env: + NOMAD_ADDR: https://nomad.i80.dk + run: nomad job stop -purge -no-shutdown-delay [[PROJECT_NAME]] + continue-on-error: true + + + - name: Apply Nomad Job + env: + NOMAD_ADDR: https://nomad.i80.dk + run: nomad job run .gitea/workflows/nomad-job.hcl + + - name: Update Nginx Configuration + run: ssh runner@nomad sudo /opt/nginx_updater/venv/bin/python3 /opt/nginx_updater/nginx_updater.py [[PROJECT_NAME]] + + - name: Update Forwarder Configuration + run: ssh runner@nomad sudo /opt/nginx_updater/venv/bin/python3 /opt/nginx_updater/update_forwarder.py [[PROJECT_NAME]] + + +# - name: Restart Nomad Job +# env: +# NOMAD_ADDR: https://nomad.i80.dk +# run: | +# nomad job stop [[PROJECT_NAME]] +# sleep 5 # Optional: Wait to ensure the old allocation is stopped +# nomad job run .gitea/workflows/nomad-job.hcl diff --git a/.gitea/workflows/nomad-job.hcl.tmpl b/.gitea/workflows/nomad-job.hcl.tmpl new file mode 100644 index 0000000..71756e0 --- /dev/null +++ b/.gitea/workflows/nomad-job.hcl.tmpl @@ -0,0 +1,60 @@ +job "[[PROJECT_NAME]]" { + region = "global" + datacenters = ["dc1"] + type = "service" + + update { + stagger = "60s" + max_parallel = 1 + progress_deadline = "6m" + } + + group "[[PROJECT_NAME]]-group" { + count = 1 + + network { + port "port-app" { + to = [[PORT]] # Internal application port + } + } + + # Register the service with Consul + service { + provider = "consul" + name = "[[PROJECT_NAME]]" + port = "port-app" + + # Traefik-specific tags for routing + tags = [ + "PORT=${NOMAD_PORT_port-app}" + ] + + # Define a health check using TCP + check { + name = "tcp_check" + type = "tcp" + interval = "10s" + timeout = "2s" + } + } + + task "[[PROJECT_NAME]]-task" { + driver = "docker" + + config { + image = "registry.i80.dk/gitea/[[PROJECT_NAME]]:latest" + ports = ["port-app"] + } + + env { + APP_ENV = "production" + PORT = "${NOMAD_PORT_port-app}" + } + + resources { + cpu = 250 + memory = 80 + } + } + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..82fef80 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.venv +.venv/* +.ídea +.idea/* +.gitea/**/build*/ + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cc33f2b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +# Base image with Python 3.11 +FROM python:3.11-slim + +# Set the working directory in the container +WORKDIR /app + +# Copy the requirements file to the working directory +COPY requirements.txt . + +# Install Python dependencies +RUN pip install --no-cache-dir -r requirements.txt + +# Copy the rest of the application code +COPY . . + +# Expose the port the app runs on (default Flask port) +EXPOSE 5000 + +# Define environment variables +ENV FLASK_APP=app.py +ENV FLASK_RUN_HOST=0.0.0.0 +ENV PORT=5000 +# Command to run the application +#CMD ["flask", "run", "--port", "${PORT}"] +CMD flask run --port ${PORT} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/project-installer b/project-installer new file mode 100755 index 0000000000000000000000000000000000000000..83e9ac0b9b0bc5ece12a73d95eb6e0a9d969371b GIT binary patch literal 95845 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 Q8u+zB3Cvvr{|yHAf9|_`^#A|> literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29