Skip to content

Bump version + update README #43

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@ It contains `junos__device_model` which tells us the Juniper model and the base
Also, it contains `junos__generated_interfaces` which contains all information to render the list of interfaces.
Furthermore, it generates a `junos__generated_routing_instances` containing all information for Junos Routing Instances.

Our Ansible playbook merges the `junos__generated*` values with the group variables and host variables to be able to do overrides and
additional, very specific config. We add e.g. ISIS addresses manually, because we haven't found a good representation in Netbox yet.
Our Ansible playbook merges the `junos__generated*` values with the group variables and host variables to be able to do
overrides and
additional, very specific config. We add e.g. ISIS addresses manually, because we haven't found a good representation in
Netbox yet.

### Device Manifest

Expand All @@ -25,12 +27,13 @@ TBD.
## Getting started

### Setup

If you are using Nix as a package manager you can start right away using the included `flake.nix` file.

For everyone else:
- Install Python3 packages listed in `requirements.txt`
- `pip3 install -r requirements.txt`

- Install Python3 packages listed in `requirements.txt`
- `pip3 install -r requirements.txt`

### Usage

Expand All @@ -52,7 +55,7 @@ export NETBOX_API_TOKEN=abc123

#### Generating Variables

Cosmo can be used by simply calling the following command to regenerate all files in geneated_variables.
Cosmo can be used by simply calling the following command to regenerate all files in `machines`.
Note: **It will only consider devices listed in `cosmo.yaml`**

```shell
Expand All @@ -64,7 +67,10 @@ Info: Generating router2
```

##### Limit Mode
We are also able to regenerate sessions/filters for one router only. This can be used, if no full rollout is neccessary. You can add a list of hosts that should be generated, calling --limit multiple times or adding multiple hostnames split by comma. If this list ist omitted, the full config is generated. This flag can be combined with fast mode.

We are also able to regenerate sessions/filters for one router only. This can be used, if no full rollout is neccessary.
You can add a list of hosts that should be generated, calling --limit multiple times or adding multiple hostnames split
by comma. If this list is omitted, the full config is generated.

```
cosmo --limit=router2
Expand All @@ -75,6 +81,7 @@ cosmo --limit=router2
+ Ember Keske
+ Johann Wagner
+ Fiona Weber
+ Lou Lecrivain

## License

Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[tool.poetry]
name = "cosmo"
version = "0.9.0"
version = "0.10.0"
license = "mit"
description = "???"
authors = ["Ember Keske <[email protected]>", "Johann Wagner <[email protected]>", "Yureka <[email protected]>", "Fiona Weber <[email protected]>"]
authors = ["Ember Keske <[email protected]>", "Johann Wagner <[email protected]>", "Yureka <[email protected]>", "Fiona Weber <[email protected]>", "Lou Lecrivain <[email protected]>"]

[tool.poetry.scripts]
cosmo = "cosmo.__main__:main"
Expand Down