commit 1521c137dcfc52a5cd76cef1b31eafcf79150188 Author: vitor-aignosi Date: Tue Dec 2 10:02:19 2025 -0300 Initial commit diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..9166ba2 --- /dev/null +++ b/VERSION @@ -0,0 +1,3 @@ +1 +last_version: 0 +source_branch: SIENTIAPDE-1379 diff --git a/git-init-from-config.sh b/git-init-from-config.sh new file mode 100755 index 0000000..3344351 --- /dev/null +++ b/git-init-from-config.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +# Initializes a git repository and pushes to a remote using credentials from arguments +# +# Usage: ./git-init-from-config.sh +# +# Arguments: +# git-url - Repository URL (e.g., https://gitea.example.com/user/repo.git) +# git-user - Git username +# git-token - Git token or password +# +# The branch name will be read from the VERSION file (first line) + +set -e + +if [ "$#" -lt 3 ]; then + echo "Usage: $0 " + echo "" + echo "Arguments:" + echo " git-url - Repository URL (e.g., https://gitea.example.com/user/repo.git)" + echo " git-user - Git username" + echo " git-token - Git token or password" + exit 1 +fi + +GIT_URL="$1" +GIT_USER="$2" +GIT_TOKEN="$3" + +if [ -z "$GIT_URL" ]; then + echo "Error: git-url is required" + exit 1 +fi + +if [ -z "$GIT_USER" ]; then + echo "Error: git-user is required" + exit 1 +fi + +if [ -z "$GIT_TOKEN" ]; then + echo "Error: git-token is required" + exit 1 +fi + +if [ ! -f "VERSION" ]; then + echo "Error: VERSION file not found in current directory" + exit 1 +fi + +GIT_BRANCH=$(head -n 1 VERSION | tr -d '[:space:]') + +if [ -z "$GIT_BRANCH" ]; then + echo "Error: VERSION file is empty" + exit 1 +fi + +echo "Version detected: $GIT_BRANCH" + +if [[ "$GIT_URL" == https://* ]]; then + URL_WITHOUT_PROTOCOL="${GIT_URL#https://}" + AUTH_URL="https://${GIT_USER}:${GIT_TOKEN}@${URL_WITHOUT_PROTOCOL}" +elif [[ "$GIT_URL" == http://* ]]; then + URL_WITHOUT_PROTOCOL="${GIT_URL#http://}" + AUTH_URL="http://${GIT_USER}:${GIT_TOKEN}@${URL_WITHOUT_PROTOCOL}" +else + echo "Error: URL must start with http:// or https://" + exit 1 +fi + +echo "Initializing git repository..." +git init + +echo "Adding all files..." +git add . + +echo "Creating initial commit..." +git commit -m "Initial commit" || echo "Nothing to commit or already committed" + +echo "Setting branch to $GIT_BRANCH..." +git branch -M "$GIT_BRANCH" + +echo "Adding remote origin..." +git remote remove origin 2>/dev/null || true +git remote add origin "$AUTH_URL" + +echo "Pushing to remote..." +git push -u origin "$GIT_BRANCH" + +echo "" +echo "Done! Repository pushed to $GIT_URL on branch $GIT_BRANCH" diff --git a/index.yaml b/index.yaml new file mode 100644 index 0000000..c7aea5d --- /dev/null +++ b/index.yaml @@ -0,0 +1,4 @@ +store_name: SUSE Store +version: 1 +models: +- linear diff --git a/models/linear/__init__.py b/models/linear/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/linear/index.yaml b/models/linear/index.yaml new file mode 100644 index 0000000..8ea93ec --- /dev/null +++ b/models/linear/index.yaml @@ -0,0 +1,6 @@ +name: linear +file: linear.py +class: Linear +requirements: +- pandas +version: 0.0.1 diff --git a/models/linear/linear.py b/models/linear/linear.py new file mode 100644 index 0000000..624b15e --- /dev/null +++ b/models/linear/linear.py @@ -0,0 +1,12 @@ +from pandas import DataFrame + +from models.linear.operations import operate + + +class Linear: + def __init__(self): + self.weight = 0.2 + self.bias = 5 + + def predict(self, x: DataFrame) -> DataFrame: + return operate(x, self.weight, self.bias) diff --git a/models/linear/operations.py b/models/linear/operations.py new file mode 100644 index 0000000..3a72a57 --- /dev/null +++ b/models/linear/operations.py @@ -0,0 +1,5 @@ +from pandas import DataFrame + + +def operate(x: DataFrame, weight: float, bias: float) -> DataFrame: + return x * weight + bias diff --git a/suse-store_INSTRUCTIONS.md b/suse-store_INSTRUCTIONS.md new file mode 100644 index 0000000..350da1a --- /dev/null +++ b/suse-store_INSTRUCTIONS.md @@ -0,0 +1,36 @@ +# SUSE Store Store Package Instructions + +This archive contains the files required to use the **SUSE Store** model store. + +## Contents + +- Compressed archive: `suse-store.tar.gz` +- Base64-encoded archive: `suse-store.tar.gz.base64` +- Store directory (inside the archive): `suse-store/` +- Store metadata index: `suse-store/index.yaml` +- Individual model definitions under: `suse-store/models//` + +## How to use the tar.gz archive + +1. Make sure you have `tar` installed on your system. +2. Download or copy the file `suse-store.tar.gz` to your target machine. +3. Extract the archive: + + ```bash + tar -xzf suse-store.tar.gz + ``` + +4. After extraction, you will have a directory named `suse-store/` containing: + - The store index at `suse-store/index.yaml`. + - The selected model folders under `suse-store/models/`. + +## How to reconstruct from the base64 file + +If you only have the base64 file (`suse-store.tar.gz.base64`), you can recreate the archive with: + +```bash +base64 -d suse-store.tar.gz.base64 > suse-store.tar.gz +tar -xzf suse-store.tar.gz +``` + +The resulting directory structure will be the same as described above.