{"id":37403547,"url":"https://github.com/oslokommune/okdata-maskinporten-api","last_synced_at":"2026-01-16T05:48:27.658Z","repository":{"id":37093388,"uuid":"397923795","full_name":"oslokommune/okdata-maskinporten-api","owner":"oslokommune","description":"REST API for managing clients and keys in Maskinporten and synchronization with AWS SSM","archived":false,"fork":false,"pushed_at":"2025-09-29T12:35:07.000Z","size":1255,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-29T14:37:15.822Z","etag":null,"topics":["dataplatform"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oslokommune.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-19T11:44:39.000Z","updated_at":"2025-09-29T12:35:09.000Z","dependencies_parsed_at":"2024-06-28T09:05:21.666Z","dependency_job_id":"c88d6ebc-04cd-404f-91ea-2646f5c551dc","html_url":"https://github.com/oslokommune/okdata-maskinporten-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oslokommune/okdata-maskinporten-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslokommune%2Fokdata-maskinporten-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslokommune%2Fokdata-maskinporten-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslokommune%2Fokdata-maskinporten-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslokommune%2Fokdata-maskinporten-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslokommune","download_url":"https://codeload.github.com/oslokommune/okdata-maskinporten-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslokommune%2Fokdata-maskinporten-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataplatform"],"created_at":"2026-01-16T05:48:27.561Z","updated_at":"2026-01-16T05:48:27.634Z","avatar_url":"https://github.com/oslokommune.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Okdata Maskinporten API\n==================\n\nREST API for managing clients and keys in [Maskinporten](https://samarbeid.digdir.no/maskinporten/maskinporten/25) and synchronization with AWS SSM.\n\n## Setup\n\nIn these examples, we use the default `python3` distribution on your platform.\nIf you need a specific version of python you need to run the command for that\nspecific version. Ie. for 3.8 run `python3.9 -m venv .venv` instead to get a\nvirtualenv for that version.\n\n### Installing global python dependencies\n\nYou can either install globally. This might require you to run as root (use sudo).\n\n```bash\npython3 -m pip install tox black pip-tools\n```\n\nOr, you can install for just your user. This is recommended as it does not\nrequire root/sudo, but it does require `~/.local/bin` to be added to `PATH` in\nyour `.bashrc` or similar file for your shell. Eg:\n`PATH=${HOME}/.local/bin:${PATH}`.\n\n```bash\npython3 -m pip install --user tox black pip-tools\n```\n\n\n### Installing local python dependencies in a virtualenv\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n```\n\n```bash\nmake init\n```\n\n\n## Tests\n\nTests are run using [tox](https://pypi.org/project/tox/): `make test`\n\nFor tests and linting we use [pytest](https://pypi.org/project/pytest/),\n[flake8](https://pypi.org/project/flake8/) and\n[black](https://pypi.org/project/black/).\n\n\n## Deploy\n\nDeploy to both dev and prod is automatic via GitHub Actions on push to main. You\ncan alternatively deploy from local machine with: `make deploy` or `make\ndeploy-prod`.\n\n\n## Scripts\n\nUtility scripts live in the top level `scripts` directory.\n\n### p12tob64\n\nThis script encodes a PKCS #12 certificate file into (possible multiple) Base64\nfiles where each file is at most 8192 bytes long. This is useful when preparing\na certificate file for storage in AWS SSM, as SSM parameters can't be longer\nthan 8192 bytes. Each part is stored in its own SSM parameter and they're later\nstitched together again by this API.\n\nExample usage:\n\n```bash\n./p12tob64 my-certificate.p12\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslokommune%2Fokdata-maskinporten-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslokommune%2Fokdata-maskinporten-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslokommune%2Fokdata-maskinporten-api/lists"}