Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NAME
nrepo - Repository Management
DESCRIPTION
Nrepo is designed to be an extensible repository management system
Currently it provides a basic framework and support for Yum based
repositories. Stay tuned for more!
SYNOPSIS
nrepo --action X [options]
See perldoc App::Nrepo for all valid actions and their in depth descriptions
Actions:
list List all configured repositories
mirror Mirror a repository
requires:
--repo (all|$regex|$repository_name)
optional:
--checksums
--regex (uses --repo value as a regex)
tag Tag a repository
requires:
--repo $repository_name
--tag $destination_tag
optional:
--src-tag $src_tag (defaults to 'head')
--symlink (default false)
clean Cleans a repository of unreferenced files
requires:
--repo (all|$regex|$repository_name)
optional:
--regex (uses --repo value as a regex)
init Initialise a custom repository
requires:
--repo $repository_name
add-file Add files to a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
del-file Remove files from a custom repository
requires:
--repo $repository_name
--arch $arch
--file $path_to_file (--file can be supplied multiple times)
Script Options:
--config-file Path to config-file, defaults to ./conf/nrepo.conf
--log-level Change the stdout log level (overrides config)
--help This helpful message
EXAMPLES
# Working with mirrored repos:
# Update the repository from upstream to current
nrepo --action mirror --repo centos-6-epel
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-epel --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with local repos:
# Add some packages:
nrepo --action add-file --repo centos-6-custom --arch x86_64 --file /path/to/package_foo-1.0-el6.x86_64.rpm --file /path/to/package_bar-1.0-el6.x86_64.rpm
# Tag the newly updated packages/manifests with a hard tag
nrepo --action tag --repo centos-6-custom --tag release_20150827
# Tag the hard tag with a soft tag that your clients reference
nrepo --action tag --repo centos-6-epel --src-tag release_20150827 --symlink --tag production
# Working with tags:
# Lets say upstream added broken updates you can easily roll back your production tag just by:
# --force is needed if a destination tag already exists
nrepo --action tag --repo $repo --src-tag $last_stable_releas_tag --symlink --tag production --force CONFIGURATION
Global Options
data_dir
Path to location where repository files are stored eg:
data_dir = /path/to/repo_data
include
You can use this to include other conf files or directories eg:
include /path/to/repos.conf
include /path/to/conf.d
tag_style
This determines how tag directories are done eg:
bottomdir (default) would result in a data structure like:
$data_dir/$repo_name/$tag
topdir would result in a data structure like:
$data_dir/$tag/$repo_name
log_file
Path to log output to (No default) eg:
log_file = /path/to/logfile.log
log_file_level
Log messages to log file at this level (defaults to 'info') Levels
acceptable are what Log::Dispatch supports
screen_level
Same as log_level but to STDOUT...this value can be overwritten at
runtime using --log-level Defaults to 'notice'
Global and/or repository
hard_tag_regex
This option will use the repository config value if present
otherwise the global value if present eg:
hard_tag_regex = ^release_\d{8}$
Repository Config
A repository is defined as:
<repo $reponame>
$option1 = $value1
...
$optionN = $valueN
</>
Valid options include:
type
The repository base type, ie Yum, Apt, Plain etc
local
The directory relative to $data_dir
url The url to mirror from
ca An optional ca cert file used when mirroring from upstream https (ie
like Redhats cdn network)
cert
An optional cert file used when mirroring from upstream https (ie
like Redhats cdn network)
key An optional cert key file used when mirroring from upstream https
(ie like Redhats cdn network)

About

Nrepo is a tool to manage linux software/artifact repositories

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages