nyl 0.4.0__tar.gz → 0.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nyl-0.5.1/.github/workflows/docs.yaml +38 -0
- nyl-0.5.1/.github/workflows/python.yaml +70 -0
- {nyl-0.4.0 → nyl-0.5.1}/.gitignore +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/PKG-INFO +1 -1
- nyl-0.5.1/docs/content/reference/configuration/secrets.md +152 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/configuration-api/secrets.md +5 -0
- nyl-0.5.1/flake.lock +348 -0
- nyl-0.5.1/flake.nix +113 -0
- nyl-0.5.1/nix/uv.nix +41 -0
- {nyl-0.4.0 → nyl-0.5.1}/pyproject.toml +3 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/dynamic/client.pyi +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/dynamic/discovery.pyi +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/__init__.py +55 -25
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/argocd.py +6 -4
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/crds.py +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/new.py +5 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/profile.py +6 -5
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/run.py +6 -4
- nyl-0.5.1/src/nyl/commands/secrets.py +93 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/template.py +65 -29
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/tools/__init__.py +4 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/tools/bcrypt.py +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/tools/sops.py +6 -5
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/commands/tun.py +7 -6
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/generator/components.py +3 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/generator/dispatch.py +3 -2
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/generator/dispatch_test.py +2 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/generator/helmchart.py +4 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/generator/statefulsecret.py +2 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/profiles/__init__.py +7 -8
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/profiles/config.py +3 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/profiles/kubeconfig.py +5 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/profiles/tunnel.py +4 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/project/config.py +35 -10
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/__init__.py +3 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/applyset.py +3 -2
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/placeholder.py +3 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/postprocessor_test.py +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/statefulsecret.py +1 -0
- nyl-0.5.1/src/nyl/secrets/__init__.py +77 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/secrets/config.py +23 -45
- nyl-0.5.1/src/nyl/secrets/kubernetes.py +84 -0
- nyl-0.5.1/src/nyl/secrets/null.py +22 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/secrets/sops.py +39 -6
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/secrets/sops_test.py +5 -2
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/templating.py +31 -25
- nyl-0.5.1/src/nyl/tools/di.py +84 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/fs_test.py +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/kubernetes.py +2 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/kvstore.py +3 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/logging.py +0 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/typer.py +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/yaml.py +2 -1
- {nyl-0.4.0 → nyl-0.5.1}/tests/conftest.py +1 -0
- {nyl-0.4.0 → nyl-0.5.1}/uv.lock +203 -92
- nyl-0.4.0/.github/workflows/docs.yaml +0 -36
- nyl-0.4.0/.github/workflows/python.yaml +0 -78
- nyl-0.4.0/.kraken.py +0 -5
- nyl-0.4.0/docs/content/reference/configuration/secrets.md +0 -87
- nyl-0.4.0/src/nyl/commands/secrets.py +0 -61
- nyl-0.4.0/src/nyl/secrets/__init__.py +0 -1
- nyl-0.4.0/src/nyl/secrets/null.py +0 -14
- {nyl-0.4.0 → nyl-0.5.1}/.envrc +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/.github/workflows/docker.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/README.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-cmp/Dockerfile +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-cmp/README.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-cmp/plugin.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-with-nyl/.envrc +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-with-nyl/.secrets.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-with-nyl/.sops.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-with-nyl/README.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-with-nyl/argocd.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-with-nyl/nyl-project.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/argocd-with-nyl/nyl-secrets.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/index.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/applysets.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/argocd-plugin.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/cluster-connectivity.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/configuration/environment.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/configuration/profiles.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/configuration/projects.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/configuration-api/profiles.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/glossary.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/templating/basics.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/templating/components.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/templating/inlining/helmcharts.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/templating/inlining/overview.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/templating/inlining/postprocessor.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/content/reference/templating/secrets.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/mkdocs.yml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/pyproject.toml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/docs/uv.lock +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/example/manifests/postgres.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/example/nyl-profiles.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/example/nyl-secrets.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/example/secrets.yaml +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/README.md +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/__init__.pyi +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/dynamic/__init__.pyi +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/dynamic/exceptions.pyi +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/dynamic/resource.pyi +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/watch/__init__.pyi +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/kubernetes/watch/watch.pyi +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/__init__.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/generator/__init__.py +1 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/profiles/config_test.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/applyset_test.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/helmchart.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/resources/postprocessor.py +3 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/secrets/config_test.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/templating_test.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/fs.py +2 -2
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/kubectl.py +3 -3
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/loads.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/shell.py +1 -1
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/testing.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/src/nyl/tools/types.py +0 -0
- {nyl-0.4.0 → nyl-0.5.1}/tests/__init__.py +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ develop ]
|
|
6
|
+
tags: [ '*' ]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ develop ]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
- name: Check Nix flake Nixpkgs inputs
|
|
19
|
+
uses: DeterminateSystems/flake-checker-action@main
|
|
20
|
+
- uses: cachix/install-nix-action@v25
|
|
21
|
+
with:
|
|
22
|
+
nix_path: nixpkgs=channel:nixos-unstable
|
|
23
|
+
- uses: cachix/cachix-action@v14
|
|
24
|
+
with:
|
|
25
|
+
name: mycache
|
|
26
|
+
# If you chose signing key for write access
|
|
27
|
+
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
|
28
|
+
# If you chose API tokens for write access OR if you have a private cache
|
|
29
|
+
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
30
|
+
|
|
31
|
+
- name: Build docs
|
|
32
|
+
run: nix run .#docs build
|
|
33
|
+
|
|
34
|
+
- name: Publish documentation
|
|
35
|
+
uses: peaceiris/actions-gh-pages@v4
|
|
36
|
+
with:
|
|
37
|
+
personal_token: ${{ secrets.GITHUB_TOKEN }}
|
|
38
|
+
publish_dir: ./docs/site
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
name: Python
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ develop ]
|
|
6
|
+
tags: [ '*' ]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ develop ]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
strategy:
|
|
15
|
+
matrix:
|
|
16
|
+
python-version: ["3.11", "3.12"]
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
- name: Check Nix flake Nixpkgs inputs
|
|
21
|
+
uses: DeterminateSystems/flake-checker-action@main
|
|
22
|
+
- uses: cachix/install-nix-action@v25
|
|
23
|
+
with:
|
|
24
|
+
nix_path: nixpkgs=channel:nixos-unstable
|
|
25
|
+
- uses: cachix/cachix-action@v14
|
|
26
|
+
with:
|
|
27
|
+
name: mycache
|
|
28
|
+
# If you chose signing key for write access
|
|
29
|
+
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
|
30
|
+
# If you chose API tokens for write access OR if you have a private cache
|
|
31
|
+
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
32
|
+
|
|
33
|
+
# TODO: How would I best pass the Python version to use for the test?
|
|
34
|
+
- run: nix flake check
|
|
35
|
+
|
|
36
|
+
# TODO: nix flake check won't show us test output if everything passes, but showing it is useful.
|
|
37
|
+
- run: nix run .#test
|
|
38
|
+
|
|
39
|
+
publish:
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
needs: test
|
|
42
|
+
environment: release
|
|
43
|
+
permissions:
|
|
44
|
+
id-token: write
|
|
45
|
+
if: startsWith(github.ref, 'refs/tags/') && github.event_name == 'push'
|
|
46
|
+
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/checkout@v4
|
|
49
|
+
|
|
50
|
+
- name: Get tags
|
|
51
|
+
run: git fetch --tags origin
|
|
52
|
+
|
|
53
|
+
- name: Set up Python 3.10
|
|
54
|
+
uses: actions/setup-python@v2
|
|
55
|
+
with:
|
|
56
|
+
python-version: "3.10"
|
|
57
|
+
|
|
58
|
+
- name: Bump version
|
|
59
|
+
run: sed 's/version = "0.0.0"/version = "${{ github.ref_name }}"/' -i pyproject.toml && git diff
|
|
60
|
+
|
|
61
|
+
- name: Install uv
|
|
62
|
+
run: python -m pip install uv
|
|
63
|
+
|
|
64
|
+
- name: Build dist
|
|
65
|
+
run: uv build
|
|
66
|
+
|
|
67
|
+
- name: Publish
|
|
68
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
69
|
+
with:
|
|
70
|
+
packages-dir: dist/
|
{nyl-0.4.0 → nyl-0.5.1}/PKG-INFO
RENAMED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Secrets
|
|
2
|
+
|
|
3
|
+
You can connect Nyl with various secret providers to retrieve external or encrypted data that can be used in your
|
|
4
|
+
templates. This is useful for keeping sensitive data out of your configuration files and ensuring that they are not
|
|
5
|
+
accidentally committed to a version control system.
|
|
6
|
+
|
|
7
|
+
## Configuration
|
|
8
|
+
|
|
9
|
+
Secret providers are configured in a `nyl-secrets.<ext>` file that is located in the current working directory or any of
|
|
10
|
+
its parent directories. Secret providers may also be defined in a [Project configuration file](./projects.md), though
|
|
11
|
+
the file closer to the working directory will take precedence.
|
|
12
|
+
|
|
13
|
+
There is no "global" way to define a secrets provider, as secrets are considered project-specific.
|
|
14
|
+
|
|
15
|
+
As with other configuration file types, the file extension can be `.toml`, `.yaml`, or `.json`.
|
|
16
|
+
|
|
17
|
+
The configuration contains any number of named secret providers. When not specified otherwise, Nyl will assume that the
|
|
18
|
+
provider to use is named `default`. The provider to use can be overriden by passing the corresponding CLI option to
|
|
19
|
+
respective Nyl commands or by setting the `NYL_SECRETS` environment variable.
|
|
20
|
+
|
|
21
|
+
## Inspecting secret providers
|
|
22
|
+
|
|
23
|
+
You can inspect secret providers using the `nyl secrets` command.
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
nyl secrets list List the keys for all secrets in the provider.
|
|
27
|
+
nyl secrets get <key> Get the value of a secret as JSON.
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Templating
|
|
31
|
+
|
|
32
|
+
Secrets are made available to templates using the `secrets.get()` function. The function takes a single argument, the
|
|
33
|
+
key of the secret to retrieve.
|
|
34
|
+
|
|
35
|
+
__Example__
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
apiVersion: v1
|
|
39
|
+
kind: Secret
|
|
40
|
+
metadata:
|
|
41
|
+
name: my-secret
|
|
42
|
+
type: Opaque
|
|
43
|
+
stringData:
|
|
44
|
+
password: ${{ secrets.get("my-password") }}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## CLI
|
|
48
|
+
|
|
49
|
+
The `nyl secrets` command allows you to interact with the configured secret provider(s).
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Usage: nyl secrets [OPTIONS] COMMAND [ARGS]...
|
|
53
|
+
|
|
54
|
+
Interact with the secrets providers configured in `nyl-secrets.yaml`.
|
|
55
|
+
|
|
56
|
+
╭─ Options ────────────────────────────────────────────────────────────────────╮
|
|
57
|
+
│ --provider TEXT The name of the configured secrets provider to use. │
|
|
58
|
+
│ [env var: NYL_SECRETS] │
|
|
59
|
+
│ [default: default] │
|
|
60
|
+
│ --help Show this message and exit. │
|
|
61
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
62
|
+
╭─ Commands ───────────────────────────────────────────────────────────────────╮
|
|
63
|
+
│ get Get the value of a secret as JSON. │
|
|
64
|
+
│ list List the keys for all secrets in the provider. │
|
|
65
|
+
│ set Set the value of a secret. │
|
|
66
|
+
│ unset Unset the value of a secret. │
|
|
67
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Provider: [Sops]
|
|
73
|
+
|
|
74
|
+
[Sops]: https://github.com/getsops/sops
|
|
75
|
+
|
|
76
|
+
Allows you to retrieve secrets from a [Sops] encrypted file. For a GitOps workflow, the file must be commited to the
|
|
77
|
+
same repository to ensure that Nyl has access to it when it is invoked as an ArgoCD Config Management plugin. You also
|
|
78
|
+
must have the `sops` program installed.
|
|
79
|
+
|
|
80
|
+
__Example__
|
|
81
|
+
|
|
82
|
+
=== "TOML"
|
|
83
|
+
|
|
84
|
+
```toml title="nyl-secrets.toml"
|
|
85
|
+
[default]
|
|
86
|
+
type = "sops"
|
|
87
|
+
path = "../secrets.yaml"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
=== "YAML"
|
|
91
|
+
|
|
92
|
+
```yaml title="nyl-secrets.yaml"
|
|
93
|
+
default:
|
|
94
|
+
type: sops
|
|
95
|
+
path: ../secrets.yaml
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
=== "JSON"
|
|
99
|
+
|
|
100
|
+
```toml title="nyl-secrets.json"
|
|
101
|
+
{
|
|
102
|
+
"default": {
|
|
103
|
+
"type": "sops",
|
|
104
|
+
"path": "../secrets.yaml"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The secrets will be decoded using the `sops` program, hence all the typical ways to configure Sops and how it decrypts
|
|
110
|
+
files apply. The `path` field is relative to the location of the `nyl-secrets.yaml` file.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Provider: [KubernetesSecret](https://kubernetes.io/docs/concepts/configuration/secret/)
|
|
115
|
+
|
|
116
|
+
Allows you to point to a Kubernetes Secret as a source for secrets. Since Kubernetes secret values must be strings,
|
|
117
|
+
this provider does not currently support nested keys, although it could be made possible by assuming TOML/YAML/JSON
|
|
118
|
+
format for the Kubernetes `Secret` keys in the `data` field.
|
|
119
|
+
|
|
120
|
+
The secret provider will use the same Kubernetes context that is configured in Nyl via [Profiles](./profiles.md).
|
|
121
|
+
|
|
122
|
+
__Example__
|
|
123
|
+
|
|
124
|
+
=== "TOML"
|
|
125
|
+
|
|
126
|
+
```toml title="nyl-secrets.toml"
|
|
127
|
+
[default]
|
|
128
|
+
type = "KubernetesSecret"
|
|
129
|
+
name = "nyl-secrets"
|
|
130
|
+
namespace = "default"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
=== "YAML"
|
|
134
|
+
|
|
135
|
+
```yaml title="nyl-secrets.yaml"
|
|
136
|
+
default:
|
|
137
|
+
type: KubernetesSecret
|
|
138
|
+
name: nyl-secrets
|
|
139
|
+
namespace: default
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
=== "JSON"
|
|
143
|
+
|
|
144
|
+
```toml title="nyl-secrets.json"
|
|
145
|
+
{
|
|
146
|
+
"default": {
|
|
147
|
+
"type": "KubernetesSecret",
|
|
148
|
+
"name": "nyl-secrets",
|
|
149
|
+
"namespace": "default"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
```
|
nyl-0.5.1/flake.lock
ADDED
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
{
|
|
2
|
+
"nodes": {
|
|
3
|
+
"flake-utils": {
|
|
4
|
+
"inputs": {
|
|
5
|
+
"systems": "systems"
|
|
6
|
+
},
|
|
7
|
+
"locked": {
|
|
8
|
+
"lastModified": 1726560853,
|
|
9
|
+
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
|
10
|
+
"owner": "numtide",
|
|
11
|
+
"repo": "flake-utils",
|
|
12
|
+
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
|
13
|
+
"type": "github"
|
|
14
|
+
},
|
|
15
|
+
"original": {
|
|
16
|
+
"owner": "numtide",
|
|
17
|
+
"repo": "flake-utils",
|
|
18
|
+
"type": "github"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"lix": {
|
|
22
|
+
"flake": false,
|
|
23
|
+
"locked": {
|
|
24
|
+
"lastModified": 1730846669,
|
|
25
|
+
"narHash": "sha256-HUdKD2GLudNnQm4yvakMSUhcHF2g0Nc+1QxgDwrlU90=",
|
|
26
|
+
"ref": "refs/heads/main",
|
|
27
|
+
"rev": "72292671a9e1c7600d1cc4240e717ac3bdd6cef0",
|
|
28
|
+
"revCount": 16450,
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "https://git.lix.systems/lix-project/lix.git"
|
|
31
|
+
},
|
|
32
|
+
"original": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://git.lix.systems/lix-project/lix.git"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"lix-unit": {
|
|
38
|
+
"inputs": {
|
|
39
|
+
"lix": "lix",
|
|
40
|
+
"mdbook-nixdoc": [
|
|
41
|
+
"pyproject-nix",
|
|
42
|
+
"mdbook-nixdoc"
|
|
43
|
+
],
|
|
44
|
+
"nix-github-actions": [
|
|
45
|
+
"pyproject-nix",
|
|
46
|
+
"nix-github-actions"
|
|
47
|
+
],
|
|
48
|
+
"nixpkgs": [
|
|
49
|
+
"pyproject-nix",
|
|
50
|
+
"nixpkgs"
|
|
51
|
+
],
|
|
52
|
+
"treefmt-nix": [
|
|
53
|
+
"pyproject-nix",
|
|
54
|
+
"treefmt-nix"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"locked": {
|
|
58
|
+
"lastModified": 1730863251,
|
|
59
|
+
"narHash": "sha256-NoImlilaWPAGWz/Ja0uXcagQ8UK61KEev2jFDM+vgzQ=",
|
|
60
|
+
"owner": "adisbladis",
|
|
61
|
+
"repo": "lix-unit",
|
|
62
|
+
"rev": "2893fe1a7e870a3da8a04be89ca494c1ff9c3e82",
|
|
63
|
+
"type": "github"
|
|
64
|
+
},
|
|
65
|
+
"original": {
|
|
66
|
+
"owner": "adisbladis",
|
|
67
|
+
"repo": "lix-unit",
|
|
68
|
+
"type": "github"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"lix-unit_2": {
|
|
72
|
+
"inputs": {
|
|
73
|
+
"lix": "lix_2",
|
|
74
|
+
"mdbook-nixdoc": [
|
|
75
|
+
"uv2nix",
|
|
76
|
+
"mdbook-nixdoc"
|
|
77
|
+
],
|
|
78
|
+
"nix-github-actions": [
|
|
79
|
+
"uv2nix",
|
|
80
|
+
"nix-github-actions"
|
|
81
|
+
],
|
|
82
|
+
"nixpkgs": [
|
|
83
|
+
"uv2nix",
|
|
84
|
+
"nixpkgs"
|
|
85
|
+
],
|
|
86
|
+
"treefmt-nix": [
|
|
87
|
+
"uv2nix",
|
|
88
|
+
"treefmt-nix"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"locked": {
|
|
92
|
+
"lastModified": 1730863251,
|
|
93
|
+
"narHash": "sha256-NoImlilaWPAGWz/Ja0uXcagQ8UK61KEev2jFDM+vgzQ=",
|
|
94
|
+
"owner": "adisbladis",
|
|
95
|
+
"repo": "lix-unit",
|
|
96
|
+
"rev": "2893fe1a7e870a3da8a04be89ca494c1ff9c3e82",
|
|
97
|
+
"type": "github"
|
|
98
|
+
},
|
|
99
|
+
"original": {
|
|
100
|
+
"owner": "adisbladis",
|
|
101
|
+
"repo": "lix-unit",
|
|
102
|
+
"type": "github"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"lix_2": {
|
|
106
|
+
"flake": false,
|
|
107
|
+
"locked": {
|
|
108
|
+
"lastModified": 1730846669,
|
|
109
|
+
"narHash": "sha256-HUdKD2GLudNnQm4yvakMSUhcHF2g0Nc+1QxgDwrlU90=",
|
|
110
|
+
"ref": "refs/heads/main",
|
|
111
|
+
"rev": "72292671a9e1c7600d1cc4240e717ac3bdd6cef0",
|
|
112
|
+
"revCount": 16450,
|
|
113
|
+
"type": "git",
|
|
114
|
+
"url": "https://git.lix.systems/lix-project/lix.git"
|
|
115
|
+
},
|
|
116
|
+
"original": {
|
|
117
|
+
"type": "git",
|
|
118
|
+
"url": "https://git.lix.systems/lix-project/lix.git"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"mdbook-nixdoc": {
|
|
122
|
+
"inputs": {
|
|
123
|
+
"nix-github-actions": [
|
|
124
|
+
"pyproject-nix",
|
|
125
|
+
"nix-github-actions"
|
|
126
|
+
],
|
|
127
|
+
"nixpkgs": [
|
|
128
|
+
"pyproject-nix",
|
|
129
|
+
"nixpkgs"
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
"locked": {
|
|
133
|
+
"lastModified": 1708395692,
|
|
134
|
+
"narHash": "sha256-smf0VmxGbjJDZqKvxxG3ZVqubgbVwAWG26wPo+BT/A0=",
|
|
135
|
+
"owner": "adisbladis",
|
|
136
|
+
"repo": "mdbook-nixdoc",
|
|
137
|
+
"rev": "d6a71b114b9221c0b4f20d31b81766d072cc26be",
|
|
138
|
+
"type": "github"
|
|
139
|
+
},
|
|
140
|
+
"original": {
|
|
141
|
+
"owner": "adisbladis",
|
|
142
|
+
"repo": "mdbook-nixdoc",
|
|
143
|
+
"type": "github"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"mdbook-nixdoc_2": {
|
|
147
|
+
"inputs": {
|
|
148
|
+
"nix-github-actions": [
|
|
149
|
+
"uv2nix",
|
|
150
|
+
"nix-github-actions"
|
|
151
|
+
],
|
|
152
|
+
"nixpkgs": [
|
|
153
|
+
"uv2nix",
|
|
154
|
+
"nixpkgs"
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
"locked": {
|
|
158
|
+
"lastModified": 1708395692,
|
|
159
|
+
"narHash": "sha256-smf0VmxGbjJDZqKvxxG3ZVqubgbVwAWG26wPo+BT/A0=",
|
|
160
|
+
"owner": "adisbladis",
|
|
161
|
+
"repo": "mdbook-nixdoc",
|
|
162
|
+
"rev": "d6a71b114b9221c0b4f20d31b81766d072cc26be",
|
|
163
|
+
"type": "github"
|
|
164
|
+
},
|
|
165
|
+
"original": {
|
|
166
|
+
"owner": "adisbladis",
|
|
167
|
+
"repo": "mdbook-nixdoc",
|
|
168
|
+
"type": "github"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"nix-github-actions": {
|
|
172
|
+
"inputs": {
|
|
173
|
+
"nixpkgs": [
|
|
174
|
+
"pyproject-nix",
|
|
175
|
+
"nixpkgs"
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
"locked": {
|
|
179
|
+
"lastModified": 1729742964,
|
|
180
|
+
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
|
|
181
|
+
"owner": "nix-community",
|
|
182
|
+
"repo": "nix-github-actions",
|
|
183
|
+
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
|
|
184
|
+
"type": "github"
|
|
185
|
+
},
|
|
186
|
+
"original": {
|
|
187
|
+
"owner": "nix-community",
|
|
188
|
+
"repo": "nix-github-actions",
|
|
189
|
+
"type": "github"
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"nix-github-actions_2": {
|
|
193
|
+
"inputs": {
|
|
194
|
+
"nixpkgs": [
|
|
195
|
+
"uv2nix",
|
|
196
|
+
"nixpkgs"
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
"locked": {
|
|
200
|
+
"lastModified": 1729742964,
|
|
201
|
+
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
|
|
202
|
+
"owner": "nix-community",
|
|
203
|
+
"repo": "nix-github-actions",
|
|
204
|
+
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
|
|
205
|
+
"type": "github"
|
|
206
|
+
},
|
|
207
|
+
"original": {
|
|
208
|
+
"owner": "nix-community",
|
|
209
|
+
"repo": "nix-github-actions",
|
|
210
|
+
"type": "github"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"nixpkgs": {
|
|
214
|
+
"locked": {
|
|
215
|
+
"lastModified": 1730785428,
|
|
216
|
+
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
|
217
|
+
"owner": "nixos",
|
|
218
|
+
"repo": "nixpkgs",
|
|
219
|
+
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
|
220
|
+
"type": "github"
|
|
221
|
+
},
|
|
222
|
+
"original": {
|
|
223
|
+
"owner": "nixos",
|
|
224
|
+
"ref": "nixos-unstable",
|
|
225
|
+
"repo": "nixpkgs",
|
|
226
|
+
"type": "github"
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
"pyproject-nix": {
|
|
230
|
+
"inputs": {
|
|
231
|
+
"lix-unit": "lix-unit",
|
|
232
|
+
"mdbook-nixdoc": "mdbook-nixdoc",
|
|
233
|
+
"nix-github-actions": "nix-github-actions",
|
|
234
|
+
"nixpkgs": [
|
|
235
|
+
"nixpkgs"
|
|
236
|
+
],
|
|
237
|
+
"treefmt-nix": "treefmt-nix"
|
|
238
|
+
},
|
|
239
|
+
"locked": {
|
|
240
|
+
"lastModified": 1730863432,
|
|
241
|
+
"narHash": "sha256-xn3xCNJRrveAnAodqjZj0ZQ5kbrcnpcM3zUGlygoKbc=",
|
|
242
|
+
"owner": "nix-community",
|
|
243
|
+
"repo": "pyproject.nix",
|
|
244
|
+
"rev": "d78783b228419b475002e396c2433ecc82bbc7b0",
|
|
245
|
+
"type": "github"
|
|
246
|
+
},
|
|
247
|
+
"original": {
|
|
248
|
+
"owner": "nix-community",
|
|
249
|
+
"repo": "pyproject.nix",
|
|
250
|
+
"type": "github"
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"root": {
|
|
254
|
+
"inputs": {
|
|
255
|
+
"flake-utils": "flake-utils",
|
|
256
|
+
"nixpkgs": "nixpkgs",
|
|
257
|
+
"pyproject-nix": "pyproject-nix",
|
|
258
|
+
"uv2nix": "uv2nix"
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
"systems": {
|
|
262
|
+
"locked": {
|
|
263
|
+
"lastModified": 1681028828,
|
|
264
|
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
265
|
+
"owner": "nix-systems",
|
|
266
|
+
"repo": "default",
|
|
267
|
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
268
|
+
"type": "github"
|
|
269
|
+
},
|
|
270
|
+
"original": {
|
|
271
|
+
"owner": "nix-systems",
|
|
272
|
+
"repo": "default",
|
|
273
|
+
"type": "github"
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
"treefmt-nix": {
|
|
277
|
+
"inputs": {
|
|
278
|
+
"nixpkgs": [
|
|
279
|
+
"pyproject-nix",
|
|
280
|
+
"nixpkgs"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
"locked": {
|
|
284
|
+
"lastModified": 1730321837,
|
|
285
|
+
"narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
|
|
286
|
+
"owner": "numtide",
|
|
287
|
+
"repo": "treefmt-nix",
|
|
288
|
+
"rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
|
|
289
|
+
"type": "github"
|
|
290
|
+
},
|
|
291
|
+
"original": {
|
|
292
|
+
"owner": "numtide",
|
|
293
|
+
"repo": "treefmt-nix",
|
|
294
|
+
"type": "github"
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"treefmt-nix_2": {
|
|
298
|
+
"inputs": {
|
|
299
|
+
"nixpkgs": [
|
|
300
|
+
"uv2nix",
|
|
301
|
+
"nixpkgs"
|
|
302
|
+
]
|
|
303
|
+
},
|
|
304
|
+
"locked": {
|
|
305
|
+
"lastModified": 1730321837,
|
|
306
|
+
"narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
|
|
307
|
+
"owner": "numtide",
|
|
308
|
+
"repo": "treefmt-nix",
|
|
309
|
+
"rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
|
|
310
|
+
"type": "github"
|
|
311
|
+
},
|
|
312
|
+
"original": {
|
|
313
|
+
"owner": "numtide",
|
|
314
|
+
"repo": "treefmt-nix",
|
|
315
|
+
"type": "github"
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"uv2nix": {
|
|
319
|
+
"inputs": {
|
|
320
|
+
"lix-unit": "lix-unit_2",
|
|
321
|
+
"mdbook-nixdoc": "mdbook-nixdoc_2",
|
|
322
|
+
"nix-github-actions": "nix-github-actions_2",
|
|
323
|
+
"nixpkgs": [
|
|
324
|
+
"nixpkgs"
|
|
325
|
+
],
|
|
326
|
+
"pyproject-nix": [
|
|
327
|
+
"pyproject-nix"
|
|
328
|
+
],
|
|
329
|
+
"treefmt-nix": "treefmt-nix_2"
|
|
330
|
+
},
|
|
331
|
+
"locked": {
|
|
332
|
+
"lastModified": 1730876081,
|
|
333
|
+
"narHash": "sha256-lynNnnKxF4zNlmmMtCIrmbWM7V1GPEMWrFc8MXbmVJI=",
|
|
334
|
+
"owner": "adisbladis",
|
|
335
|
+
"repo": "uv2nix",
|
|
336
|
+
"rev": "7184376b4e8fbf80dcce44f9b48cd909176dd0f4",
|
|
337
|
+
"type": "github"
|
|
338
|
+
},
|
|
339
|
+
"original": {
|
|
340
|
+
"owner": "adisbladis",
|
|
341
|
+
"repo": "uv2nix",
|
|
342
|
+
"type": "github"
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
"root": "root",
|
|
347
|
+
"version": 7
|
|
348
|
+
}
|